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])
)
)
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 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 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.