Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В этой статье мы разберем еще пару функций в 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».
Да, и еще один момент, в рамках распродажи до 29 ноября 2024 г. у Вас имеется возможность приобрести большой, пошаговый видеокурс «DAX — это просто» со скидкой 50% (вместо 10000, всего за 5000 руб.)
В этом видеокурсе язык DAX преподнесен как простой конструктор, состоящий из нескольких блоков, которые имеют свое определенное, конкретное предназначение. Сочетая различными способами эти блоки, Вы, при помощи конструктора формул DAX, с легкостью сможете решать любые (простые или сложные) аналитические задачи.
Итак, пользуйтесь этой возможностью, заказывайте курс «DAX — это просто» со скидкой 50% (до 29 ноября 2024 г.): узнать подробнее
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, все.
Друзья, хотите изучить полный курс по языку DAX для Power BI и Power Pivot
со скидкой 50% вместо 10000 всего за 5000 р.?
акция действует до 29 ноября
Узнать все подробности об этом курсе, а также заказать его со скидкой 50% всего за 5000 руб. Вы можете на странице курса, кликнув по кнопке ниже (до 29 ноября):
Пожалуйста, оцените статью:
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D