SUMMARIZE
Si applica a: Calcolo visivo misura tabella calcolata colonna calcolata
Restituisce una tabella di riepilogo per i totali richiesti su un set di gruppi.
Sintassi
SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
Parametri
Termine | Definizione |
---|---|
table | Qualsiasi espressione DAX che restituisce una tabella di dati. |
groupBy_ColumnName | (Facoltativo) Nome completo di una colonna esistente da usare per creare gruppi di riepilogo in base ai valori trovati. Questo parametro non può essere un'espressione. |
name | Nome assegnato a una colonna di totale o di riepilogo, racchiuso tra virgolette doppie. |
expression | Qualsiasi espressione DAX che restituisce un singolo valore scalare, dove l'espressione deve essere valutata più volte (per ogni riga/contesto). |
Valore restituito
Una tabella con le colonne selezionate per gli argomenti groupBy_columnName e le colonne riepilogative definite dagli argomenti name.
Osservazioni:
Ogni colonna per la quale si definisce un nome deve avere un'espressione corrispondente, altrimenti viene restituito un errore. Il primo argomento, name, definisce il nome della colonna nei risultati. Il secondo argomento, expression, definisce il calcolo eseguito per ottenere il valore di ogni riga della colonna.
groupBy_columnName deve essere presente in table o in una tabella correlata a table.
Ogni nome deve essere racchiuso tra virgolette doppie.
La funzione raggruppa un set selezionato di righe in un set di righe di riepilogo in base ai valori di una o più colonne groupBy_columnName. Viene restituita una riga per ogni gruppo.
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
L'esempio seguente restituisce un riepilogo delle vendite del rivenditore raggruppate in base all'anno di calendario e al nome della categoria di prodotto. Questa tabella dei risultati consente di eseguire l'analisi sulle vendite del rivenditore per anno e per categoria di prodotto.
SUMMARIZE(ResellerSales_USD
, DateTime[CalendarYear]
, ProductCategory[ProductCategoryName]
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Nella tabella seguente viene mostrata un'anteprima dei dati come ricevuta da qualsiasi funzione che prevede la ricezione di una tabella:
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Componenti | 2008052.706 | 39.9266 |
2005 | Componenti | 574256.9865 | 0 |
2006 | Componenti | 3428213.05 | 948.7674 |
2007 | Componenti | 5195315.216 | 4226.0444 |
2008 | Clothing | 366507.844 | 4151.1235 |
2005 | Clothing | 31851.1628 | 90.9593 |
2006 | Clothing | 455730.9729 | 4233.039 |
2007 | Clothing | 815853.2868 | 12489.3835 |
2008 | Accessori | 153299.924 | 865.5945 |
2005 | Accessori | 18594.4782 | 4.293 |
2006 | Accessori | 86612.7463 | 1061.4872 |
2007 | Accessori | 275794.8403 | 4756.6546 |
Con ROLLUP
L'aggiunta della sintassi ROLLUP modifica il comportamento della funzione SUMMARIZE aggiungendo le righe di rollup al risultato nelle colonne groupBy_columnName. ROLLUP può essere usato solo all'interno di un'espressione SUMMARIZE.
Esempio
L'esempio seguente aggiunge righe di rollup alle colonne Group-By della chiamata alla funzione SUMMARIZE:
SUMMARIZE(ResellerSales_USD
, ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Restituisce la tabella seguente:
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Componenti | 2008052.706 | 39.9266 |
2005 | Componenti | 574256.9865 | 0 |
2006 | Componenti | 3428213.05 | 948.7674 |
2007 | Componenti | 5195315.216 | 4226.0444 |
2008 | Clothing | 366507.844 | 4151.1235 |
2005 | Clothing | 31851.1628 | 90.9593 |
2006 | Clothing | 455730.9729 | 4233.039 |
2007 | Clothing | 815853.2868 | 12489.3835 |
2008 | Accessori | 153299.924 | 865.5945 |
2005 | Accessori | 18594.4782 | 4.293 |
2006 | Accessori | 86612.7463 | 1061.4872 |
2007 | Accessori | 275794.8403 | 4756.6546 |
2008 | 15496115.89 | 41224.3038 | |
2005 | 7582953.67 | 4326.4144 | |
2006 | 22871907.85 | 184419.1335 | |
2007 | 30543780.84 | 297538.0745 | |
76494758.25 | 527507.9262 |
Con ROLLUPGROUP
L'aggiunta di ROLLUPGROUP all'interno di una sintassi ROLLUP può tuttavia essere usata per evitare subtotali parziali nelle righe di rollup. ROLLUPGROUP può essere usato solo all'interno di un'espressione ROLLUP, ROLLUPADDISSUBTOTAL o ROLLUPISSUBTOTAL.
Esempio
L'esempio seguente mostra solo il totale complessivo di tutti gli anni e le categorie senza il subtotale di ogni anno con tutte le categorie:
SUMMARIZE(ResellerSales_USD
, ROLLUP(ROLLUPGROUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName]))
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Restituisce la tabella seguente:
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Componenti | 2008052.706 | 39.9266 |
2005 | Componenti | 574256.9865 | 0 |
2006 | Componenti | 3428213.05 | 948.7674 |
2007 | Componenti | 5195315.216 | 4226.0444 |
2008 | Clothing | 366507.844 | 4151.1235 |
2005 | Clothing | 31851.1628 | 90.9593 |
2006 | Clothing | 455730.9729 | 4233.039 |
2007 | Clothing | 815853.2868 | 12489.3835 |
2008 | Accessori | 153299.924 | 865.5945 |
2005 | Accessori | 18594.4782 | 4.293 |
2006 | Accessori | 86612.7463 | 1061.4872 |
2007 | Accessori | 275794.8403 | 4756.6546 |
76494758.25 | 527507.9262 |
Con ISSUBTOTAL
Con ISSUBTOTAL è possibile creare un'altra colonna nell'espressione SUMMARIZE, che restituisce True se la riga contiene i valori dei subtotali per la colonna specificata come argomento di ISSUBTOTAL. In caso contrario, restituisce False. ISSUBTOTAL può essere usato solo all'interno di un'espressione SUMMARIZE.
Esempio
L'esempio seguente genera una colonna ISSUBTOTAL per ognuna delle colonne ROLLUP nella chiamata alla funzione SUMMARIZE specificata:
SUMMARIZE(ResellerSales_USD
, ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
, "Is Sub Total for DateTimeCalendarYear", ISSUBTOTAL(DateTime[CalendarYear])
, "Is Sub Total for ProductCategoryName", ISSUBTOTAL(ProductCategory[ProductCategoryName])
)
Restituisce la tabella seguente:
[Is Sub Total for DateTimeCalendarYear] | [Is Sub Total for ProductCategoryName] | DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|---|---|
FALSE | FALSO | ||||
FALSO | FALSE | 2008 | Bikes | 12968255.42 | 36167.6592 |
FALSE | FALSE | 2005 | Bikes | 6958251.043 | 4231.1621 |
FALSE | FALSE | 2006 | Bikes | 18901351.08 | 178175.8399 |
FALSE | FALSE | 2007 | Bikes | 24256817.5 | 276065.992 |
FALSE | FALSE | 2008 | Componenti | 2008052.706 | 39.9266 |
FALSE | FALSE | 2005 | Componenti | 574256.9865 | 0 |
FALSE | FALSE | 2006 | Componenti | 3428213.05 | 948.7674 |
FALSE | FALSE | 2007 | Componenti | 5195315.216 | 4226.0444 |
FALSE | FALSE | 2008 | Clothing | 366507.844 | 4151.1235 |
FALSE | FALSE | 2005 | Clothing | 31851.1628 | 90.9593 |
FALSE | FALSE | 2006 | Clothing | 455730.9729 | 4233.039 |
FALSE | FALSE | 2007 | Clothing | 815853.2868 | 12489.3835 |
FALSE | FALSE | 2008 | Accessori | 153299.924 | 865.5945 |
FALSE | FALSE | 2005 | Accessori | 18594.4782 | 4.293 |
FALSE | FALSE | 2006 | Accessori | 86612.7463 | 1061.4872 |
FALSE | FALSE | 2007 | Accessori | 275794.8403 | 4756.6546 |
FALSE | TRUE | ||||
FALSO | TRUE | 2008 | 15496115.89 | 41224.3038 | |
FALSE | TRUE | 2005 | 7582953.67 | 4326.4144 | |
FALSE | TRUE | 2006 | 22871907.85 | 184419.1335 | |
FALSE | TRUE | 2007 | 30543780.84 | 297538.0745 | |
TRUE | TRUE | 76494758.25 | 527507.9262 |