Log på med Microsoft
Log på, eller opret en konto.
Hej
Markér en anden konto.
Du har flere konti
Vælg den konto, du vil logge på med.

I dette afsnit beskrives det, hvordan du opretter filtre i DAX-formler (Data Analysis Expressions). Du kan oprette filtre i formler for at begrænse værdierne fra kildedataene, der bruges i beregninger. Det gør du ved at angive en tabel som input til formlen og derefter definere et filterudtryk. Det filterudtryk, du angiver, bruges til at forespørge på dataene og kun returnere en delmængde af kildedataene. Filteret anvendes dynamisk, hver gang du opdaterer resultaterne af formlen, afhængigt af den aktuelle kontekst for dine data.

Denne artikel indeholder

Oprette et filter på en tabel, der bruges i en formel

Du kan anvende filtre i formler, der tager en tabel som input. I stedet for at angive et tabelnavn bruger du FILTRER-funktionen til at definere et undersæt af rækker fra den angivne tabel. Delsættet overføres derefter til en anden funktion ved handlinger som f.eks. brugerdefinerede sammenlægninger.

Antag f.eks., at du har en datatabel, der indeholder ordreoplysninger om forhandlere, og du vil beregne, hvor meget hver forhandler har solgt. Du vil dog kun vise salgsbeløbet for de forhandlere, der har solgt flere enheder af dine produkter med højere værdi. Følgende formel, der er baseret på DAX-eksempelprojektmappen, viser et eksempel på, hvordan du kan oprette denne beregning ved hjælp af et filter:

=SUMX(
     FILTRER ('ResellerSales_USD', 'ResellerSales_USD'[Antal] > 5 &&
     'ResellerSales_USD'[ProductStandardCost_USD] > 100),
     'ResellerSales_USD'[Salgsamt]
     )

  • Den første del af formlen angiver en af Power Pivot , hvilket tager en tabel som argument. SUMX beregner en sum i forhold til en tabel.

  • Den anden del af formlen, der FILTER(table, expression),, SUMX , hvilke data der skal bruges. SUMX kræver en tabel eller et udtryk, der resulterer i en tabel. I stedet for at bruge alle dataene i en tabel bruger du funktionen FILTER til at angive, hvilke af rækkerne i tabellen der skal bruges.

    Filterudtrykket har to dele: Den første del navnholder den tabel, som filteret gælder for. Den anden del definerer et udtryk, der skal bruges som filterbetingelse. I dette tilfælde filtrerer du efter forhandlere, der har solgt mere end 5 enheder og produkter, der koster mere end 100 USD. Operatoren, &&, er en logisk AND-operator, som angiver, at begge dele af betingelsen skal være sande, for at rækken hører til det filtrerede undersæt.

  • Den tredje del af formlen fortæller den SUMX , hvilke værdier der skal lægges sammen. I dette tilfælde bruger du kun salgsbeløbet.

    Bemærk, at funktioner som FILTRER, som returnerer en tabel, aldrig returnerer tabellen eller rækkerne direkte, men altid integreres i en anden funktion. Du kan finde flere oplysninger om FILTRER og andre funktioner, der bruges til filtrering, herunder flere eksempler, under Filterfunktioner (DAX).

    Bemærk!: Filterudtrykket påvirkes af den kontekst, det bruges i. Hvis du f.eks. bruger et filter i en måling, og målingen bruges i en pivottabel eller et PivotChart, kan det delsæt af data, der returneres, blive påvirket af yderligere filtre eller udsnit, som brugeren har anvendt i pivottabellen. Du kan finde flere oplysninger om kontekst i Kontekst i DAX-formler.

Filtre, der fjerner dubletter

Ud over at filtrere for bestemte værdier kan du returnere et entydigt sæt af værdier fra en anden tabel eller kolonne. Dette kan være nyttigt, hvis du vil tælle antallet af entydige værdier i en kolonne eller bruge en liste over entydige værdier til andre handlinger. DAX indeholder to funktioner til returnering af særskilte værdier: Funktionen DISTINCT og Funktionen VALUES.

  • Funktionen DISTINCT undersøger en enkelt kolonne, du angiver som argument til funktionen, og returnerer en ny kolonne, der kun indeholder de særskilte værdier.

  • Funktionen VÆRDIER returnerer også en liste over entydige værdier, men returnerer også det ukendte medlem. Dette er nyttigt, når du bruger værdier fra to tabeller, der er forbundet med en relation, og en værdi mangler i den ene tabel og findes i den anden. Du kan finde flere oplysninger om det ukendte medlem under Kontekst i DAX-formler.

Begge disse funktioner returnerer en hel kolonne med værdier. derfor bruger du funktionerne til at få en liste over værdier, der derefter overføres til en anden funktion. Du kan f.eks. bruge følgende formel til at hente en liste over de forskellige produkter, der sælges af en bestemt forhandler, ved hjælp af den entydige produktnøgle, og derefter tælle produkterne på listen ved hjælp af funktionen COUNTROWS:

