Ler em inglês

Compartilhar via


GENERATEALL

aplica-se a:coluna calculadatabela calculadaMeasurecálculo visual

Retorna uma tabela com a product Cartesiana entre cada linha na tabela 1 and tabela resultante da avaliação tabela2 no contexto da linha atual de tabela1.

Sintaxe

DAX
GENERATEALL(<table1>, <table2>)

Parâmetros

Prazo Definição
table1 Qualquer expressão DAX que retorna uma tabela.
table2 Qualquer expressão DAX que retorna uma tabela.

Retornar value

Uma tabela com a product Cartesiana entre cada linha na tabela 1 and tabela resultante da avaliação tabela2 no contexto da linha atual de tabela1

Observações

  • a avaliação de de tabela2 para a linha atual no tabela1 retorna uma tabela vazia e, em seguida, a linha atual da da tabela 1 será incluída nos resultados colunas correspondentes a tabela2 terão nulos para essa linha. Isso é diferente de GENERATE() em que a linha atual de tabela1not será incluída nos resultados.

  • All nomes de coluna de tabela1andtabela2 devem ser diferentes or um error é retornado.

  • Essa função not tem suporte para uso no modo DirectQuery quando usada em colunas calculadas or regras de RLS (segurança em nível de linha).

Exemplo

No exemplo a seguir, o usuário deseja uma tabela de resumo das vendas por Região andProduct Categoria para o canal Revendedores, como a tabela a seguir:

SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName] [Vendas do revendedor]
Europa Acessórios R$ 142.227,27
Europa Bicicletas R$ 9.970.200,44
Europa Roupa R$ 365.847,63
Europa Componentes R$ 2.214.440,19
NA Acessórios
NA Bicicletas
NA Roupa
NA Componentes
América do Norte Acessórios R$ 379.305,15
América do Norte Bicicletas R$ 52.403.796,85
América do Norte Roupa R$ 1.281.193,26
América do Norte Componentes R$ 8.882.848,05
Pacífico Acessórios R$ 12.769,57
Pacífico Bicicletas R$ 710.677,75
Pacífico Roupa R$ 22.902,38
Pacífico Componentes R$ 108.549,71

A fórmula a seguir produz a tabela acima:

DAX
GENERATEALL(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
  1. O firstSUMMARIZE produz uma tabela de grupos de territórios, em que cada linha é um grupo de territórios, como os listados abaixo:

    SalesTerritory[SalesTerritoryGroup]
    América do Norte
    Europa
    Pacífico
    NA
  2. O secondSUMMARIZE produz uma tabela de grupos de categorias Product com as vendas do Revendedor para cada grupo, conforme mostrado abaixo:

    ProductCategory[ProductCategoryName] [Vendas do revendedor]
    Bicicletas R$ 63.084.675,04
    Componentes R$ 11.205.837,96
    Roupa R$ 1.669.943,27
    Acessórios R$ 534.301,99
  3. No entanto, quando você pega a tabela acima andevaluate a tabela no contexto de cada linha da tabela de grupos de território, obtém resultados diferentes para cada território.