Innledning

Fullført

Se videoen nednefor for å lære mer om gjentakelsesfunksjoner.

Data Analysis Expressions (DAX) inkluderer en funksjonsserie kjent som gjentakelsesfunksjoner. Gjentakelsesfunksjoner lister opp alle rader i en gitt tabell og evaluerer et gitt uttrykk for hver rad. De gir deg fleksibilitet og kontroll over hvordan modellberegningene oppsummerer data.

Nå er du kjent med oppsummeringsfunksjoner med én kolonne, inkludert SUM, , COUNTMIN, MAXog andre. Hver av disse funksjonene har en tilsvarende gjentakelsesfunksjon som identifiseres av «X»-suffikset, for eksempel SUMX, , COUNTXMINX, MAXXog andre. I tillegg finnes det spesialiserte gjentakelsesfunksjoner som utfører filtrering, rangering, halvadditive beregninger over tid med mer.

Det som kjennetegner alle gjentakelsesfunksjoner, er at du må sende inn en tabell og et uttrykk. Tabellen kan være en modelltabellreferanse eller et uttrykk som returnerer et tabellobjekt. Uttrykket må evalueres som en skalarverdi.

Oppsummeringsfunksjoner med én kolonne, for eksempel SUM, er shorthand-funksjoner. Internt konverterer SUM Microsoft Power BI funksjonen til SUMX. Som et resultat vil følgende to måldefinisjoner gi samme resultat med samme ytelse.

Revenue = SUM(Sales[Sales Amount])
Revenue =
SUMX(
    Sales,
    Sales[Sales Amount]
)

Det er viktig å forstå hvordan kontekst fungerer med gjentakelsesfunksjoner. Ettersom gjentakelsesfunksjoner lister opp over tabellrader, evalueres uttrykket for hver rad i radkontekst, litt på samme måte som formler for beregnede kolonner. Tabellen evalueres i filterkontekst, så hvis du bruker det forrige eksempelet på måldefinisjon for omsetning , hvis et rapportvisualobjekt ble filtrert etter regnskapsåret FY2020, vil Salg-tabellen inneholde salgsrader som ble bestilt i det året. Vi går nærmere inn på filterkontekst i modulen om filterkontekst.

Viktig

Når du bruker gjentakelsesfunksjoner, må du sørge for at du unngår å bruke store tabeller (rader) med uttrykk som bruker omfattende DAX-funksjoner. Enkelte funksjoner, for eksempel SEARCH DAX-funksjonen, som skanner en tekstverdi som ser etter bestemte tegn eller tekst, kan resultere i dårlig ytelse. LOOKUPVALUE DAX-funksjonen kan også resultere i en langsom, rad-for-rad-henting av verdier. I dette andre tilfellet bruker du RELATED DAX-funksjonen i stedet, når det er mulig.