Funzione ALLEXCEPT
Vengono rimossi tutti i filtri di contesto nella tabella ad eccezione dei filtri applicati alle colonne specificate.
Sintassi
ALLEXCEPT(<table>,<column>[,<column>[,…]])
Parametri
Termine |
Definizione |
---|---|
table |
Tabella da cui vengono eliminati tutti i filtri di contesto, eccetto i filtri nelle colonne specificate in argomenti successivi. |
column |
Colonna per le quali i filtri di contesto devono essere mantenuti. |
Il primo argomento della funzione ALLEXCEPT deve essere un riferimento a una tabella di base, tutti gli argomenti successivi devono essere riferimenti a colonne di base. Non è possibile utilizzare espressioni di tabella o espressioni di colonna con la funzione ALLEXCEPT.
Valore restituito
Tabella da cui sono stati rimossi tutti i filtri ad eccezione di quelli nelle colonne specificate.
Osservazioni
Questa funzione non viene utilizzata da sola, ma serve come funzione intermedia che è possibile utilizzare per modificare il set di risultati su cui viene eseguito qualche altro calcolo.
Come descritto nella tabella seguente, è possibile utilizzare le funzioni ALL e ALLEXCEPT in scenari diversi.
Funzione e utilizzo |
Descrizione |
---|---|
ALL(Table) |
Rimuove tutti i filtri dalla tabella specificata. ALL(Table) restituisce in pratica tutti i valori di una tabella, rimuovendo qualsiasi filtro applicato nel contesto. Questa funzione è utile quando si utilizzano numerosi livelli di raggruppamento e si desidera creare un calcolo che consenta di produrre un rapporto di un valore aggregato con il valore totale. |
ALL (Column[, Column[, …]]) |
Vengono rimossi tutti i filtri dalle colonne specificate nella tabella. Tutti gli altri filtri in altre colonne nella tabella vengono mantenuti. Tutti gli argomenti della colonna devono provenire dalla stessa tabella. La variante ALL(Column) è utile quando si desidera rimuovere i filtri di contesto per una o più colonne specifiche e mantenere tutti gli altri filtri di contesto. |
ALLEXCEPT(Table, Column1 [,Column2]...) |
Rimuove tutti i filtri di contesto nella tabella ad eccezione dei filtri applicati alle colonne specificate. Questo è un metodo veloce e utile per situazioni in cui si desidera rimuovere i filtri da molte colonne di una tabella, ma non da tutte. |
Esempio
Nell'esempio seguente viene presentata una formula che è possibile utilizzare in una misura. Per ulteriori informazioni sulla creazione delle misure, vedere Creare una misura in una tabella pivot o in un grafico pivot.
Nella formula viene eseguita la somma di SalesAmount_USD e viene utilizzata la funzione ALLEXCEPT per rimuovere qualsiasi filtro di contesto nella tabella DateTime ad eccezione del caso in cui il filtro è applicato alla colonna CalendarYear.
[!NOTA]
Nell'esempio precedente vengono utilizzate le tabelle ResellerSales_USD e DateTime della cartella di lavoro di esempio DAX. Per ulteriori informazioni sugli esempi, vedere la pagina relativa all'acquisizione dei dati di esempio.
=CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))
Poiché nella formula viene utilizzata la funzione ALLEXCEPT, ogni volta che viene utilizzata qualsiasi colonna, ad eccezione di CalendarYear, della tabella DateTime per sezionare la tabella pivot, tramite la formula viene rimosso qualsiasi filtro dei dati, fornendo un valore uguale alla somma di SalesAmount_USD per il valore dell'etichetta della colonna, come illustrato nella Tabella 1.
Se tuttavia la colonna CalendarYear viene utilizzata per sezionare la tabella pivot, i risultati sono diversi. Poiché CalendarYear è specificato come argomento di ALLEXCEPT, quando i dati vengono sezionati nell'anno, viene applicato un filtro agli anni a livello di riga, come illustrato nella Tabella 2. Confrontando queste tabelle è possibile comprendere il comportamento di ALLEXCEPT().