GENERATEALL

применимо:вычисляемый столбецвычисляемой таблицеMeasureвизуального вычисления

Возвращает таблицу с декартовой product между каждой строкой в таблице1and таблице, которая приводит к оценке таблицы 2 в контексте текущей строки из таблицы 1.

Синтаксис

DAX
GENERATEALL(<table1>, <table2>)

Параметры

Срок Определение
table1 Любое выражение DAX, возвращающее таблицу.
table2 Любое выражение DAX, возвращающее таблицу.

Возврат value

Таблица с декартовой product между каждой строкой в таблице1and таблицей, которая приводит к оценке таблицы 2 в контексте текущей строки из таблицы 1

Замечания

  • If вычисление таблицы 2 для текущей строки в таблице1 возвращает пустую таблицу, а текущая строка из таблицы 1 будет включена в результаты and столбцы, соответствующие столбцам таблицы 2 будет иметь значение NULL values для этой строки. Это отличается от GENERATE(), где текущая строка из таблицы 1not будет включена в результаты.

  • All имена столбцов из таблицы table1andtable2 должны отличаться or возвращается error.

  • Эта функция not поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах or правилах безопасности на уровне строк (RLS).

Пример

В следующем примере пользователь хочет сводную таблицу продаж по регионам andProduct категории для канала "Торговые посредники", например следующую таблицу:

SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName] [Продажи торговых посредников]
Европа Принадлежности $ 142,227,27
Европа Велосипеды $ 9,970,200,44
Европа Одежда $ 365,847,63
Европа Компоненты $ 2,214,440,19
NA Принадлежности
NA Велосипеды
NA Одежда
NA Компоненты
Северная Америка Принадлежности $ 379,305,15
Северная Америка Велосипеды $ 52,403,796,85
Северная Америка Одежда $ 1,281,193,26
Северная Америка Компоненты $ 8,882,848,05
Тихоокеанский Принадлежности $ 12,769,57
Тихоокеанский Велосипеды $ 710,677,75
Тихоокеанский Одежда $ 22,902,38
Тихоокеанский Компоненты $ 108,549,71

Следующая формула создает приведенную выше таблицу:

DAX
GENERATEALL(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
  1. first SUMMARIZE создает таблицу групп территорий, где каждая строка — это группа территорий, например перечисленные ниже:

    SalesTerritory[SalesTerritoryGroup]
    Северная Америка
    Европа
    Тихоокеанский
    NA
  2. second SUMMARIZE создает таблицу групп категорий Product с продажами торгового посредника для каждой группы, как показано ниже:

    ProductCategory[ProductCategoryName] [Продажи торговых посредников]
    Велосипеды $ 63,084,675,04
    Компоненты $ 11,205,837,96
    Одежда $ 1,669,943,27
    Принадлежности $ 534,301,99
  3. Однако при получении приведенной выше таблицы andevaluate таблицу в контексте каждой строки из таблицы групп территорий, вы получите разные результаты для каждой территории.