GENERATE
Si applica a:Calcolo visivo misuratabella calcolata colonnacalcolata
Restituisce una tabella con il prodotto cartesiano tra ogni riga nel parametro table1 e la tabella risultante dalla valutazione del parametro table2 nel contesto della riga corrente dal parametro table1.
Sintassi
GENERATE(<table1>, <table2>)
Parametri
Termine | Definizione |
---|---|
table1 | Qualsiasi espressione DAX che restituisce una tabella. |
table2 | Qualsiasi espressione DAX che restituisce una tabella. |
Valore restituito
Tabella con il prodotto cartesiano tra ogni riga nel parametro table1 e la tabella risultante dalla valutazione del parametro table2 nel contesto della riga corrente dal parametro table1.
Osservazioni:
Se la valutazione del parametro table2 per la riga corrente nel parametro table1 restituisce una tabella vuota, la tabella dei risultati non conterrà la riga corrente dal parametro table1. Questo comportamento è diverso da GENERATEALL(), in cui la riga corrente da table1 sarà inclusa nei risultati e le colonne corrispondenti a table2 conterranno valori Null per questa riga.
Tutti i nomi di colonna di table1 e table2 devono essere diversi, altrimenti viene restituito un errore.
Questa funzione non è supportata per l'uso nella modalità DirectQuery se usata in colonne calcolate o nelle regole di sicurezza a livello di riga.
Esempio
Nell'esempio seguente l'utente vuole una tabella di riepilogo delle vendite per area geografica e categoria prodotto per il canale dei rivenditori, come la tabella seguente:
SalesTerritory[SalesTerritoryGroup] | ProductCategory[ProductCategoryName] | [Reseller Sales] |
---|---|---|
Europa | Accessori | $ 142.227,27 |
Europa | Bikes | $ 9.970.200,44 |
Europa | Clothing | $ 365.847,63 |
Europa | Componenti | $ 2.214.440,19 |
America del Nord | Accessori | $ 379.305,15 |
America del Nord | Bikes | $ 52.403.796,85 |
America del Nord | Clothing | $ 1.281.193,26 |
America del Nord | Componenti | $ 8.882.848,05 |
Pacifico | Accessori | $ 12.769,57 |
Pacifico | Bikes | $ 710.677,75 |
Pacifico | Clothing | $ 22.902,38 |
Pacifico | Componenti | $ 108.549,71 |
La formula seguente produce la tabella riportata sopra:
GENERATE(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
La prima istruzione SUMMARIZE,
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
, produce una tabella di gruppi territorio in cui ogni riga è un gruppo territorio, come illustrato di seguito:SalesTerritory[SalesTerritoryGroup] America del Nord Europa Pacifico N/D La seconda istruzione SUMMARIZE,
SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))
, produce una tabella di gruppi di categoria prodotto con le vendite del rivenditore per ogni gruppo, come illustrato di seguito:ProductCategory[ProductCategoryName] [Reseller Sales] Bikes $ 63.084.675,04 Componenti $ 11.205.837,96 Clothing $ 1.669.943,27 Accessori $ 534.301,99 Tuttavia, quando si prende la tabella precedente e la si valuta nel contesto di ogni riga derivante dalla tabella gruppi territorio, si ottengono risultati diversi per ogni territorio.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per