Анализ данных в дашбордах
Когда в элемент, в данном случае в Таблицу, добавляется колонка данных, то к значениям может применяться функция. По умолчанию, для числовых значений применяется функция суммирования, для нечисловых – функция подсчета количества значений. Речь здесь идет о полях типа Показатель (Measure). К полям типа Измерение (Dimension) функции по умолчанию не применяются. Более того, значения поля Показатель группируются по значениям поля типа Измерение. Другими словами, если список категорий – это поле Измерение, а список продуктов – Показатель, то продукты будут сгруппированы по категориям. И уже к полю со списком продуктов будет применяться одна из функций Sum, Count, Min, Max, Avg или другая. Так вот, функции SumIf() и CountIf() предоставляют возможность группировать только те значения, которые соответствуют условию.Важно!Стоит отметить, что эти функции отсутствуют в перечне основных функций поля данных, но их можно указать вручную, изменив функцию поля данных.
Анализ по условию
Условие, по которому значение будет учитываться, передается в функции SumIf() и CountIf() вторым аргументом. Если условие выполняется, значение будет суммироваться, или эта строка данных будет учитываться в общем количестве строк. Если же условие неверное, то значение игнорируется. Приведем несколько примеров анализа по условию.- Допустим, в элементе Таблица одно поле данных с наименованием продуктов, по которому подсчитывается количество продуктов. Другими словами, к значениям применяется функция Count().
В этом случае можно отфильтровать данные при помощи функции CountIf(), передав условие вторым аргументом:CountIf(Products.ProductName, Products.CategoryID == 1)
.
Тогда в результате вычисления количества, будут учитываться только те продукты, которые относятся к категории с ID равным 1. - В элементе Таблица содержится список континентов и численность их населения. Причем значения в колонке населения обработано при помощи функции Sum(). Допустим, при суммировании населения Европы не следует учитывать население United Kingdom.
Тогда, для колонки населения применим функцию SumIf(), передав условие, вторым аргументом -SumIf(Statistics.Population, Statistics.Country != "United Kingdom")
.
В результате, значения из колонки населения, у которых Country не равно United Kingdom, будут просуммированы.
Ниже представлен пример дашборда с использованием функций SumIf() и CountIf(). В этом примере условием является значение переменной - континент, т.е. обрабатываются значения только для выбранного континента. В элементе Таблица для сравнения продублированы колонки с функциями суммирования и суммирования по условию. Различие можно увидеть в итогах таблицы.
Таким вот способом можно фильтровать данные в элементах дашборда. Следует отметить, что фильтрация с помощью функций распространяется только на определенное поле данных. В то же время, фильтр элемента или фильтр в преобразовании данных элемента распространяются на все поля этого элемента.