Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
- DAX функции COUNT, COUNTA, COUNTX и COUNTAX
- DAX функция COUNTBLANK
- DAX функция DISTINCTCOUNT или DISTINCT COUNT
- DAX функция COUNTROWS
- COUNT и другие функции (CALCULATE, FILTER, IF)
- Подробное ВИДЕО «DAX функции COUNT (A, X, AX), COUNTBLANK, DISTINCTCOUNT, COUNTROWS для Power BI (Pivot)»
Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В данной статье мы рассмотрим функции DAX из так называемой группы COUNT, отвечающей за подсчет количества значений, ячеек или строк при составлении формул в Power BI и Excel (Powerpivot).
И это функции COUNT, COUNTA, COUNTX, COUNTAX, COUNTBLANK, DISTINCTCOUNT и COUNTROWS, входящие в категорию статистических функций агрегирования DAX.
Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.
Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».
Да, и еще один момент, в рамках распродажи до 29 ноября 2024 г. у Вас имеется возможность приобрести большой, пошаговый видеокурс «DAX — это просто» со скидкой 50% (вместо 10000, всего за 5000 руб.)
В этом видеокурсе язык DAX преподнесен как простой конструктор, состоящий из нескольких блоков, которые имеют свое определенное, конкретное предназначение. Сочетая различными способами эти блоки, Вы, при помощи конструктора формул DAX, с легкостью сможете решать любые (простые или сложные) аналитические задачи.
Итак, пользуйтесь этой возможностью, заказывайте курс «DAX — это просто» со скидкой 50% (до 29 ноября 2024 г.): узнать подробнее
DAX функции COUNT, COUNTA, COUNTX и COUNTAX в Power BI и Power Pivot
Итак, все эти функции COUNT, COUNTA, COUNTX и COUNTAX — отвечают за подсчет количества ячеек в Power BI и Power Pivot, но содержание ячеек в каждом из этих вариантов различается.
- COUNT () — подсчитывает в столбце количество ячеек, которые содержат в себе числовое значение. В качестве числового значения признаются числа, даты и число, записанное в текстовом типе данных. Если в строке учитываемых значений нет, то функция выдаст 0. Если в таблице отсутствуют строки, то COUNT выдаст пустое значение.Синтаксис: COUNT ([Столбец])
- COUNTA () — подсчитывает непустые ячейки в столбце. То есть, количество тех ячеек, которые в себе содержат хоть какое-то значение: числа, даты, любой текст или значения логического типа.Синтаксис: COUNTA ([Столбец])
- COUNTX () — подсчитывает количество строк, содержащие в себе числовое значение, получившееся в результате построчного выполнения выражения. В качестве числового значения признаются числа, даты и число, записанное в текстовом типе данных.Синтаксис: COUNTX (‘Таблица’; Выражение), где:
- ‘Таблица’ — исходная таблица или табличное выражение, по строкам которой будет вычисляться выражение из второго параметра функции
- Выражение — любое выражение, которое необходимо выполнить по строкам таблицы, входящей в первый параметр функции
После вычисления выражения по каждой строке таблицы, на основе получившихся построчных результатов, COUNTX подсчитывает количество тех самых числовых значений.
- COUNTAX () — работает точно также, как и функция выше COUNTX, но в данном случае уже на основе получившихся построчных результатов, COUNTAX подсчитывает непустые значения (числа, даты, текст, значения логического типа)Синтаксис: COUNTAX (‘Таблица’; Выражение)
Пример формулы: в Power BI имеется простейшая таблица, состоящая из 1 столбца, в строках которого содержатся значения чисел, даты и текста:
Записав следующую DAX формулу с участием COUNTAX ():
Подсчет = COUNTAX('Таблица'; "Значение = " & 'Таблица'[Столбец1])
В качестве результата получим количество = 5
Почему? Потому что, COUNTAX сначала выполнит выражение из второго параметра по каждой строке таблицы, входящей в первый параметр и создаст некую виртуальную таблицу с получившимися результатами:
В получившихся результатах везде будут текстовые значения, потому что DAX при работе оператора сложения текста & — все другие типы данных автоматически преобразует в текстовые.
А так как COUNTAX подсчитывает ячейки с любыми типами значений, в том числе и с текстовым типом, то в итоге возвращает количество, равное 5.
DAX функция COUNTBLANK в Power BI и Power Pivot
COUNTBLANK () — подсчитывает количество пустых ячеек в столбце.
Синтаксис: COUNTBLANK ([Столбец])
Пример: имеется таблица с одним столбцом, содержащая не только разные типы данных (числа, текст, даты), но и пустые ячейки:
Если мы составим следующую формулу с участием COUNTBLANK:
Подсчет = COUNTBLANK('Таблица'[Столбец1])
То COUNTBLANK вернет ответ: количество пустых ячеек = 2
DAX функция DISTINCTCOUNT или DISTINCT COUNT в Power BI и Power Pivot
Данную функцию почему-то очень часто называют неправильно, в два слова DISTINCT COUNT, хотя правильно писать в одно единое слово DISTINCTCOUNT.
Итак, DISTINCTCOUNT () — подсчитывает количество уникальных значений ячеек в столбце
Синтаксис: DISTINCTCOUNT ([Столбец])
Пример: имеется таблица, где в одном из столбцов перечисляются менеджеры:
Если мы подсчитаем количество уникальных фамилий менеджеров при помощи следующей формулы:
Подсчет = DISTINCTCOUNT ('Таблица'[Менеджеры])
То ответ будет таким: количество уникальных фамилий менеджеров = 3
DAX функция COUNTROWS в Power BI и Power Pivot
COUNTROWS () — часто используемая на практике функция, которая подсчитывает количество строк в таблице.
Синтаксис: COUNTROWS (‘Таблица’)
Пример: если мы подсчитаем количество строк в таблице «Менеджеры» из примера выше, то COUNTROWS выдаст ответ 4 строки.
COUNT и другие функции (CALCULATE, FILTER, IF)
Функции группы COUNT (подсчет количества) сами по себе используются довольно редко, обычно они нужны для каких-либо промежуточных вычислений в партнерстве с другими функциями. Например, функции группы COUNT используются совместно с CALCULATE, FILTER, с условиями «если» IF и другими функциями DAX.
Ну, как пример, можно подсчитать количество строк в таблице после применения фильтра функции FILTER:
Подсчет = COUNTROWS( FILTER( 'ОбщиеПродажи'; 'ОбщиеПродажи'[Отдел] = "Первый отдел" ) )
Или после изменения фильтра при использовании CALCULATE:
Подсчет = CALCULATE( COUNTROWS('ОбщиеПродажи'); 'ОбщиеПродажи'[Отдел] = "Первый отдел" )
На этом, по функциям группы COUNT в Power BI и Power Pivot в данной статье, все.
Подробное ВИДЕО «DAX функции COUNT (A, X, AX), COUNTBLANK, DISTINCTCOUNT, COUNTROWS для Power BI (Pivot)»
Ссылки из видео:
1) [Регистрируйтесь в бесплатном экспресс курсе] Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot: зарегистрироваться
2) [Скачивайте PDF] Справочник DAX функций для Power BI и Power Pivot на русском языке: скачать
Друзья, хотите изучить полный курс по языку DAX для Power BI и Power Pivot
со скидкой 50% вместо 10000 всего за 5000 р.?
акция действует до 29 ноября
Узнать все подробности об этом курсе, а также заказать его со скидкой 50% всего за 5000 руб. Вы можете на странице курса, кликнув по кнопке ниже (до 29 ноября):
Пожалуйста, оцените статью:
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D
спасибо!
Антон, добрый день! Спасибо за отличную статью. А не подскажете формулу с помощью которой можно было бы получить следующий результат. Имеем три столбца:
Дата Обращение Имя
10.08.2018 3678378 Дима
10.08.2018 3678379 Петя
10.08.2018 3678381 Петя
10.08.2018 3678382 Дима
10.08.2018 3678387 Вова
10.08.2018 3678390 Дима
10.08.2018 3678398 Вова
Нужно добавить четвертый, где был бы посчитан порядковый номер обращения в отдельности по каждому имени, а именно вот такой результат:
Дата Обращение Имя Порядковый номер
10.08.2018 3678378 Дима 1
10.08.2018 3678379 Петя 1
10.08.2018 3678381 Петя 2
10.08.2018 3678382 Дима 2
10.08.2018 3678387 Вова 1
10.08.2018 3678390 Дима 3
10.08.2018 3678398 Вова 2
Роман, здравствуйте.
Формула будет такой, с участием DAX функций EARLIER и FILTER: