FILTER
Restituisce una tabella che rappresenta un subset di un'altra tabella o espressione.
Sintassi
FILTER(<table>,<filter>)
Parametri
Termine | Definizione |
---|---|
table |
Tabella da filtrare. La tabella può anche essere un'espressione che restituisce una tabella. |
filter |
Espressione booleana da valutare per ogni riga della tabella. Ad esempio, [Amount] > 0 o [Region] = "France" |
Valore restituito
Tabella contenente solo le righe filtrate.
Osservazioni
È possibile usare FILTER per ridurre il numero di righe nella tabella in uso e usare solo dati specifici nei calcoli. FILTER non viene usato 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 anziché COUNT in DAX
- Questa funzione non è supportata per l'uso in modalità DirectQuery quando viene usata nelle colonne calcolate o nelle regole di sicurezza a livello di riga.
Esempio
Nell'esempio seguente viene creato un report delle vendite Internet all'esterno degli Stati Uniti usando una misura che filtra le vendite negli Stati Uniti e quindi seziona per anno di calendario e categorie di prodotti. Per creare questa misura, filtrare la tabella Internet Sales USD usando Sales Territory e quindi usare la tabella filtrata in una funzione di SUMX.
In questo esempio l'espressione :
FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
Restituisce una tabella che è un subset di Internet Sales meno tutte le righe che appartengono al territorio di vendita degli Stati Uniti. La funzione RELATED consente di collegare la chiave Territory nella tabella Internet Sales a SalesTerritoryCountry nella tabella SalesTerritory.
La tabella seguente illustra il modello di verifica per la misura, NON USA Internet Sales, la formula per la quale è disponibile nella sezione del codice seguente. La tabella confronta tutte le vendite Internet con le vendite Internet non USA, per indicare che l'espressione di filtro funziona, escludendo le vendite degli Stati Uniti dal calcolo.
Per ricreare questa tabella, aggiungere il campo SalesTerritoryCountry all'area etichette di riga
Tabella 1. Confronto tra le vendite totali per gli Stati Uniti e tutte le altre aree
Etichette di riga | Internet Sales | Vendite Internet non USA |
---|---|---|
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 | |
Totale complessivo | $ 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
Tabella 2. Confronto tra le vendite non statunitensi in base alle categorie di prodotti
Etichette di riga | Accessoristica | Biciclette | Abbigliamento | 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])