GENERATEALLGENERATEALL

Returnerar en tabell med kartesiansk produkt mellan varje rad i table1 och tabellen som resulteras från utvärdering av table2 i kontexten för den aktuella raden från table1.Returns a table with the Cartesian product between each row in table1 and the table that results from evaluating table2 in the context of the current row from table1.

SyntaxSyntax

GENERATEALL(<table1>, <table2>)  

ParametrarParameters

PeriodTerm DefinitionDefinition
table1table1 Ett DAX-uttryck som returnerar en tabell.Any DAX expression that returns a table.
table2table2 Ett DAX-uttryck som returnerar en tabell.Any DAX expression that returns a table.

ReturvärdeReturn value

En tabell med den kartesiska produkten mellan varje rad i table1 och den tabell som är resultatet från utvärderingen av table2 i kontexten för den aktuella raden från table1A table with the Cartesian product between each row in table1 and the table that results from evaluating table2 in the context of the current row from table1

AnmärkningarRemarks

  • Om utvärderingen av table2 för den aktuella raden i table1 returnerar en tom tabell, inkluderas den aktuella raden från table1 i resultatet och kolumnerna som motsvarar table2 innehåller nullvärden för raden.If the evaluation of table2 for the current row in table1 returns an empty table, then the current row from table1 will be included in the results and columns corresponding to table2 will have null values for that row. Detta skiljer sig från GENERATE() där den aktuella raden från table1***inte* tas med i resultaten.This is different than GENERATE() where the current row from table1 will not be included in the results.

  • Alla kolumnnamn från table1 och table2 måste vara olika, annars returneras ett fel.All column names from table1 and table2 must be different or an error is returned.

  • Den här funktionen kan inte användas i DirectQuery-läge när den används i beräknade kolumner eller regler för säkerhet på radnivå (RLS).This function is not supported for use in DirectQuery mode when used in calculated columns or row-level security (RLS) rules.

ExempelExample

I följande exempel vill användaren ha en sammanfattningstabell för försäljningen per region och produktkategori för återförsäljarkanalen, liknande följande tabell:In the following example, the user wants a summary table of the sales by Region and Product Category for the Resellers channel, like the following table:

SalesTerritory[SalesTerritoryGroup]SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName]ProductCategory[ProductCategoryName] [Reseller Sales][Reseller Sales]
EuropaEurope TillbehörAccessories USD 142 227,27$ 142,227.27
EuropaEurope CyklarBikes USD 9 970 200,44$ 9,970,200.44
EuropaEurope ClothingClothing USD 365 847,63$ 365,847.63
EuropaEurope KomponenterComponents USD 2 214 440,19$ 2,214,440.19
Ej tillämpligtNA TillbehörAccessories
Ej tillämpligtNA CyklarBikes
Ej tillämpligtNA ClothingClothing
Ej tillämpligtNA KomponenterComponents
NordamerikaNorth America TillbehörAccessories USD 379 305,15$ 379,305.15
NordamerikaNorth America CyklarBikes USD 52 403 796,85$ 52,403,796.85
NordamerikaNorth America ClothingClothing USD 1 281 193,26$ 1,281,193.26
NordamerikaNorth America KomponenterComponents USD 8 882 848,05$ 8,882,848.05
StillahavsområdetPacific TillbehörAccessories USD 12 769,57$ 12,769.57
StillahavsområdetPacific CyklarBikes USD 710 677,75$ 710,677.75
StillahavsområdetPacific ClothingClothing USD 22 902,38$ 22,902.38
StillahavsområdetPacific KomponenterComponents USD 108 549,71$ 108,549.71

Följande formel genererar tabellen ovan:The following formula produces the above table:

GENERATEALL(  
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])  
,SUMMARIZE(ProductCategory
, [ProductCategoryName]  
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])  
)  
)  
  1. Den första SUMMARIZE skapar en tabell med områdesgrupper, där varje rad är en områdesgrupp, liknande de som visas nedan:The first SUMMARIZE produces a table of territory groups, where each row is a territory group, like those listed below:

    SalesTerritory[SalesTerritoryGroup]SalesTerritory[SalesTerritoryGroup]
    NordamerikaNorth America
    EuropaEurope
    StillahavsområdetPacific
    Ej tillämpligtNA
  2. Den andra SUMMARIZE skapar en tabell av produktkategorigrupper med återförsäljarförsäljning för varje grupp, som visas nedan:The second SUMMARIZE produces a table of Product Category groups with the Reseller sales for each group, as shown below:

    ProductCategory[ProductCategoryName]ProductCategory[ProductCategoryName] [Reseller Sales][Reseller Sales]
    CyklarBikes $ 63 084 675,04$ 63,084,675.04
    KomponenterComponents $ 11 205 837,96$ 11,205,837.96
    ClothingClothing $ 1 669 943,27$ 1,669,943.27
    TillbehörAccessories USD 534 301,99$ 534,301.99
  3. Men när du tar tabellen ovan och utvärderar tabellen enligt kontexten för varje rad från tabellen med områdesgrupper, får du olika resultat för varje område.However, when you take the above table and evaluate the table under the context of each row from the territory groups table, you obtain different results for each territory.