Россия Нет

Таблицы итогов и топ значений в DAX: функции ROW и TOPN (для Power BI и Power Pivot)

 Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):


Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В этой статье мы разберем еще пару функций в DAX, которые создают таблицы, это функции ROW и TOPN в Power BI и Power Pivot.

Как и в других статьях, рассматривать все примеры мы будем в Power BI, так как в нем можно физически создавать вычисляемые таблицы в модели данных, что для демонстрации наших примеров будет очень хорошо.

В Power Pivot (Excel), к сожалению, пока вычисляемые таблицы в самой модели данных создавать нельзя. Но, тем не менее, функции ROW и TOPN там также работают, просто они создают таблицы виртуально, во время вычисления самой формулы.

Итак, переходим к разбору функций.

Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.

Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».

 

DAX функция ROW в Power BI и Power Pivot

ROW () — функция итогов. Создает таблицу из одной строки с итогами по выбранным столбцам исходной таблицы (итоги по сумме, количеству, средним значениям и так далее).

Синтаксис:

ROW (
"Имя столбца 1"; Выражение 1;
"Имя столбца 2"; Выражение 2;
"Имя столбца N"; Выражение N
)

Где:

  • «Имя столбца» — имя столбца в создаваемой новой таблице
  • Выражение — выражение агрегации для вычисления значения столбца

Пример формулы на основе DAX функции ROW.

В Power BI имеется исходная таблица «Продажи Менеджеров»:

 

Создадим новую таблицу с итогами по всем исходным столбцам: количество менеджеров, количество отделов и сумма всех продаж.

Для этого, в Power BI Desktop во вкладке «Моделирование» создадим вычисляемую таблицу по следующей формуле с участием функции ROW, которая и создаст итоги по исходным столбцам:

Итоги = 
ROW (
    "ВсегоМенеджеров"; DISTINCTCOUNT ('ПродажиМенеджеров'[Менеджер]);
    "ВсегоОтделов"; DISTINCTCOUNT ('ПродажиМенеджеров'[Отдел]);
    "ВсегоПродаж"; SUM ('ПродажиМенеджеров'[Продажи])
)

На основе этой формулы функция ROW создаст вычисляемую таблицу в модели данных Power BI, состоящую из 3 столбцов:

  • значения столбца [ВсегоМенеджеров] будут рассчитываться при помощи функции DISTINCTCOUNT, которая посчитает уникальное количество значений в исходном столбце [Менеджер]
  • тоже самое и со вторым столбцом [ВсегоОтделов]
  • значения третьего столбца [ВсегоПродаж] будут рассчитаны с помощью другой DAX функции —  SUM, которая сложит все цифровые значения из исходного столбца [Продажи], то есть, посчитает итоговую сумму всех продаж

Результатом выполнения этой формулы на основе работы DAX функции ROW, будет следующая таблица итогов:

 

DAX функция TOPN в Power BI и Power Pivot

TOPN () — создает таблицу из первых N строк исходной таблицы, с возможностью выбора столбца исходной таблицы, по которой будут выбираться первые N строк.

Синтаксис:

TOPN (N строк; 'Таблица'; [Столбец]; Порядок Сортировки)

Где:

  • N строк — число первых строк (если 0, то возвратится пустая таблица)
  • ‘Таблица’ — исходная таблица
  • [Столбец] — столбец, по которому выбирается количество N строк (необязательный параметр)
  • Порядок Сортировки — порядок сортировки выбора N строк (ASC — по возрастанию, DESC — по убыванию)

! — Результаты в самой выводимой таблице по выводу не сортируются
! — При наличии одинаковых значений в исходной таблице, в создаваемой таблице выводятся все строки с одинаковыми значениями

Пример формулы на основе DAX функции TOPN.

В Power BI имеется та же исходная таблица «Продажи Менеджеров», пример на основе которой, мы разбирали выше:

 

Создадим таблицу с топ 3 максимальными продажами. Для этого, воспользуемся функцией TOPN и напишем следующую формулу:

Топ3МаксимальныеПродажи = 
TOPN (
    3;
    'ПродажиМенеджеров';
    'ПродажиМенеджеров'[Продажи];
    DESC
)

В этой формуле первый параметр функции TOPN имеет значение 3 — то есть, выведется 3 строки.

Второй параметр описывает название исходной таблицы.

Третий параметр указывает на исходный столбец, по которому нужно будет произвести сортировку для выбора 3 строк.

Четвертый параметр содержит служебное слово DESC, которое означает сортировку выборки по убыванию.

В итоге, на основании всех указанных параметров DAX функции TOPN, создастся новая таблица из 3 строк с самыми максимальными значениями в столбце [Продажи] исходной таблицы «Продажи Менеджеров»:

 
Также, Вы можете изучить в этой статье формулу расчета ТОП-3 значений в Power BI не в вычисляемых таблицах, а динамически при помощи меры-фильтрации.

На этом, с разбором DAX функций ROW и TOPN в Power BI и Power Pivot, все.

Пожалуйста, оцените статью:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(12 голосов, в среднем: 4.7 из 5 баллов)
[Экспресс-видеокурс] Быстрый старт в языке DAX

 
 
Антон БудуевУспехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
 
 
 
 

Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
 
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.

 
Понравился материал статьи?
Избранные закладкиДобавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D

Автор статьи:
Категория: Язык функций и формул DAX для Power BI и Excel (Power Pivot)

Добавить комментарий

* Заполняя форму отправки комментария своими персональными данными (имя, email, сайт и др.), Вы автоматически подтверждаете свое согласие на обработку своих персональных данных