COUNTROWS() и DISTINCTCOUNT()
- Прежде чем читать этот блог, ознакомьтесь с блогом (E2) из этой серии, где мы устанавливаем данные для практических упражнений.
- Канал передачи данных :
- В предыдущем блоге (E4) мы узнали о функциях SUM() и COUNT() и решили некоторые практические упражнения, в этом блоге мы узнали больше о COUNTROWS() и DISTINCTCOUNT() и решили практические упражнения.
СЧЕТЧИКИ():
- Функция
COUNTROWS()
— это функция DAX, используемая для подсчета количества строк в таблице или отфильтрованной таблице. Он возвращает количество как целочисленное значение. - Солнечный налог для функции
COUNTROWS()
выглядит следующим образом:
COUNTROWS(table)
- Здесь «таблица» относится к имени таблицы или отфильтрованной таблицы, для которой вы хотите подсчитать строки.
- Допустим, у нас есть таблица «Продажи» с такими столбцами, как «Продукт», «Количество» и «Цена». Если мы хотим подсчитать общее количество строк в таблице «Продажи», мы можем использовать функцию
COUNTROWS()
следующим образом:
TotalRows = COUNTROWS(Sales)
Это выражение вернет общее количество строк в таблице «Продажи», и мы можем использовать это значение в нашем отчете Power BI или расчетах по мере необходимости.
- Кроме того, мы можем использовать функцию
COUNTROWS()
в сочетании с функциями фильтрации, такими как «FILTER()». О чем мы узнаем в следующем блоге, в этом блоге мы сосредоточимся только на CONUTROWS(), но, например:
FilteredRows = COUNTROWS(FILTER(Sales, Sales[Price] > 100))
В этом случае функция «ФИЛЬТР()» используется для создания отфильтрованной таблицы, где «Цена» больше 100, а функция COUNTROWS()
подсчитывает строки в этой отфильтрованной таблице.
- В целом, функция
COUNTROWS()
— это полезный инструмент в Power BI для подсчета строк в таблице или отфильтрованной таблице, позволяющий выполнять различные вычисления и анализ на основе подсчета строк.
Практические упражнения: COUNTROWS()
- Для этого упражнения перепишите две меры из практических упражнений 8 и 9, используя COUNTROWS() вместо COUNT(), которые мы решаем в блоге E4.
10.[Общее количество продуктов COUNTROWS версии]
- Используйте функцию COUNTROWS() для подсчета количества товаров в таблице Products.
11. [Общее количество клиентов COUNTROWS версии]
- Используйте функцию COUNTROWS() для подсчета количества клиентов в таблице Customers.
Как прошло?
- Неудивительно, что в практических упражнениях 10 и 11 вы должны получить тот же ответ, что и при COUNT(), как показано ниже.
Ответы:
Примечание. Помните, что COUNTROWS()
принимает в качестве входных данных таблицу, а не столбец.
Так в чем разница между COUNT() и COUNTROWS()?
- Функции
COUNT()
иCOUNTROWS()
в Power BI служат разным целям и используются в разных контекстах.
COUNT()
функция:
- Функция
COUNT()
— это функция агрегирования, используемая для подсчета количества непустых значений в столбце. Он обычно используется со ссылкой на столбец в качестве аргумента. - Например, если у вас есть столбец с именем «Продукт» в таблице и вы хотите подсчитать количество непустых значений в этом столбце, вы можете использовать функцию
COUNT()
следующим образом:
TotalCount = COUNT(Sales[Product])
Эта функция особенно полезна, когда вы хотите вычислить отдельные значения в столбце. Он возвращает одно значение, представляющее количество.
2. Функция COUNTROWS()
:
- Функция
COUNTROWS()
, как упоминалось ранее, используется для подсчета количества строк в таблице или отфильтрованной таблице. В качестве аргумента он принимает таблицу или отфильтрованную таблицу. - Например, если вы хотите подсчитать общее количество строк в таблице «Продажи», вы можете использовать функцию
COUNTROWS()
следующим образом:
TotalRows = COUNTROWS(Sales)
Эта функция возвращает количество строк в виде целочисленного значения. Он обычно используется для расчета общего количества строк или для подсчета строк на основе определенных условий.
Таким образом, основное различие между COUNT()
и COUNTROWS()
заключается в их использовании.
- Используйте
COUNT()
, когда вы хотите подсчитать непустые значения в столбце, часто используемом для подсчета отдельных значений. - Используйте
COUNTROWS()
, если вы хотите подсчитать количество строк в таблице или отфильтрованной таблице, что обеспечивает большую гибкость при подсчете строк на основе определенных условий или критериев.
В нашем практическом упражнении в таблице нет пустых строк, поэтому результат обоих одинаковый.
Функция DISTINCTCOUNT()
- Функция
DISTINCTCOUNT()
в Power BI — это еще одна функция агрегирования, используемая для подсчета количества уникальных значений в столбце или выражении. Он возвращает одно значение, представляющее количество уникальных или различных значений. - Синтаксис функции
DISTINCTCOUNT()
следующий:
DISTINCTCOUNT(column_or_expression)
- Здесь «Column_or_expression» относится к столбцу или выражению, для которого вы хотите подсчитать различные значения.
- Снова предположим, что у вас есть таблица с именем «Продажи» со столбцом «Продукт», который содержит несколько вхождений разных продуктов. Если вы хотите подсчитать определенное количество продуктов в столбце «Продукт», вы можете использовать функцию
DISTINCTCOUNT()
следующим образом:
DistinctProductCount = DISTINCTCOUNT(Sales[Product])
Выражение вернет количество различных продуктов в столбце «Продукт».
- Таким образом, функция
DISTINCTCOUNT()
особенно полезна, когда вы хотите вычислить количество уникальных или уникальных значений в столбце. Он устраняет повторяющиеся значения и обеспечивает подсчет только уникальных значений. - Опять же, как и
COUNTROWS()
, вы также используете функциюDISTINCTCOUNT()
в сочетании с функциями фильтрации или условиями для подсчета различных значений на основе определенных критериев. Например:
DistinctFilteredCount = DISTINCTCOUNT(FILTER(Sales, Sales[Price] > 100))
В этом случае функция FILTER()
используется для создания отфильтрованной таблицы, в которой «Цена» больше 100, а функция DISTINCTCOUNT()
подсчитывает отдельные значения в столбце «Продукт» в этой отфильтрованной таблице.
- Таким образом, функция
DISTINCTCOUNT()
в Power BI используется для подсчета количества уникальных значений в столбце или выражении. Это особенно полезно, когда вы хотите подсчитать уникальные значения и устранить дубликаты в анализе или вычислениях.
Практические упражнения: DISTINCTCOUNT()
- Чтобы попрактиковаться в использовании
DISTINCTCOUNT()
, создайте новую матрицу и поместите Customers[Occupation] в строки в матрице From Customers table и [Total Sales] в значениях, которые мы создали ранее с помощью SUM() в таблице Sales. Затем используйтеDISTINCTCOUNT()
для записи следующих тактов.
12. [Всего клиентов в версии базы данных DISTINCTCOUNT]
- Вам нужно подсчитать столбец уникальных значений в таблице Customers. Какую колонку вы будете использовать? Как узнать, какой столбец или столбцы различны? Отличается ли имя клиента? Как вы можете быть уверены?
- Ранее вы видели один из возможных способов подсчета столбца уникальных значений в таблице Customers. Теперь вам нужно написать меру, используя функцию DISTINCTCOUNT(), чтобы узнать, сколько различных клиентов содержится в таблице Customers. Когда вы закончите, добавьте показатель [Общее количество клиентов], который вы создали ранее, в матрицу. У вас должна получиться матрица, подобная приведенной ниже.
- Ты закончишь так
Как это было?
Получили ли вы тот же ответ, что и выше, в новой мере? Вы не забыли отформатировать меру во что-то практичное (например, целое число с разделителями тысяч)?
13. [Количество занятий]
- Создайте новую матрицу и поместите Customers[YearlyIncome] в строки. Затем создайте показатель [Количество занятий]. Несмотря на то, что описанием меры является «Подсчет занятости», вам необходимо использовать DISTINCTCOUNT() для подсчета значений в столбце «Занятость» в таблице «Клиенты». Не путайте с деловым языком «количество профессий» и формулу DAX. Вы хотите получить матрицу, подобную той, что показана ниже. Эту матрицу можно читать следующим образом: есть клиенты трех разных профессий с доходом 10 000 долларов, есть клиенты четырех профессий с доходом 30 000 долларов и т. д.
Примечание. В таблице справа применено условное форматирование. Следующий «Вот как» описывает, как добавить условное форматирование.
Вот как: применение условного форматирования
- Убедитесь, что у вас выбрана матрица (см. № 1 ниже).
- на панель «Формат» (см. № 2 ниже), выберите «Условное форматирование» (№ 3) и включите нужный эффект форматирования, например гистограммы (№ 4).
- Примечание. В более новой версии он меняется. Посмотрите, как это сделать в более новой версии, справа на изображениях.
Примечание. Это не единственный способ добавления условного форматирования. Вы также можете перейти к карточке «Поля» на панели «Визуализации» (см. № 1 ниже), щелкнуть стрелку раскрывающегося списка рядом с мерой, которую нужно отформатировать (№ 2), выбрать «Условное форматирование» (№ 3), а затем выбрать тип форматирования, который вы хотите (# 4).
14. [Количество стран]
- Создайте новую матрицу и поместите Territories[Group] в Rows. Напишите новую меру под названием [Количество стран], используя DISTINCTCOUNT() в столбце "Страна" в таблице "Территории". Эта матрица, как вы можете видеть ниже, показывает, сколько стран существует в каждой группе продаж.
15. [Всего клиентов, совершивших покупку]
- Создайте новую матрицу и поместите Products[SubCategory] в строки. Затем, используя DISTINCTCOUNT() для данных из таблицы Sales, создайте новую меру [TotalCustomersThatHavePurchased]. Примените условное форматирование к матрице, а затем отсортируйте столбец от большего к меньшему (нажав на заголовок столбца, который нужно отсортировать). Ниже вы можете видеть, что у Tyres and Tubes самое большое количество клиентов, которые совершили покупку хотя бы один раз.
Примечание. Показатель [Всего клиентов, которые совершили покупку] не показывает, сколько раз каждый покупатель совершал покупки. Он просто сообщает вам, сколько уникальных клиентов совершили покупку хотя бы один раз по всем данным о продажах в таблице «Продажи».
Вот как: детализировать строки в матрице
- Убедитесь, что выбрана матрица, а затем найдите столбец «Продукты [Категория]» на панели «Поля» (см. № 1 ниже).
- Перетащите столбец в зону размещения строк (#2). Не забудьте проверить наличие желтой линии, как показано ниже. Эта строка сообщает вам, куда будет перенесен столбец (выше или ниже существующего столбца).
- Перетащите столбец «Продукты [Категория]» над столбцом «Продукты [Подкатегория]», как показано стрелкой ниже.
- Обратите внимание, что в правом верхнем углу матрицы есть четыре новых значка, а также несколько значков + (плюс) слева от категорий продуктов. Кроме того, если щелкнуть правой кнопкой мыши строку категории продукта (см. № 1 ниже), в подменю теперь появятся некоторые новые элементы меню, которые ранее не отображались.
- Все эти новые значки и элементы меню предоставляют новые возможности детализации для столбцов, добавленных вами в строки. Не запутайтесь здесь; вы добавляете столбцы из таблиц в строки в своей матрице (путем наложения одного поверх другого), а затем можете выполнять детализацию.
4. Потратьте несколько минут на опробование различных режимов детализации для каждого из этих меню. Вы можете развернуть и развернуть матрицу.
5. Поместите «Календарь» [CalendarYear] в столбцы в вашей матрице и обратите внимание, как матрица снова изменится.
6. Вернитесь к настройкам условного форматирования матрицы, отключите гистограммы и включите цветовые шкалы. У вас должна получиться матрица, подобная той, что показана ниже.
Ответы: