Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
 
- 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 функций, которые также создают сводные таблицы, но с некоторыми отличиями.
 
Пожалуйста, оцените статью:
![Нажмите на ссылку, чтобы записаться в экспресс-курс по DAX [Экспресс-видеокурс] Быстрый старт в языке DAX](https://biprosto.ru/wp-content/uploads/2018/08/kurs-free-5.png)
Успехов Вам, друзья!С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D
   
 Создание таблиц из пересечений строк: DAX функции GENERATE, GENERATEALL и CROSSJOIN в Power BI и Power Pivot
 Как в Power BI (Power Pivot) вывести найденный текст? DAX функции LEFT, RIGHT и MID
 Функции времени в DAX: TIME, TIMEVALUE, HOUR, MINUTE, SECOND и NOW в Power BI и Power Pivot