Condividi tramite


GENERATEALL

Si applica a:colonna calcolatatabella calcolataMeasurecalcolo visivo

Restituisce una tabella con il product cartesiano tra ogni riga di table1and la tabella risultante dalla valutazione di table2 nel contesto della riga corrente di table1.

Sintassi

GENERATEALL(<table1>, <table2>)

Parametri

Termine Definizione
table1 Qualsiasi espressione DAX che restituisce una tabella.
table2 Qualsiasi espressione DAX che restituisce una tabella.

Restituisce value

Tabella con il product cartesiano tra ogni riga di table1and la tabella risultante dalla valutazione di table2 nel contesto della riga corrente di table1

Osservazioni

  • If la valutazione di table2 per la riga corrente nella table1 restituisce una tabella vuota, la riga corrente di table1 verrà inclusa nei risultati and colonne corrispondenti a table2 avrà values null per tale riga. È diverso da GENERATE() in cui la riga corrente da table1 verrà not inclusa nei risultati.

  • All nomi di colonna di table1andtable2 devono essere diversi or viene restituito un error.

  • Questa funzione è not supportata per l'uso in modalità DirectQuery quando viene usata nelle colonne calcolate or regole di sicurezza a livello di riga.

Esempio

Nell'esempio seguente, l'utente vuole una tabella di riepilogo delle vendite per area andProduct Category per il canale Resellers, come nella tabella seguente:

SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName] [Reseller Sales]
Europa Accessoristica $ 142.227,27
Europa Biciclette $ 9.970.200,44
Europa Abbigliamento $ 365.847,63
Europa Componenti $ 2.214.440,19
NA Accessoristica
NA Biciclette
NA Abbigliamento
NA Componenti
Nord America Accessoristica $ 379.305,15
Nord America Biciclette $ 52.403.796,85
Nord America Abbigliamento $ 1.281.193,26
Nord America Componenti $ 8.882.848,05
Pacifico Accessoristica $ 12.769,57
Pacifico Biciclette $ 710.677,75
Pacifico Abbigliamento $ 22.902,38
Pacifico Componenti $ 108.549,71

La formula seguente produce la tabella precedente:

GENERATEALL(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
  1. Il firstSUMMARIZE produce una tabella di gruppi di territorio, in cui ogni riga è un gruppo di territorio, come quelli elencati di seguito:

    SalesTerritory[SalesTerritoryGroup]
    Nord America
    Europa
    Pacifico
    NA
  2. Il secondSUMMARIZE produce una tabella di gruppi di categorie Product con le vendite Reseller per ogni gruppo, come illustrato di seguito:

    ProductCategory[ProductCategoryName] [Reseller Sales]
    Biciclette $ 63.084.675,04
    Componenti $ 11.205.837.96
    Abbigliamento $ 1.669.943,27
    Accessoristica $ 534.301,99
  3. Tuttavia, quando si accetta la tabella precedente andevaluate tabella nel contesto di ogni riga della tabella gruppi di territorio, si ottengono risultati diversi per ogni territorio.