Funzione FILTER

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

Sintassi

FILTER(<table>,<filter>)

Parametri

Termine

Definizione

table

Tabella da filtrare. L'argomento table 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 utilizzate nella tabella e utilizzare solo dati specifici nei calcoli. La funzione FILTER non viene utilizzata in modo indipendente, ma come funzione incorporata in altre funzioni che richiedono una tabella come argomento.

Esempio

Nell'esempio seguente viene creato un report delle vendite Internet fuori dagli Stati Uniti utilizzando una misura che esclude le vendite effettuate negli Stati Uniti e quindi selezionando in base alle categorie di prodotto e all'anno del calendario. Per creare tale misura, è necessario filtrare la tabella Internet Sales USD in relazione a Sales Territory. La tabella filtrata può quindi essere utilizzata in una funzione SUMX.

In questo esempio, l'espressione FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States") restituisce una tabella che rappresenta il 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, come illustrato nella formula per la quale e fornita la sezione di codice seguente. La tabella consente un confronto tra tutte le vendite Internet e 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 della tabella pivot.

Tabella 1.Confronto di vendite totali tra Stati Unitietutte le altre aree

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

France

$2,490,944.57

$2,490,944.57

Germany

$2,775,195.60

$2,775,195.60

United Kingdom

$5,057,076.55

$5,057,076.55

United States

$9,389,479.79

 

Totale complessivo

$26,054,827.45

$16,665,347.67

La tabella del report finale mostra i risultati quando si crea una tabella pivot utilizzando 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 Unitiin base alle categorie di prodotti

Non USA Internet Sales

Etichette di colonna

 

 

 

Etichette di riga

Accessories

Bikes

Clothing

Totale complessivo

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

Totale complessivo

$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])

Vedere anche

Riferimento

Funzione ALL

Funzione ALLEXCEPT

Altre risorse

Funzioni filtro (DAX)