FILTER
gælder for:beregnet kolonne
beregnet tabel
beregning af måling
visualisering
Returnerer en tabel, der repræsenterer et undersæt af en anden tabel eller et andet udtryk.
Syntaks
FILTER(<table>,<filter>)
Parametre
Udtryk | Definition |
---|---|
table |
Den tabel, der skal filtreres. Tabellen kan også være et udtryk, der resulterer i en tabel. |
filter |
Et boolesk udtryk, der skal evalueres for hver række i tabellen. F.eks. [Amount] > 0 eller [Region] = "France" |
Returværdi
En tabel, der kun indeholder de filtrerede rækker.
Bemærkninger
Du kan bruge FILTER til at reducere antallet af rækker i den tabel, du arbejder med, og kun bruge bestemte data i beregninger. FILTER bruges ikke uafhængigt af hinanden, men som en funktion, der er integreret i andre funktioner, der kræver en tabel som et argument.
Du kan få de bedste fremgangsmåder, når du bruger FILTERi Undgå at bruge FILTER som et filterargument.
Brug COUNTROWS i stedet for COUNT i DAX
- Denne funktion understøttes ikke til brug i DirectQuery-tilstand, når den bruges i beregnede kolonner eller RLS-regler (row-level security).
Eksempel
I følgende eksempel oprettes der en rapport over internetsalg uden for USA ved hjælp af en måling, der filtrerer salget i USA og derefter udsnit efter kalenderår og produktkategorier. Hvis du vil oprette denne måling, skal du filtrere tabellen Internet Sales USD ved hjælp af Sales Territory og derefter bruge den filtrerede tabel i en SUMX funktion.
I dette eksempel er udtrykket:
FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
Returnerer en tabel, der er et undersæt af Internet Sales minus alle rækker, der tilhører salgsområdet i USA. Funktionen RELATED er det, der sammenkæder nøglen Territory i tabellen Internet Sales med SalesTerritoryCountry i tabellen SalesTerritory.
I følgende tabel vises blåstemplingen for målingen, NON USA Internet Sales, som er angivet i kodeafsnittet nedenfor. I tabellen sammenlignes alt internetsalg med internetsalg, der ikke er USA, for at vise, at filterudtrykket fungerer, ved at udelade salg i USA fra beregningen.
Hvis du vil genoprette denne tabel, skal du føje feltet SalesTerritoryCountry til området rækkenavne område i en rapport eller pivottabel.
Tabel 1. Sammenligning af det samlede salg for USA i forhold til alle andre områder
Rækkenavne | Internetsalg | Internetsalg uden for USA |
---|---|---|
Australien | 4.999.021,84 USD | 4.999.021,84 USD |
Canada | 1.343.109,10 USD | 1.343.109,10 USD |
Frankrig | 2.490.944,57 USD | 2.490.944,57 USD |
Tyskland | 2.775.195,60 USD | 2.775.195,60 USD |
Storbritannien | 5.057.076,55 USD | 5.057.076,55 USD |
USA | 9.389.479,79 USD | |
Hovedtotal | 26.054.827,45 USD | 16.665.347,67 USD |
Den endelige rapporttabel viser resultaterne, når du opretter en pivottabel ved hjælp af målingen Internet Sales, der ikke er USA. Føj feltet CalendarYear til området rækkenavne i pivottabellen, og føj feltet ProductCategoryName til området Kolonnenavne område.
Tabel 2. Sammenligning af ikke-amerikansk salg efter produktkategorier
Rækkenavne | Tilbehør | Cykler | Tøj | Hovedtotal |
---|---|---|---|---|
2005 | 1.526.481,95 USD | 1.526.481,95 USD | ||
2006 | 3.554.744,04 USD | 3.554.744,04 USD | ||
2007 | 156.480,18 USD | 5.640.106,05 USD | 70.142,77 USD | 5.866.729,00 USD |
2008 | 228.159,45 USD | 5.386.558,19 USD | 102.675,04 USD | 5.717.392,68 USD |
Hovedtotal | 384.639,63 USD | 16.107.890,23 USD | 172.817,81 USD | 16.665.347,67 USD |
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
,'InternetSales_USD'[SalesAmount_USD])