Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
- DAX функция SUMMARIZE в Power BI и Power Pivot
- Пример использования DAX функции SUMMARIZE
- Дополнительные параметры SUMMARIZE — ROLLUP и ROLLUPGROUP
Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В данной статье мы рассмотрим одну из нескольких функций в DAX, способных внутри самого кода создавать сводные таблицы в Power BI и Power Pivot — это функция SUMMARIZE.
Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.
Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».
DAX функция SUMMARIZE в Power BI и Power Pivot
SUMMARIZE () — создает сводную таблицу с агрегированными итогами по выбранным группам.
Синтаксис:
SUMMARIZE ( 'Таблица'; [Столбец 1]; [Столбец 2]; ...; [Столбец N]; "Имя столбца 1"; Выражение 1; "Имя столбца 2"; Выражение 2; ...; ...; "Имя столбца N"; Выражение N )
Где:
- ‘Таблица’ — исходная существующая таблица или выражение, возвращающее таблицу, значения которой мы хотим сгруппировать
- [Столбец] — столбец для группировки
- «Имя столбца» — имя создаваемого столбца для значений группировки
- Выражение — вычисляемое выражение для значений группировки
Пример использования DAX функции SUMMARIZE
Пример формулы на основе работы SUMMARIZE мы будем рассматривать в Power BI. Так как сводную таблицу мы будем создавать в физической модели данных, а это возможно только в Power BI.
В Excel (Power Pivot) создавать вычисляемые таблицы в модели данных, к сожалению, нельзя. Поэтому SUMMARIZE там создает сводные таблицы только виртуально, во время непосредственного вычисления формулы.
Итак, в Power BI Desktop у нас имеется исходная таблица «Продажи Менеджеров», где каждая строка соответствует конкретной продаже:
В Power BI Desktop во вкладке «Моделирование» создадим в модели данных вычисляемую сводную таблицу при помощи DAX формулы с участием рассматриваемой функции SUMMARIZE:
Сводные Продажи По Менеджерам = SUMMARIZE ( 'ПродажиМенеджеров'; 'ПродажиМенеджеров'[Менеджер]; "СводныеПродажи"; SUM('ПродажиМенеджеров'[Продажи]) )
Где, в качестве первого параметра мы указали исходную таблицу «Продажи Менеджеров», значения которой мы хотим сгруппировать.
В качестве второго параметра мы прописали тот столбец, по которому будет происходить группировка значений.
В третьем параметре мы указали имя создаваемого столбца, в котором расположатся агрегированные значения.
Ну и, в четвертом параметре само выражение агрегации на основе DAX функции SUM.
То есть, сводная таблица, создаваемая функцией SUMMARIZE, будет состоять из столбца с категорией [Менеджер], по которой сводится информация и из нового столбца [Сводные Продажи], где будут размещены значения агрегации (сумма продаж по менеджерам):
Также, у рассматриваемой функции имеются еще и дополнительные параметры, рассмотрим их ниже.
Дополнительные параметры SUMMARIZE — ROLLUP и ROLLUPGROUP
Если мы столбцы для группировки, указанные в параметрах, дополнительно обернем в синтаксическое выражение ROLLUP (ROLLUPGROUP ([Столбец]), то в добавок к сводным агрегационным значениям мы еще получим итоги по группам.
Синтаксис:
SUMMARIZE ( 'Таблица'; ROLLUP ( ROLLUPGROUP ([Столбец 1]; [Столбец 2]; ...; [Столбец N])); "Имя столбца 1"; Выражение 1; "Имя столбца 2"; Выражение 2; ...; ...; "Имя столбца N"; Выражение N )
Рассмотрим пример формулы с использованием ROLLUP (ROLLUPGROUP ()).
В Power BI имеется исходная таблица «Продажи Менеджеров»:
При помощи SUMMARIZE создадим новую сводную таблицу, только теперь, в качестве столбцов, по которым будем группировать агрегированные значения, мы укажем 2 столбца [Отдел] и [Менеджер].
А также, при помощи дополнительных параметров ROLLUP и ROLLUPGROUP, подведем общий итог по получившимся агрегированным значениям. Ниже код этой формулы:
Сводные Продажи По Менеджерам = SUMMARIZE ( 'ПродажиМенеджеров'; ROLLUP ( ROLLUPGROUP ('ПродажиМенеджеров'[Отдел]; 'ПродажиМенеджеров'[Менеджер])); "СводныеПродажи"; SUM('ПродажиМенеджеров'[Продажи]) )
Результатом выполнения выше приведенной формулы будет сводная таблица с подведением общего итога:
На этом, с разбором DAX функции SUMMARIZE в Power BI и Power Pivot, в этой статье все. В следующей статье мы рассмотрим еще несколько DAX функций, которые также создают сводные таблицы, но с некоторыми отличиями.
Пожалуйста, оцените статью:
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D