В сегодняшней статье мы поговорим о некоторых возможностях анализа данных при помощи функций SumIf() и CountIf() в дашбордах. Эти функции предоставляют возможность суммировать значения полей данных или подсчитать количество значений по условию. В этой статье мы рассмотрим применение функций в элементе Таблица, но они также могут использоваться и в других элементах дашборда, где осуществляется анализ данных. И прежде, чем перейдем к детальному рассмотрению, немного вспомним, как обрабатываются значения полей данных в дашбордах.

Анализ данных в дашбордах

Когда в элемент, в данном случае в Таблицу, добавляется колонка данных, то к значениям может применяться функция. По умолчанию, для числовых значений применяется функция суммирования, для нечисловых – функция подсчета количества значений. Речь здесь идет о полях типа Показатель (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(). В этом примере условием является значение переменной - континент, т.е. обрабатываются значения только для выбранного континента. В элементе Таблица для сравнения продублированы колонки с функциями суммирования и суммирования по условию. Различие можно увидеть в итогах таблицы.


Таким вот способом можно фильтровать данные в элементах дашборда. Следует отметить, что фильтрация с помощью функций распространяется только на определенное поле данных. В то же время, фильтр элемента или фильтр в преобразовании данных элемента распространяются на все поля этого элемента.
By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.