Visuelle beregninger

Gjelder for:✅ Power BI Skrivebord og Power Bi-tjeneste

En visuell beregning er en DAX-beregning (Data Analysis Expressions) som kjører direkte på et visualobjekt i stedet for i den semantiske modellen. Den bruker dataene som vises i visualobjektet, slik at du kan opprette løpende totaler, glidende gjennomsnitt og periode-over-periode-sammenligninger uten å administrere filterkontekst eller modellrelasjoner. Visuelle beregninger er DAX-formler som fokuserer på visuelle data i stedet for hele den semantiske modellen.

Denne artikkelen forklarer hvordan visuelle beregninger fungerer, hvordan parameterne kontrollerer beregningsflyten og hvordan de skiller seg fra andre DAX-beregninger.

Følgende visuelle beregning definerer en løpende sum for salgsbeløp:

Running sum = RUNNINGSUM([Sales Amount])

Skjermbilde av DAX for visuelle beregninger.

En visuell beregning kan referere til kolonner, mål eller andre visuelle beregninger i samme visualobjekt.

Visuelle beregninger skiller seg fra de andre beregningsalternativene i DAX:

  • Du lagrer visuelle beregninger på et visualobjekt, ikke i modellen. Legg til et modellfelt i visualobjektet før du refererer til det i en visuell beregning.
  • Visuelle beregninger kombinerer kontekstens enkelhet fra beregnede kolonner med den behovsbetingede beregningsfleksibilitet fra mål.
  • Visuelle beregninger fungerer på aggregerte data i stedet for data på detaljnivå, slik at de ofte yter bedre enn tilsvarende mål.
  • Siden visuelle beregninger er en del av visualobjektet, kan de referere til strukturen.

Hvis du vil ha en detaljert sammenligning av beregningsalternativer, kan du se Bruke beregningsalternativer i Power BI Desktop.

Tabell- og matrisevisualobjekter viser også visuelle beregninger gjennom den egendefinerte totalopplevelsen, som lar deg endre hva den totale raden viser uten å skrive DAX. Hvis du vil ha mer informasjon, kan du se visualartiklene for tabeller og matriser .

Hvis du vil lære hvordan du legger til eller redigerer en visuell beregning, kan du se Opprette visuelle beregninger.

Slik fungerer visuelle beregninger

Du oppretter visuelle beregninger i redigeringsmodus , som åpnes over det valgte visualobjektet. Redigeringsoverflaten har tre deler: en forhåndsvisning av visualobjektet, en formellinje for DAX-uttrykket og en visuell matrise som viser resultater mens du skriver.

Skjermbilde som viser områder av redigeringsskjermen for visuelle beregninger.

De fleste visuelle beregninger evaluerer hver rad i den visuelle matrisen, så aggregasjonsfunksjoner som SUMMER er vanligvis unødvendige. Funksjoner som avhenger av modellrelasjoner, inkludert USERELATIONSHIP, RELATED og RELATEDTABLE, er ikke tilgjengelige.

Når du har lagt til en visuell beregning, vises den i feltlisten på visualobjektet og gjengis på selve visualobjektet.

Skjermbilde av visuelle beregninger som vises på visualobjektet.

DAX-funksjoner som er tilgjengelige i visuelle beregninger

Mange eksisterende DAX-funksjoner fungerer i visuelle beregninger. Visuelle beregninger gir også funksjoner som fungerer som snarveier til DAX-vindusfunksjoner.

