FILTER

Si applica a:Calcolo visivo misuratabella calcolata colonnacalcolata

Restituisce una tabella che rappresenta un subset di un'altra tabella o espressione.

Sintassi

FILTER(<table>,<filter>)  

Parametri

Termine Definizione
table Tabella a cui applicare filtri. La tabella può essere anche un'espressione tramite cui viene restituita una tabella.
filter Espressione booleana da valutare per ogni riga della tabella. Ad esempio, [Amount] > 0 o [Region] = "France"

Valore restituito

Tabella che contiene solo le righe filtrate.

Osservazioni:

  • Tramite FILTER è possibile ridurre il numero di righe usate nella tabella e usare solo dati specifici nei calcoli. La funzione FILTER non viene usata in modo indipendente, ma come funzione incorporata in altre funzioni che richiedono una tabella come argomento.

  • Per le procedure consigliate quando si usa FILTER, vedere Evitare di usare FILTER come argomento di filtro.

Usare COUNTROWS invece di COUNT in DAX

  • 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 crea un report delle vendite Internet fuori dagli Stati Uniti usando una misura che esclude le vendite effettuate negli Stati Uniti e quindi sezionando in base alle categorie di prodotto e all'anno del calendario. Per creare questa misura occorre filtrare la tabella Internet Sales USD tramite Sales Territory e quindi usare la tabella filtrata in una funzione SUMX.

In questo esempio l'espressione:

FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

Restituisce una tabella che rappresenta un subset delle vendite Internet meno tutte le righe che rappresentano le vendite effettuate negli Stati Uniti. La funzione RELATED collega la chiave Territory della tabella Internet Sales a SalesTerritoryCountry della tabella SalesTerritory.

La tabella seguente è un modello di prova per la misura NON USA Internet Sales, la cui formula è fornita nella sezione di codice seguente. La tabella confronta tutte le vendite Internet con le vendite Internet non realizzate negli Stati Uniti per mostrare che l'espressione di filtro funziona tramite l'esclusione delle vendite degli Stati Uniti dal calcolo.

Per ricreare questa tabella, aggiungere il campo SalesTerritoryCountry all'area Etichette di riga di un report o di una tabella pivot.

Tabella 1. Confronto delle vendite totali degli Stati Uniti rispetto alle altre aree geografiche

Etichette di riga Internet Sales Non USA Internet Sales
Australia $4,999,021.84 $4,999,021.84
Canada $1,343,109.10 $1,343,109.10
Francia $2,490,944.57 $2,490,944.57
Germania $2,775,195.60 $2,775,195.60
Regno Unito $5,057,076.55 $5,057,076.55
Stati Uniti $9,389,479.79
Grand Total $26,054,827.45 $16,665,347.67

La tabella del report finale mostra i risultati quando si crea una tabella pivot usando la misura NON USA Internet Sales. Aggiungere il campo CalendarYear all'area Etichette di riga della tabella pivot, quindi aggiungere il campo ProductCategoryName all'area Etichette di colonna.

Tabella 2. Confronto delle vendite non effettuate negli Stati Uniti in base alla categoria di prodotto

Etichette di riga Accessori Bikes Clothing Grand Total
2005 $1,526,481.95 $1,526,481.95
2006 $3,554,744.04 $3,554,744.04
2007 $156,480.18 $5,640,106.05 $70,142.77 $5,866,729.00
2008 $228,159.45 $5,386,558.19 $102,675.04 $5,717,392.68
Grand Total $384,639.63 $16,107,890.23 $172,817.81 $16,665,347.67
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")  
     ,'InternetSales_USD'[SalesAmount_USD])  

Funzioni di filtro
Funzione ALL
Funzione ALLEXCEPT