=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

Toppen af siden

Sådan påvirker kontekstfiltre

Når du føjer en DAX-formel til en pivottabel eller PivotChart, kan resultatet af formlen blive påvirket af konteksten. Hvis du arbejder i en Power Pivot , er konteksten den aktuelle række og dens værdier. Hvis du arbejder i en pivottabel eller PivotChart, betyder konteksten det sæt eller undersæt af data, der er defineret af handlinger som f.eks. udsnitte eller filtrering. Designet af pivottabellen eller pivottabellen PivotChart også sin egen kontekst. Hvis du f.eks. opretter en pivottabel, der grupperer salg efter område og år, vises kun de data, der gælder for disse områder og år, i pivottabellen. Alle målinger, du føjer til pivottabellen, beregnes derfor i forhold til kolonne- og rækkeoverskrifterne plus eventuelle filtre i formlen for målingen.

Du kan få mere at vide under Kontekst i DAX-formler.

Toppen af siden

Fjerne filtre

Når du arbejder med komplekse formler, vil du måske gerne vide præcis, hvad de aktuelle filtre er, eller måske vil du ændre filterdelen af formlen. DAX indeholder flere funktioner, der gør det muligt at fjerne filtre og styre, hvilke kolonner der bevares som en del af den aktuelle filterkontekst. Dette afsnit indeholder en oversigt over, hvordan disse funktioner påvirker resultaterne i en formel.

Tilsidesættelse af alle filtre med funktionen ALL

Du kan bruge funktionen ALL til at tilsidesætte eventuelle filtre, der tidligere er blevet anvendt, og returnere alle rækker i tabellen til den funktion, der udfører aggregatet eller en anden handling. Hvis du bruger en eller flere kolonner i stedet for en tabel som argumenter ALL, returnerer funktionen ALL alle rækker og ignorerer eventuelle kontekstfiltre.

Bemærk!: Hvis du kender til relationsdatabaseterminologi, kan du tænke på, at ALL som genererer den naturlige venstre ydre joinforbindelse af alle tabellerne.

Antag f.eks., at du har tabellerne Salg og Produkter, og du vil oprette en formel, der beregner summen af salg for det aktuelle produkt divideret med salget for alle produkter. Du skal tage højde for, at hvis formlen bruges i en måling, bruger brugeren af pivottabellen muligvis et udsnit til at filtrere efter et bestemt produkt med produktnavnet på rækkerne. For at få den rigtige værdi af nævneren uanset eventuelle filtre eller udsnitsværktøjer skal du derfor tilføje funktionen ALL for at tilsidesætte eventuelle filtre. Følgende formel er et eksempel på, hvordan du bruger ALLE til at tilsidesætte effekterne af tidligere filtre:

=SUM (Salg[Beløb])/SUMX(Salg[Beløb], FILTRER(Salg, ALL(Produkter)))

  • Den første del af formlen, SUM (Salg[Beløb]), beregner tælleren.

  • Summen tager højde for den aktuelle kontekst, hvilket betyder, at hvis du tilføjer formlen i en beregnet kolonne, så anvendes rækkekonteksten, og hvis du tilføjer formlen i en pivottabel som en måling, anvendes eventuelle filtre, der anvendes i pivottabellen (filterkonteksten).

  • Den anden del af formlen beregner nævneren. Funktionen ALL tilsidesætter eventuelle filtre, der kan anvendes på Products tabel.

Du kan finde flere oplysninger, herunder detaljerede eksempler, under Funktionen ALL.

Tilsidesættelse af specifikke filtre med funktionen ALLEXCEPT

Funktionen ALLEXCEPT tilsidesætter også eksisterende filtre, men du kan angive, at nogle af de eksisterende filtre skal bevares. De kolonner, du navngiver som argumenter til funktionen ALLEXCEPT, angiver, hvilke kolonner der fortsat skal filtreres. Hvis du vil tilsidesætte filtre fra de fleste kolonner, men ikke alle, er ALLEXCEPT mere praktisk end ALLE. Funktionen ALLEXCEPT er især nyttig, når du opretter pivottabeller, der kan filtreres på mange forskellige kolonner, og du vil styre de værdier, der bruges i formlen. Du kan finde flere oplysninger, herunder et detaljeret eksempel på, hvordan du bruger ALLEXCEPT i en pivottabel, under Funktionen ALLEXCEPT.

Toppen af siden

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?
Når du trykker på Send, bliver din feedback brugt til at forbedre Microsoft-produkter og -tjenester. Din it-administrator kan indsamle disse data. Erklæring om beskyttelse af personlige oplysninger.

Tak for din feedback!

×