Function Description Example Snarvei til
COLLAPSE Beregningen evalueres på et høyere nivå av aksen. Prosent av overordnet = DIVIDE([Salgsbeløp], COLLAPSE([Salgsbeløp], ROWS)) N/A
COLLAPSEALL Beregningen evalueres på det totale nivået på aksen. Prosent av totalsum = DIVIDE([Salgsbeløp], COLLAPSEALL([Salgsbeløp], ROWS)) N/A
EXPAND Beregningen evalueres på et lavere nivå av aksen. Gjennomsnitt av underordnede = EXPAND(GJENNOMSNITT([Salgsbeløp]), ROWS) N/A
EXPANDALL Beregningen evalueres på bladnivå på aksen. Gjennomsnitt av bladnivå = EXPANDALL(GJENNOMSNITT([Salgsbeløp]), ROWS) N/A
FIRST Refererer til den første raden i en akse. ProfitVSFirst = [Fortjeneste] - FIRST([Fortjeneste]) INDEX(1)
ISATLEVEL Rapporterer om en angitt kolonne finnes på gjeldende nivå. IsFiscalYearAtLevel = ISATLEVEL([Regnskapsår]) N/A
LAST Refererer til den siste raden i en akse. ProfitVSLast = [Fortjeneste] - LAST([Fortjeneste]) INDEX(-1)
LOOKUP Evaluerer et uttrykk i den visuelle matrisen ved hjelp av gjeldende kontekst. LookupSalesFor2025WithContext = LOOKUP(SUM([Sales]), [Year], "2025") N/A
LOOKUPWITHTOTALS Evaluerer et uttrykk i den visuelle matrisen med totalsummer. LookupSalesFor2025WithTotals = LOOKUPWITHTOTALS(SUM([Salg]), [År], "2025") N/A
MOVINGAVERAGE Legger til et glidende gjennomsnitt på en akse. MovingAverageSales = MOVINGAVERAGE([Salgsbeløp], 2) WINDOW
NEXT Refererer til en neste rad i en akse. ProfitVSNext = [Fortjeneste] - NEXT([Fortjeneste]) OFFSET(1)
PREVIOUS Refererer til en tidligere rad i en akse. ProfitVSPrevious = [Fortjeneste] - PREVIOUS([Fortjeneste]) OFFSET(-1)
RANGE Refererer til en rad i en akse. Gjennomsnittsalg = GJENNOMSNITTX(RANGE(1), [Salgsbeløp]) WINDOW
RUNNINGSUM Legger til en løpende sum på en akse. RunningSumSales = RUNNINGSUM([Salgsbeløp]) WINDOW

Parametere som styrer beregningsflyten

Noen visuelle beregningsfunksjoner godtar valgfrie parametere som styrer hvordan beregningen krysser den visuelle matrisen:

  • Axis og Reset er spesifikke for visuelle beregninger. De refererer til den visuelle strukturen i stedet for bestemte felt.
  • OrderBy og PartitionBy arbeid også i beregnede kolonner og mål. De refererer til felt direkte.

Avsnittene nedenfor beskriver hver parameter og når du skal bruke en over en annen.

Axis

Mange funksjoner har en valgfri Axis parameter, som du bare kan bruke i visuelle beregninger. Parameteren Axis påvirker hvordan den visuelle beregningen krysser den visuelle matrisen. Parameteren Axis er standard på den første aksen i visualobjektet. For mange visualobjekter er ROWSden første aksen , noe som betyr at beregningen av visualobjektet evalueres rad for rad i den visuelle matrisen, fra topp til bunn. Tabellen nedenfor viser gyldige verdier for parameteren Axis :

Axis ikon Axis navn Description
ROWS Beregner på tvers av rader.
COLUMNS Beregner på tvers av kolonner.
ROWS COLUMNS Beregner på tvers av rader, og deretter kolonner.
COLUMNS ROWS Beregner på tvers av kolonner, og deretter rader.
ROWPAGES Beregner på tvers av små multipler.
ROWS ROWPAGES Beregner på tvers av rader, og deretter små multipler.
COLUMNS ROWPAGES Beregner på tvers av kolonner, og deretter små multipler.
ROWPAGES ROWS Beregner på tvers av små multipler, og deretter rader.
ROWPAGES COLUMNS Beregner på tvers av små multipler, og deretter kolonner.
ROWS COLUMNS ROWPAGES Beregner på tvers av rader, kolonner og deretter små multipler.
ROWS ROWPAGES COLUMNS Beregner på tvers av rader, små multipler og deretter kolonner.
COLUMNS ROWS ROWPAGES Beregner på tvers av kolonner, rader og deretter små multipler.
COLUMNS ROWPAGES ROWS Beregner på tvers av kolonner, små multipler og deretter rader.
ROWPAGES ROWS COLUMNS Beregner på tvers av små multipler, rader og deretter kolonner.
ROWPAGES COLUMNS ROWS Beregner på tvers av små multipler, kolonner og deretter rader.

Visuelle beregninger støtter visualobjekter som bruker små multipler. I den visuelle matrisen vises feltet i feltbrønnen Små multipler på aksen ROWPAGES . Bruk ROWPAGES denne til å beregne på tvers av de små multiplene, eller kombinere den med ROWS og COLUMNS kontrollere traverseringsrekkefølgen.

Note

Hvis du angir en akse som ikke finnes på visualobjektet, ignorerer beregningen denne aksen.

Reset

Mange funksjoner inkluderer en valgfri Reset parameter som du bare kan bruke i visuelle beregninger. Denne parameteren partisjonerer målkolonnen for å avgjøre når funksjonen tilbakestilles til 0 eller endrer omfang mens du krysser den visuelle matrisen.

Standardverdien er NONE, noe som betyr at beregningen ikke tilbakestilles.

