SUMMARIZE
Si applica a:colonna calcolatatabella calcolataMeasurecalcolo visivo
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 usata per creare gruppi di riepilogo in base al values presente. Questo parametro non può essere un'espressione. |
name |
Nome assegnato a una colonna orsummarize totale, racchiuso tra virgolette doppie. |
expression |
Qualsiasi espressione DAX che restituisce un singolo valuescalare , dove l'espressione deve essere valutata più volte (per ogni riga/contesto). |
Restituisce value
Tabella con le colonne selezionate per gli argomenti groupBy_columnName
and colonne riepilogate progettate dagli argomenti name.
Osservazioni:
Ogni colonna per cui si define un nome deve avere un'espressione corrispondente; in caso contrario, viene restituito un error. L'argomento first, nome, definisce il nome della colonna nei risultati. L'argomento second, espressione, definisce il calcolo eseguito per ottenere il value per ogni riga della colonna.
groupBy_columnName deve essere in
table
or in una tabella related pertable
.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 al values di una or più colonne groupBy_columnName. Viene restituita una riga per ogni gruppo.
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 viene restituito un riepilogo delle vendite rivenditore raggruppate in base al calendaryearand nome della categoria product. Questa tabella dei risultati consente di eseguire analisi sulle vendite dei rivenditori in base alla categoria yearandproduct.
SUMMARIZE(ResellerSales_USD
, DateTime[CalendarYear]
, ProductCategory[ProductCategoryName]
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
La tabella seguente mostra un'anteprima dei dati come sarebbe received da qualsiasi funzione che prevede di ricevere 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 rollup righe al risultato nelle colonne groupBy_columnName. ROLLUP può essere usato solo all'interno di un'espressione SUMMARIZE.
Esempio
Nell'esempio seguente vengono aggiunte rollup righe alle colonne Group-By della chiamata di 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 di ROLLUP può essere usata per impedire subtotali parziali nelle righe di rollup. ROLLUPGROUP può essere usato solo all'interno di un'espressione ROLLUP, ROLLUPADDISSUBTOTAL, orROLLUPISSUBTOTAL.
Esempio
L'esempio seguente mostra solo il totale complessivo di all anni and categorie senza il subtotale di ogni year con categorie di all:
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 Trueif la riga containsvalues subtotale per la colonna specificata come argomento per ISSUBTOTAL, in caso contrario restituisce False. ISSUBTOTAL può essere usato solo all'interno di un'espressione SUMMARIZE.
Esempio
L'sample seguente genera una colonna ISSUBTOTAL per ognuna delle colonne ROLLUP nella chiamata di 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 |
FALSE |
||||
FALSE |
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 |
||||
FALSE |
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 |