COUNTROWS() и DISTINCTCOUNT()

  • Прежде чем читать этот блог, ознакомьтесь с блогом (E2) из ​​этой серии, где мы устанавливаем данные для практических упражнений.
  • Канал передачи данных :

https://docs.google.com/spreadsheets/d/1bi6X2nne73UZS2jkhFdJ4KYOKFH9eBxP/edit?usp=share_link&ouid=110957562202549027138&rtpof=true&sd=true

  • В предыдущем блоге (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 служат разным целям и используются в разных контекстах.
  1. 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. Убедитесь, что у вас выбрана матрица (см. № 1 ниже).
  2. на панель «Формат» (см. № 2 ниже), выберите «Условное форматирование» (№ 3) и включите нужный эффект форматирования, например гистограммы (№ 4).
  3. Примечание. В более новой версии он меняется. Посмотрите, как это сделать в более новой версии, справа на изображениях.

Примечание. Это не единственный способ добавления условного форматирования. Вы также можете перейти к карточке «Поля» на панели «Визуализации» (см. № 1 ниже), щелкнуть стрелку раскрывающегося списка рядом с мерой, которую нужно отформатировать (№ 2), выбрать «Условное форматирование» (№ 3), а затем выбрать тип форматирования, который вы хотите (# 4).

14. [Количество стран]

  • Создайте новую матрицу и поместите Territories[Group] в Rows. Напишите новую меру под названием [Количество стран], используя DISTINCTCOUNT() в столбце "Страна" в таблице "Территории". Эта матрица, как вы можете видеть ниже, показывает, сколько стран существует в каждой группе продаж.

15. [Всего клиентов, совершивших покупку]

  • Создайте новую матрицу и поместите Products[SubCategory] в строки. Затем, используя DISTINCTCOUNT() для данных из таблицы Sales, создайте новую меру [TotalCustomersThatHavePurchased]. Примените условное форматирование к матрице, а затем отсортируйте столбец от большего к меньшему (нажав на заголовок столбца, который нужно отсортировать). Ниже вы можете видеть, что у Tyres and Tubes самое большое количество клиентов, которые совершили покупку хотя бы один раз.

Примечание. Показатель [Всего клиентов, которые совершили покупку] не показывает, сколько раз каждый покупатель совершал покупки. Он просто сообщает вам, сколько уникальных клиентов совершили покупку хотя бы один раз по всем данным о продажах в таблице «Продажи».

Вот как: детализировать строки в матрице

  1. Убедитесь, что выбрана матрица, а затем найдите столбец «Продукты [Категория]» на панели «Поля» (см. № 1 ниже).
  2. Перетащите столбец в зону размещения строк (#2). Не забудьте проверить наличие желтой линии, как показано ниже. Эта строка сообщает вам, куда будет перенесен столбец (выше или ниже существующего столбца).
  3. Перетащите столбец «Продукты [Категория]» над столбцом «Продукты [Подкатегория]», как показано стрелкой ниже.

  • Обратите внимание, что в правом верхнем углу матрицы есть четыре новых значка, а также несколько значков + (плюс) слева от категорий продуктов. Кроме того, если щелкнуть правой кнопкой мыши строку категории продукта (см. № 1 ниже), в подменю теперь появятся некоторые новые элементы меню, которые ранее не отображались.

  • Все эти новые значки и элементы меню предоставляют новые возможности детализации для столбцов, добавленных вами в строки. Не запутайтесь здесь; вы добавляете столбцы из таблиц в строки в своей матрице (путем наложения одного поверх другого), а затем можете выполнять детализацию.

4. Потратьте несколько минут на опробование различных режимов детализации для каждого из этих меню. Вы можете развернуть и развернуть матрицу.

5. Поместите «Календарь» [CalendarYear] в столбцы в вашей матрице и обратите внимание, как матрица снова изменится.

6. Вернитесь к настройкам условного форматирования матрицы, отключите гистограммы и включите цветовые шкалы. У вас должна получиться матрица, подобная той, что показана ниже.

Ответы: