Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:✅ Power BI Desktop och služba Power BI
En visuell beräkning är en DAX-beräkning som du definierar och kör direkt på ett visuellt objekt, i stället för att lägga till den i den semantiska modellen. Eftersom en visuell beräkning fungerar med de data som redan visas i det visuella objektet kan du uttrycka vanliga affärsberäkningar – t.ex. löpande summor, glidande medelvärden och jämförelser mellan tidsperioder – utan att navigera i filterkontexten eller modellrelationerna. Resultatet är vanligtvis kortare DAX som är enklare att underhålla och ofta presterar bättre än ett motsvarande mått.
Den här artikeln förklarar vad visuella beräkningar är, hur de fungerar i den visuella matrisen, hur parametrarna som styr dem fungerar och hur de skiljer sig från mått och beräknade kolumner, så att du kan bestämma när en visuell beräkning är rätt val.
Här är ett exempel på en visuell beräkning som definierar en löpande summa för Försäljningsbelopp. Den DAX som krävs är enkel:
Running sum = RUNNINGSUM([Sales Amount])
En beräkning kan referera till vilka data som helst i visualen, inklusive kolumner, mått eller andra visuella beräkningar. Den här möjligheten tar bort komplexiteten i den semantiska modellen och förenklar processen med att skriva DAX. Du kan använda visuella beräkningar för att slutföra vanliga affärsberäkningar, till exempel löpande summor eller glidande medelvärden.
Visuella beräkningar skiljer sig från de andra beräkningsalternativen i DAX:
- Visuella beräkningar lagras inte i modellen. I stället lagrar du dem i det visuella objektet. Den här begränsningen innebär att visuella beräkningar bara kan referera till det visuella objektet. Du måste lägga till något från modellen i visualiseringen innan den visuella beräkningen kan referera till det. Den här begränsningen frigör visuella beräkningar från att bry sig om komplexiteten i filterkontexten och modellen.
- Visuella beräkningar kombinerar enkelheten i kontexten från beräknade kolumner med flexibiliteten i beräkningen på begäran från mått.
- Jämfört med mått fungerar visuella beräkningar på aggregerade data i stället för detaljnivån, vilket ofta leder till prestandafördelar. När en beräkning kan uppnås antingen med ett nytt mått eller en visuell beräkning leder den senare ofta till bättre prestanda.
- Eftersom visuella beräkningar är en del av det visuella objektet kan de referera till den visuella strukturen, vilket leder till mer flexibilitet.
En mer djupgående jämförelse av hur du lägger till beräkningar i Power BI finns i Använda beräkningsalternativ i Power BI Desktop.
Visuella tabell- och matrisobjekt exponerar även visuella beräkningar via den anpassade totalupplevelsen, vilket gör att du kan ändra vad den totala raden visar utan att skriva DAX. Mer information finns i artiklarna för tabell - och matrisvisualisering .
Information om hur du lägger till eller redigerar en visuell beräkning finns i Skapa visuella beräkningar.
Så här fungerar visuella beräkningar
Du skapar visuella beräkningar i redigeringsläge , som öppnas över det valda visuella objektet. Redigeringsytan har tre delar: en förhandsgranskning av det visuella objektet, ett formelfält för DAX-uttrycket och en visuell matris som visar resultat när du skriver.
Eftersom du lagrar en visuell beräkning i det visuella objektet kan den referera till vad som helst i det visuella objektet – kolumner, mått eller andra visuella beräkningar – men inget annat i modellen. De flesta visuella beräkningar utvärderar rad för rad mot den visuella matrisen, så sammansättningsfunktioner som SUM är vanligtvis onödiga. Du kan inte använda funktioner som är beroende av modellrelationer – USERELATIONSHIP, RELATED och RELATEDTABLE.
När du har lagt till en visuell beräkning visas den i fältlistan i det visuella objektet och återges på själva det visuella objektet.
DAX-funktioner som är tillgängliga i visuella beräkningar
Många befintliga DAX-funktioner fungerar i visuella beräkningar. Eftersom visuella beräkningar fungerar inom ramen för den visuella matrisen är funktioner som förlitar sig på modellrelationer som USERELATIONSHIP, RELATED eller RELATEDTABLE inte tillgängliga.
Visuella beräkningar introducerar också en uppsättning funktioner som är specifika för visuella beräkningar. Många av dessa funktioner är lättanvända genvägar till DAX-fönsterfunktioner.
| Funktion | beskrivning | Exempel | Genväg till |
|---|---|---|---|
| COLLAPSE | Beräkningen utvärderas på en högre nivå av axeln. | Procent av förälder = DIVIDE([Försäljningsbelopp], COLLAPSE([Försäljningsbelopp], ROWS)) | Ej tillämpligt |
| COLLAPSEALL | Beräkningen utvärderas på den totala nivån för axeln. | Procent av totalsumma = DIVIDE([Försäljningsbelopp], COLLAPSEALL([Försäljningsbelopp], ROWS)) | Ej tillämpligt |
| EXPAND | Beräkningen utvärderas på en lägre nivå av axeln. | Genomsnitt av barn = EXPAND(AVERAGE([Sales Amount]), ROWS) | Ej tillämpligt |
| EXPANDALL | Beräkningen utvärderas på axelns bladnivå. | Medelvärde för bladnivå = EXPANDALL(AVERAGE([Sales Amount]), ROWS) | Ej tillämpligt |
| FIRST | Refererar till den första raden i en axel. | ProfitVSFirst = [Profit] - FIRST([Profit]) | INDEX(1) |
| ISATLEVEL | Rapporterar om en angiven kolumn finns på den aktuella nivån. | IsFiscalYearAtLevel = ISATLEVEL([Räkenskapsår]) | Ej tillämpligt |
| LAST | Refererar till den sista raden i en axel. | ProfitVSLast = [Vinst] - LAST([Vinst]) | INDEX(-1) |
| LOOKUP | Utvärderar ett uttryck i den visuella matrisen med hjälp av den aktuella kontexten. | LookupSalesFor2025WithContext = LOOKUP(SUM([Sales]), [Year], "2025") | Ej tillämpligt |
| LOOKUPWITHTOTALS | Utvärderar ett uttryck i en visuell matris med totaler. | LookupSalesFor2025WithTotals = LOOKUPWITHTOTALS(SUM([Sales]), [Year], "2025") | Ej tillämpligt |
| MOVINGAVERAGE | Lägger till ett glidande medelvärde på en axel. | RörligtGenomsnittFörsäljning = MOVINGAVERAGE([Försäljningsbelopp], 2) | WINDOW |
| NEXT | Refererar till nästa rad i en axel. | ProfitVSNext = [Vinst] - NEXT([Vinst]) | OFFSET(1) |
| PREVIOUS | Refererar till en tidigare rad i en axel. | ProfitVSPrevious = [Vinst] - PREVIOUS([Vinst]) | OFFSET(-1) |
| RANGE | Refererar till en skiva av rader på en axel. | AverageSales = AVERAGEX(RANGE(1), [Försäljningsbelopp]) | WINDOW |
| RUNNINGSUM | Lägger till en löpande summa på en axel. | RunningSumSales = RUNNINGSUM([Försäljningsbelopp]) | WINDOW |
Parametrar som styr beräkningsflödet
Vissa visuella beräkningsfunktioner accepterar valfria parametrar som styr hur beräkningen passerar den visuella matrisen:
- Axis och Reset är specifika för visuella beräkningar. De refererar till den visuella strukturen snarare än specifika fält.
- OrderBy och PartitionBy fungerar även i beräknade kolumner och mått. De refererar till fält direkt.
I följande avsnitt beskrivs varje parameter och när du ska använda en över en annan.
Axis
Många funktioner har en valfri Axis parameter som du bara kan använda i visuella beräkningar. Parametern Axis påverkar hur den visuella beräkningen passerar den visuella matrisen. Parametern Axis är som standard den första axeln i det visuella objektet. För många visuella objekt är ROWSden första axeln , vilket innebär att den visuella beräkningen utvärderas rad för rad i den visuella matrisen, uppifrån och ned. I följande tabell visas giltiga värden för parametern Axis :
| Axis ikon | Axis Namn | beskrivning |
|---|---|---|
|
ROWS | Beräknar lodrätt över rader uppifrån och ned. |
|
COLUMNS | Beräknar vågrätt mellan kolumner från vänster till höger. |
|
ROWS COLUMNS | Beräknar lodrätt över rader uppifrån och ned och fortsätter kolumn för kolumn från vänster till höger. |
|
COLUMNS ROWS | Beräknar vågrätt över kolumner från vänster till höger och fortsätter rad för rad uppifrån och ned. |
Kommentar
Om du anger en axel som inte finns i det visuella objektet ignorerar beräkningen den axeln.
Reset
Många funktioner innehåller en valfri Reset parameter som du bara kan använda i visuella beräkningar. Parametern Reset styr om och när funktionen återställer värdet till 0 eller växlar till ett annat omfång när den passerar den visuella matrisen. Det styr det här beteendet genom att partitionera målkolumnen. Eftersom beräkningar sker inom en partition avgör sättet som kolumnen delas upp i partitioner om en beräkning nollställs.
Standardvärdet för parametern Reset är NONE, vilket innebär att den visuella beräkningen aldrig startas om.
Parametern Reset accepterar olika typer av värden:
- Heltal
- Kolumnreferenser
- Särskilda synonymer: HIGHESTPARENT, LOWESTPARENT, NONE
I varje fall anger parametern en enda nivå i den visuella beräkningshierarkin (målnivån). Hur beräkningen tolkar den här nivån kan dock variera.
Beteendet Reset fungerar i två olika lägen: absolut och relativ.
När du använder heltalsvärden för parametern eller deras motsvarigheter NONE, HIGHESTPARENT, och LOWESTPARENT, kan du välja mellan dessa två lägen efter heltalssignalen: positiva värden utför en återställning i absolut läge och negativa värden utför en återställning i relativt läge (och noll återställs inte alls, standardbeteendet).
Om du anger en kolumnreferens fungerar du också i absolut läge. Dessa värden avgör hur målkolumnen partitioneras och därför om den återställs. Följande avsnitt beskriver dessa två lägen:
Absolut återställningsläge
Absolut läge är ett beteende för parametern Reset i visuella beräkningar. Det här läget anger att beräkningen ska partitioneras efter målkolumnen och alla dessa kolumner ovanför den. Den här regeln gäller på alla nivåer i beräkningen. På nivåer ovanför målkolumnen (där målkolumnen inte finns och eventuellt andra kolumner) partitioneras beräkningspartitionerna efter de återstående tillgängliga kolumnerna. Det positiva heltalsvärdet identifierar målkolumnen från början (den översta kolumnen är 1, nästa är 2 och så vidare). Den går upp till N (antalet kolumner i hierarkin) och eventuella högre värden trimmas ned. Du kan också ange kolumnen direkt.
Du kan till exempel överväga en visuell beräkning med dessa hierarkinivåer: År, Kvartal, Månad och Dag. Följande tabell visar hur beräkningen delas upp på varje nivå beroende på värdet på Reset:
| Nivå/värde | Reset = 1 eller År | Reset = 2 eller kvartal | Reset = 3 eller månad | Reset = 4 eller dag |
|---|---|---|---|---|
| Dagnivå | År | Kvartal och år | Månad, kvartal och år | Dag, månad, kvartal och år |
| Månadsnivå | År | Kvartal och år | Månad, kvartal och år | Månad, kvartal och år |
| Kvartalsnivå | År | Kvartal och år | Kvartal och år | Kvartal och år |
| Årsnivå | År | År | År | År |
| Sammanlagd totalnivå | Ingen | Ingen | Ingen | Ingen |
Relativt återställningsläge
Relativt läge är ett beteende för parametern Reset i visuella beräkningar. Givet ett negativt heltalsvärde –X partitioneras beräkningen på varje nivå efter alla kolumner som ligger X nivåer eller fler ovanför den i hierarkin (eller partitioneras inte alls om det inte finns någon sådan nivå). Giltiga värden för det här läget är mellan -1 och -N+1 (där N är antalet kolumner i hierarkin) och eventuella lägre värden trimmas upp. Överväg återigen en visuell beräkning med dessa hierarkinivåer: År, Kvartal, Månad och Dag. Följande tabell visar hur beräkningspartitionerna ser ut på varje nivå beroende på värdet på Reset
| Nivå/värde | Reset = -1 | Reset = -2 | Reset = -3 |
|---|---|---|---|
| Dagnivå | Månad, kvartal och år | Kvartal och år | År |
| Månadsnivå | Kvartal och år | År | Ingen |
| Kvartalsnivå | År | Ingen | Ingen |
| Årsnivå | Ingen | Ingen | Ingen |
| Sammanlagd totalnivå | Ingen | Ingen | Ingen |
Återställ parametersynonymer
Parametern Reset innehåller också följande synonymer:
- NONE är standardvärdet. Den återställer inte beräkningen och motsvarar 0.
- HIGHESTPARENT utför en absolut återställning på den högsta nivån och motsvarar 1.
- LOWESTPARENT utför en relativ återställning av den närmaste föräldern och motsvarar -1.
Exempel på hur du använder parametern Återställ
Överväg en visuell beräkning med dessa hierarkinivåer: År, Kvartal, Månad och Dag. Följande visuella beräkningar är likvärdiga och returnerar summan av försäljningsbeloppet som startas om för varje år, oavsett vilken nivå beräkningen utvärderas på (se absolut återställningsläge):
RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])
Däremot returnerar följande visuella beräkningar både summan av försäljningsbeloppet som börjar från 0 för varje omedelbar överordnad, vilket beror på vilken nivå beräkningen utvärderas på (se relativt återställningsläge).
RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], -1)
Slutligen återställs inte den här visuella beräkningen och fortsätter att lägga till värdet Försäljningsbelopp för varje dag till föregående värden, utan att starta om.
RUNNINGSUM([Sales Amount])
OrderBy och PartitionBy
Parametern OrderBy accepterar ORDERBY, och parametern PartitionBy accepterar PARTITIONBY. Till skillnad från Axis och Resetkan du använda dessa parametrar i beräknade kolumner, mått och visuella beräkningar, och de refererar till fält direkt.
Alla funktioner tillhandahåller inte dessa parametrar. Funktioner som är exklusiva för visuella beräkningar har ingen parameter PartitionBy. Fönsterfunktioner ger bara en Reset parameter om du använder dem i en visuell beräkning. Parametern Relation för fönsterfunktioner är tillgänglig oavsett om du använder den i en visuell beräkning, men den accepterar bara en Axis om du använder den i en visuell beräkning.
Välj mellan dessa parametrar
Du behöver inte ange alla dessa parametrar och du kan kombinera dem. Så här bestämmer du vilken parameter som ska användas:
- Föredrar Axis och Reset när du vill ha fältagnostiskt beteende som följer den visuella strukturen. Att referera till den visuella strukturen är mer flexibelt än att uttryckligen referera till fält.
- Använd OrderBy och PartitionBy när du vill fästa beräkningen på specifika fält oavsett den visuella layouten.
- Använd PartitionBy i stället för Reset när axeln bara har en nivå. Reset förväntar sig flera nivåer på axeln, så det fungerar inte när det bara finns ett fält eller när flera fält finns på en enda nivå på axeln.
Parameterväljare
Parameterväljare gör det enkelt att välja värden för parametrar i visuella beräkningsfunktioner. Till exempel ser du i bilden nedan att mallen Slå upp ett värde med summor har lästs in:
Du kan också aktivera parameterväljarna med hjälp av kortkommandot CTRL+SPACE .
Mallar för visuell beräkning
Visuella beräkningar innehåller mallar för att göra det enklare att skriva vanliga beräkningar. Knappen mall i redigeringsläget för visuella beräkningar öppnar en meny med tillgängliga mallar.
Följande mallar är tillgängliga:
- Löpande summa. Beräknar summan av värden och lägger till det aktuella värdet i föregående värden. Använder RUNNINGSUM funktionen.
- Glidande medelvärde. Beräknar ett medelvärde av en uppsättning värden i ett visst fönster genom att dividera summan av värdena med fönstrets storlek. Använder MOVINGAVERAGE funktionen.
- Procent av förälder. Beräknar procentandelen av ett värde i förhållande till det överordnade elementet. Använder COLLAPSE funktionen.
- Procent av totalsumman. Beräknar procentandelen av ett värde i förhållande till alla värden med hjälp av COLLAPSEALL funktionen .
- Genomsnitt för barn. Beräknar det genomsnittliga värdet av barnvärdena. Använder EXPAND funktionen.
- Jämfört med tidigare. Jämför ett värde med ett föregående värde med hjälp av PREVIOUS funktionen.
- Mot nästa Jämför ett värde med ett efterföljande värde med hjälp av NEXT funktionen .
- Jämfört med först. Jämför ett värde med det första värdet med hjälp av funktionen FIRST.
- Jämfört med förra gången. Jämför ett värde med det sista värdet med hjälp av funktionen LAST.
- Slå upp ett värde med kontext. Hitta ett värde eller utvärdera ett uttryck i den visuella matrisen i den aktuella kontexten med hjälp av LOOKUP funktionen.
- Leta upp ett värde med totalsummor. Hitta ett värde eller utvärdera ett uttryck i den visuella matrisen med summor med hjälp av LOOKUPWITHTOTALS funktionen .
Dölj fält i det visuella objektet
I redigeringsläget för visuella beräkningar kan du dölja fält från det visuella objektet precis som du döljer kolumner och tabeller i modelleringsvyn. Om du till exempel bara vill visa den visuella beräkningen Vinst döljer du Försäljningsbelopp och Total produktkostnad från vyn.
Att dölja fält tar inte bort dem från det visuella objektet eller från den visuella matrisen, så dina visuella beräkningar kan fortfarande referera till dem och fortsätta att fungera. Ett dolt fält visas fortfarande i den visuella matrisen men visas inte i det resulterande visuella objektet. Inkludera endast dolda fält om de behövs för att dina visuella beräkningar ska fungera.
Formatera en visuell beräkning
Formatera en visuell beräkning med hjälp av datatyper och formateringsalternativ, eller med hjälp av en anpassad formatsträng på visuell nivå. Alternativen för dataformat i avsnittet Allmänt i formateringsfönstret styr formatet.
Beaktanden och begränsningar
Visuella typer som inte stöds
Visuella beräkningar och dolda fält fungerar inte med följande visuella objekt:
- Skivdelare, R-visualisering, Python-visualisering
- Viktiga påverkare, nedbrytningsträd, Q&A, smart narrativ
- Mått, paginerad rapport, Power Apps, Power Automate
- Små multiplar, Uppspelningsaxel i spridningsdiagram
- Anpassade bilder
Funktioner som inte stöds
Följande funktioner är inte tillgängliga med visuella beräkningar:
- Filtrera, sortera eller ändra sammansättningar
- Självrefererande (en beräkning kan inte hänvisa till sig själv)
- Kopiera/klistra in eller återanvända i visuella objekt
- Datakategorier, datagränser eller visa objekt utan data
- Dynamiska formatsträngar (kan inte ange eller använda som formatsträng)
- Anpassning av visuella beräkningar eller dolda fält
- Du kan ange aviseringar för visuella beräkningar, men ändringar i visuella beräkningsvärden utlöser inte aviseringarna.
- Se detaljerad information om poster
- IntelliSense i Power BI Embedded
Begränsningar för publicering och delning
- Det går inte att fästa på instrumentpaneler
- Det går inte att använda Publicera på webben
- Dataexporter exkluderar visuella beräkningsresultat. dolda fält visas endast i underliggande dataexporter
Andra begränsningar
- Fältparametrar fungerar med visuella beräkningar men har vissa begränsningar.
- Live-anslutningar till SQL Server Analysis Services kräver version 2025 eller senare.
Relaterat innehåll
Mer information om hur du använder visuella beräkningar finns i följande resurser:
- Skapa visuella beräkningar
- Träningsmodul: Skapa visuella beräkningar i Power BI Desktop
- Använda beräkningsalternativ i Power BI Desktop
- Skapa mått för dataanalys i Power BI Desktop
- Skapa och formatera tabellvisualiseringar i Power BI – innehåller anpassade summor som drivs av visuella beräkningar.