/
SUMMARIZE

SUMMARIZE

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

При использовании в связке с REMOVEFILTERS восстанавливает фильтрацию по колонкам, которые были отменены в REMOVEFILTERS.

Синтаксис

SUMMARIZE ( <Table> [, <GroupBy_ColumnName> [, … ] ] )

где

  • <Table> – таблица, из которой нужно взять данные.

  • <groupBy_columnName> – один или несколько столбцов, по которым будут группироваться данные.

Пример 1

Представьте, что вы хотите проанализировать общую сумму продаж за определенный период времени, игнорируя фильтры по товарам, но группируя данные по цвету товара. Для этой цели можно воспользоваться следующей формулой:

Объем продаж (группировка по цвету) = CALCULATE ( SUM ( factonlinesales[salesamount] ), REMOVEFILTERS ( dimproduct ), SUMMARIZE ( dimproduct, dimproduct[colorname] ) )

где

  • SUM(factonlinesales[salesamount]) – суммирует значения столбца salesamount из таблицы factonlinesales.

  • REMOVEFILTERS(dimproduct) – удаляет все фильтры, примененные к таблице dimproduct, чтобы обеспечить корректный расчет суммы для всех товаров независимо от текущих фильтров.

  • SUMMARIZE(dimproduct, dimproduct[colorname]) – создает сводную таблицу, группируя данные по полю colorname из таблицы dimproduct. Это позволяет суммировать продажи отдельно для каждого цвета.

Пример 2

Допустим, у вас есть таблица продаж sales (продажи), а также таблицы измерений calendar (календарь) и store (магазин):

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

Индикатор максимальных продаж = SUMX ( SUMMARIZE ( sales, sales[storekey] ), CALCULATE (IF ( SUM ( sales[orderamount] ) > 50000000, 1, 0 ) ) )

где

  • SUMMARIZE ( sales, salesstorekey ) – создает новую таблицу, которая содержит уникальные ключи магазинов (storekey) из таблицы sales. Это значит, что мы создаем список всех магазинов, представленных в данных о продажах, без дублирования магазинов.

  • SUMX – функция агрегирования, которая проходит по каждой строке полученной таблицы из предыдущего шага и выполняет вычисление, заданное внутри нее.

  • CALCULATE (IF ( SUM ( salesorderamount ) > 50000000, 1, 0 ) ) – для каждого магазина функция CALCULATE суммирует значения orderamount (сумма заказов) и проверяет, превышает ли эта сумма 50 миллионов. Если превышает, то возвращается 1 (означая, что магазин соответствует критерию), в противном случае – 0.

Это может быть полезно для бизнес-анализа, чтобы определить ключевые магазины с самыми высокими объемами продаж.


Смотрите также

Моделирование данных с помощью DAX
Поддерживаемые функции DAX
Математические операторы

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.

 

Related content