Parameteren Reset godtar disse verdiene:

  • Et heltall.
  • En kolonnereferanse.
  • Et synonym: HIGHESTPARENT, LOWESTPARENTeller NONE.

Hver verdi angir et målnivå i beregningshierarkiet for visualobjekter. Beregningen tolker dette nivået i absolutt eller relativ modus.

Et heltallstegn bestemmer modusen. Positive verdier bruker absolutt modus, negative verdier bruker relativ modus, og 0 tilbakestiller ikke beregningen. Synonymene inneholder tilsvarende verdier.

En kolonnereferanse bruker absolutt modus.

Absolutt tilbakestillingsmodus

Absolutt modus partisjoner etter målkolonnen og alle kolonner over den. Hvis målkolonnen ikke finnes på et nivå, partisjonerer beregningen etter de gjenværende tilgjengelige kolonnene.

Et positivt heltall identifiserer målkolonnen fra toppen av hierarkiet. Den øverste kolonnen er 1, den neste kolonnen er 2, og maksimumsverdien er N, antall kolonner i hierarkiet. Verdier som er større enn N, bruker N. Du kan også angi kolonnen direkte.

Vurder for eksempel en visuell beregning med disse hierarkinivåene: År, Kvartal, Måned og Dag. Tabellen nedenfor viser hvordan beregningspartisjonene på hvert nivå, avhengig av verdien av Reset:

Nivå/verdi Reset = 1 eller år Reset = 2 eller kvartal Reset = 3 eller måned Reset = 4 eller dag
Dagnivå Year Kvartal og år Måned, kvartal og år Dag, måned, kvartal og år
Månedlig nivå Year Kvartal og år Måned, kvartal og år Måned, kvartal og år
Kvartalsnivå Year Kvartal og år Kvartal og år Kvartal og år
Årsnivå Year Year Year Year
Totalnivå None None None None

Relativ tilbakestillingsmodus

For et negativt heltall -X, relative moduspartisjoner etter kolonner som er X eller flere nivåer over gjeldende nivå. Hvis ingen kolonne oppfyller denne betingelsen, partisjoneres ikke beregningen. Gyldige verdier varierer fra -1 til og med -N+1, der N er antall kolonner i hierarkiet. Verdier under dette området bruker -N+1.

Tabellen nedenfor viser relativ modus for et hierarki med År, Kvartal, Måned og Dag:

Nivå/verdi Reset = -1 Reset = -2 Reset = -3
Dagnivå Måned, kvartal og år Kvartal og år Year
Månedlig nivå Kvartal og år Year None
Kvartalsnivå Year None None
Årsnivå None None None
Totalnivå None None None

Tilbakestill parameter-synonymer

Parameteren Reset inneholder også følgende synonymer:

  • NONE er standardverdien. Den tilbakestiller ikke beregningen og tilsvarer 0.
  • HIGHESTPARENT utfører en absolutt tilbakestilling med det høyeste nivået og tilsvarer 1.
  • LOWESTPARENT utfører en relativ tilbakestilling av den nærmeste overordnede og tilsvarer -1.

Eksempler på bruk av tilbakestillingsparameteren

For et hierarki med år, kvartal, måned og dag tilsvarer følgende beregninger. De returnerer summen av salgsbeløpet og starter på nytt for hvert år på hvert evalueringsnivå:

RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])

Følgende beregninger starter summen av salgsbeløpet på 0 for hver overordnede. Overordnet avhenger av evalueringsnivået:

RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], -1)

Følgende beregning tilbakestilles ikke. Den legger til hver dags salgsbeløp i de forrige verdiene:

RUNNINGSUM([Sales Amount])

OrderBy Og PartitionBy

Parameteren OrderBy godtar ORDERBY, og parameteren PartitionBy godtar PARTITIONBY. I motsetning til Axis og Resetkan du bruke disse parameterne i beregnede kolonner, mål og visuelle beregninger, og de refererer direkte til felt.

Ikke alle funksjoner inneholder disse parameterne. Visuelle beregningsfunksjoner gir ikke en PartitionBy parameter. Vindusfunksjoner gir bare en Reset parameter hvis du bruker dem i en visuell beregning. Parameteren Relation for vindusfunksjoner er tilgjengelig uansett om du bruker den i en visuell beregning, men den godtar bare en Axis hvis du bruker den i en visuell beregning.

Velg mellom disse parameterne

