Funzione SUMMARIZE con Opzioni
Descrizione
Leggere la funzione DAX SUMMARIZE prima di leggere questa variante.
Sono disponibili le seguenti opzioni avanzate che è possibile utilizzare nella funzione SUMMARIZE:
- Funzione ROLLUP
- Funzione ROLLUPGROUP
- Funzione ISSUBTOTALE
Quando si utilizzano queste funzioni all'interno della funzione SUMMARIZE, si ottengono risultati diversi.
Se si utilizza la funzione ROLLUP o la funzione ROLLUPGROUP, il comportamento della funzione SUMMARIZE viene modificato aggiungendo righe di roll-up al risultato nelle colonne groupBy_columnName.
Se si utilizza la funzione ROLLUPGROUP all'interno della funzione ROLLUP, è possibile impedire i subtotali parziali nelle righe di roll-up.
Se si utilizza la funzione ISSUBTOTAL all'interno della parte dell'espressione della funzione SUMMARIZE, verrà creata un'altra colonna con i valori logici restituiti da ISSUBTOTAL nella tabella risultante. Il valore sarà TRUE, se la riga contiene valori di subtotale per la colonna data come parametro alla funzione ISSUBTOTAL. FALSO, altrimenti.
Sintassi
SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …,
[ROLLUP (<groupBy_columnName>, [<groupBy_columnName> …])],
[<name>, <expression>] …)
SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …,
[ROLLUPGROUP (<groupBy_columnName>, [<groupBy_columnName> …])],
[<name>, <expression>] …)
SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …,
[ROLLUP (ROLLUPGROUP (<groupBy_columnName>, [<groupBy_columnName>] …))],
[<name>, <expression>] …)
SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …,
[ROLLUP (<groupBy_columnName>, [<groupBy_columnName> …])],
[<name>, {<expression> | ISSUBTOTAL (<columnName>)}] …)
Parametri (funzione ROLLUP / ROLLUPGROUP)
Sr.No. | Parametro e descrizione |
---|---|
1 |
groupBy_columnName Il nome completo di una colonna esistente da utilizzare per creare gruppi di riepilogo in base ai valori presenti in essa. Questo parametro non può essere un'espressione. |
Parametri (funzione ISSUBTOTAL)
Sr.No. | Parametro e descrizione |
---|---|
1 |
columnName Il nome di qualsiasi colonna nella tabella della funzione SUMMARIZE o di qualsiasi colonna in una tabella correlata alla tabella. |
Gli altri parametri per la funzione SUMMARIZE sono descritti nella funzione DAX SUMMARIZE.
Valore di ritorno
Una tabella con le colonne selezionate per i parametri groupBy_columnName e le colonne riepilogate progettate dai parametri name e inoltre, le righe di roll-up alle colonne groupBy_columnName. I totali parziali non vengono visualizzati se ROLLUPGROUP viene utilizzato in ROLLUP.
Se viene utilizzata la funzione SUBTOTALE -
Una colonna aggiuntiva, con TRUE se la riga contiene un valore parziale per la colonna data come parametro, con FALSE, altrimenti.
Osservazioni
Non è possibile fare riferimento alle colonne menzionate nella funzione ROLLUP come parametri groupBy_columnName della funzione SUMMARIZE.
La funzione ROLLUP può essere utilizzata solo come parametro per la funzione SUMMARIZE e da nessun'altra parte.
La funzione ROLLUPGROUP può essere utilizzata solo come parametro per quanto segue e da nessun'altra parte.
- Funzione SUMMARIZE, o
- Funzione ROLLUP
La funzione ISSUBTOTAL può essere utilizzata solo nella parte dell'espressione della funzione SUMMARIZE.
ISSUBTOTAL deve essere preceduto da una colonna del nome corrispondente
Esempio: ROLLUP
= SUMMARIZE (
SalesTarget, ROLLUP (SalesTarget[SalespersonID]),
SalesTarget[SalesTarget],"MaxTarget",MAX (SalesTarget[SalesTarget])
)
Esempio: ROLLUP con ROLLUPGROUP
= SUMMARIZE (
SalesTarget,ROLLUP (ROLLUPGROUP (SalesTarget[SalespersonID])),
SalesTarget[SalesTarget],"MaxTarget",MAX(SalesTarget[SalesTarget])
)
Esempio: ISSUBTOTAL
= SUMMARIZE (
SalesTarget,ROLLUP (ROLLUPGROUP (SalesTarget[SalespersonID])),
SalesTarget[SalesTarget],"MaxTarget",MAX (SalesTarget[SalesTarget]),
"IsSubTotalSalesTarget", ISSUBTOTAL (SalesTarget[SalesTarget])
)