Du trenger ikke å angi alle disse parameterne, og du kan kombinere dem. Slik bestemmer du hvilken parameter som skal brukes:

  • Foretrekker Axis og Reset når du vil ha feltagnostisk virkemåte som følger den visuelle strukturen. Å referere til den visuelle strukturen er mer fleksibel enn eksplisitt å referere til felt.
  • Bruk OrderBy og PartitionBy når du vil feste beregningen til bestemte felt uavhengig av det visuelle oppsettet.
  • Bruk PartitionBy i stedet Reset for når aksen har ett nivå. Reset krever flere nivåer, slik at det ikke fungerer med ett felt eller med flere felt på ett enkelt nivå.

Parametervelgere

Bruk parametervelgere til å velge verdier for visualobjektberegningsfunksjonsparametere. Følgende bilde viser Slå opp en verdi med totaler-malen :

Skjermbilde som viser parametervelgeren.

Hvis du vil aktivere parametervelgere, trykker du ctrl+mellomrom.

Visuelle beregningsmaler

Visuelle beregninger inkluderer maler for å gjøre det enklere å skrive vanlige beregninger. Malknappen i redigeringsmodus for visuelle beregninger åpner en meny med tilgjengelige maler.

Skjermbilde av bruk av maler for visuelle beregninger.

Følgende maler er tilgjengelige:

  • Løpende sum. Beregner summen av verdier, og legger til gjeldende verdi i de foregående verdiene. RUNNINGSUM Bruker funksjonen.
  • Glidende gjennomsnitt. Beregner et gjennomsnitt av et sett med verdier i et gitt vindu ved å dele summen av verdiene med størrelsen på vinduet. MOVINGAVERAGE Bruker funksjonen.
  • Prosent av overordnet. Beregner prosentandelen av en verdi i forhold til den overordnede verdien. COLLAPSE Bruker funksjonen.
  • Prosent av totalsummen. Beregner prosentandelen av en verdi i forhold til alle verdier ved hjelp av COLLAPSEALL funksjonen.
  • Gjennomsnitt av barn. Beregner gjennomsnittsverdien for settet med underordnede verdier. EXPAND Bruker funksjonen.
  • Kontra forrige. Sammenligner en verdi med en foregående verdi ved hjelp av PREVIOUS funksjonen.
  • Versus neste. Sammenligner en verdi med en etterfølgende verdi ved hjelp av NEXT funksjonen.
  • Versus først. Sammenligner en verdi med den første verdien ved hjelp av FIRST-funksjonen.
  • Versus sist. Sammenligner en verdi med den siste verdien ved hjelp av LAST-funksjonen.
  • Slå opp en verdi med kontekst. Finner en verdi eller evaluerer et uttrykk på den visuelle matrisen i gjeldende kontekst. LOOKUP Bruker funksjonen.
  • Slå opp en verdi med totalsummer. Finner en verdi eller evaluerer et uttrykk i den visuelle matrisen med totalsummer. LOOKUPWITHTOTALS Bruker funksjonen.

Skjule felt i visualobjektet

I redigeringsmodus for visuelle beregninger kan du skjule felt fra visualobjektet akkurat som du skjuler kolonner og tabeller i modelleringsvisningen. Hvis du for eksempel bare vil vise beregningen av fortjenestevisualobjektet , skjuler du salgsbeløp og totale produktkostnader fra visningen.

Skjermbilde av hvordan du skjuler elementer fra visningen til et visualobjekt.

Skjulte felt forblir i den visuelle matrisen, slik at visuelle beregninger fremdeles kan referere til dem. De vises ikke i det resulterende visualobjektet. Inkluder skjulte felt bare når de visuelle beregningene krever dem.

Formatere en visuell beregning

Formater en visuell beregning med datatyper, formateringsalternativer eller en egendefinert formatstreng på visualobjektnivå. Alternativene for dataformat i Generelt-delen i formateringsruten styrer formatet.

Skjermbilde av redigeringsmodusen for visuelle beregninger som viser en visuell beregning som returnerer en prosentdel formatert som en prosentdel.

Hensyn og begrensninger

Ustøttede visuelle typer

Visuelle beregninger og skjulte felt fungerer ikke med følgende visuelle effekter:

  • Slicer, R-visualisering, Python-visualisering
  • Nøkkelinfluensere, dekomponeringstre, spørsmål og svar, smart fortelling
  • Målinger, paginert rapport, Power Apps, Power Automate
  • Egendefinerte visualobjekter

Funksjoner som ikke støttes

Følgende funksjoner er ikke tilgjengelige med visuelle beregninger:

Begrensninger ved publisering og deling

Andre begrensninger

  • Feltparametrene fungerer med visuelle beregninger, men har noen begrensninger.
  • Live-tilkoblinger til SQL Server Analysis Services krever versjon 2025 eller nyere.