Dela via


Använda visuella beräkningar (förhandsversion)

Kommentar

Visuella beräkningar är för närvarande i förhandsversion.

En visuell beräkning är en DAX-beräkning som definieras och körs direkt i ett visuellt objekt. Visuella beräkningar gör det enklare att skapa beräkningar som tidigare var svåra att skapa, vilket leder till enklare DAX, enklare underhåll och bättre prestanda.

Här är ett exempel på en visuell beräkning som definierar en löpande summa för Försäljningsbelopp. Observera att DET DAX som krävs är enkelt:

Running sum = RUNNINGSUM([Sales Amount])

Skärmbild av DAX för visuella beräkningar.

En beräkning kan referera till alla data i det visuella objektet, inklusive columnsmå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 och lagras i stället i det visuella objektet. Det innebär att visuella beräkningar bara kan referera till vad som finns i det visuella objektet. Allt i modellen måste läggas till i det visuella objektet innan den visuella beräkningen kan referera till den, vilket 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äknad columns med flexibiliteten för beräkning 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 olika sätt att lägga till beräkningar i Power BI finns i Använda beräkningsalternativ i Power BI Desktop.

När du har aktiverat visuella beräkningar kan du:

  • Lägga till visuella beräkningar i dina rapporter
  • Dölj vissa fält
  • Skapa visuella beräkningar snabbt med hjälp av mallar
  • Gör flexibla visuella beräkningar genom att referera till det visuella objektets axlar

Följande avsnitt innehåller information om hur vart och ett av elementen previous , som beskrivs i punkterna, fungerar med visuella beräkningar.

Aktivera visuella beräkningar

Innan september 2024 måste du aktivera det i Förhandsversionsfunktioner för alternativ och inställningar>>för att kunna använda visuella beräkningar. Välj Visuella beräkningar och välj OK. Visuella beräkningar aktiveras när Power BI Desktop har startats om.

Från september 2024 och framåt är det här steget inte längre nödvändigt eftersom visuella beräkningar är aktiverade som standard. Även om de fortfarande är i förhandsversion kan du använda ovanstående inställningar för att inaktivera visuella beräkningar om det önskas.

Lägga till en visuell beräkning

Om du vill lägga till en visuell beräkning väljer du ett visuellt objekt och väljer sedan knappen Ny visuell beräkning i menyfliksområdet:

Skärmbild av att välja den nya knappen för visuell beräkning i menyfliksområdet.

De visuella beräkningarna öppnas i redigeringslägewindow. Skärmen Redigera läge består av tre huvudavsnitt, som visas uppifrån och ned i följande bild:

  • Den visuella förhandsgranskningen som visar det visuella objekt som du arbetar med
  • Ett formelfält där du kan lägga till visuella beräkningar
  • Den visuella matrisen som visar data i det visuella objektet och visar resultatet av visuella beräkningar när du lägger till dem. Formatering eller teman som du använder för ditt visuella objekt tillämpas inte på den visuella matrisen.

Skärmbild som visar områden i redigeringsskärmen för visuella beräkningar.

Om du vill lägga till en visuell beräkning skriver du uttrycket i formelfältet. I ett visuellt objekt som till exempel innehåller Försäljningsbelopp och Total produktkostnad per räkenskapsår kan du lägga till en visuell beräkning som beräknar vinsten för varje år genom att skriva:

Profit = [Sales Amount] – [Total Product Cost]

Skärmbild av hur du anger en visuell beräkning.

Som standard utvärderas de flesta visuella beräkningar i ett visuellt objekt rad för rad, till exempel en beräknad kolumn. I exemplet previous subtraheras aktuellt försäljningsbelopp och Total produktkostnad för varje rad i den visuella matrisen och resultatet returneras i kolumnen Vinst. Även om det är möjligt behöver du inte lägga till en aggregeringsfunktion som SUM som du skulle göra i ett mått. I själva verket är det bättre att inte lägga till sådana aggregeringar när de inte behövs, så att du enklare kan skilja mellan mått och visuella beräkningsuttryck.

När du lägger till visuella beräkningar visas de i listan över fält i det visuella objektet:

Skärmbild av visuella beräkningar som visas i listan över fält i det visuella objektet.

Dessutom visas den visuella beräkningen i det visuella objektet:

Skärmbild av visuella beräkningar som visas i det visuella objektet.

Du kan använda många befintliga DAX-funktioner i visuella beräkningar. Funktioner som är specifika för visuella beräkningar är också tillgängliga. Eftersom visuella beräkningar fungerar inom ramen för den visuella matrisen kan funktioner som förlitar sig på modellrelationer som USERELATIONSHIP, RELATED eller RELATEDTABLE inte användas.

Dölja fält från 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 kan dölja columns och tabeller i modelleringsvyn. Om du till exempel bara vill visa den visuella vinstberäkningen kan du dölja försäljningsbelopp och total vinstkostnad från vyn:

Skärmbild av att dölja element från ett visuellt objekts vy.

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. Vi rekommenderar att du endast inkluderar dolda fält om de behövs för att dina visuella beräkningar ska fungera.

Använda mallar

Visuella beräkningar innehåller mallar för att göra det enklare att skriva vanliga beräkningar. Du hittar mallar genom att välja mallknappen och välja en mall att arbeta med:

Skärmbild av hur du använder mallar för visuella beräkningar.

Du kan också skapa en mallberäkning för visuella objekt från menyfliksområdet genom att klicka på den nedre delen av knappen Ny visuell beräkning .

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. RUNNINGSUM Använder funktionen.
  • Glidande medelvärde. Beräknar ett medelvärde av en uppsättning värden i en given window genom att dividera summan av värdena med storleken på window. MOVINGAVERAGE Använder funktionen.
  • Procent av överordnad. Beräknar procentandelen av ett värde i förhållande till dess överordnade värde. COLLAPSE Använder 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 för uppsättningen med underordnade värden. EXPAND Använder funktionen.
  • previousJämfört med . Jämför ett värde med ett föregående värde med hjälp av PREVIOUS funktionen.
  • nextJämfört med . Jämför ett värde med ett efterföljande värde med hjälp av NEXT funktionen .
  • firstJämfört med . Jämför ett värde med värdet first med hjälp av FIRST funktionen.
  • lastJämfört med . Jämför ett värde med värdet last med hjälp av LAST funktionen.

Om du väljer en mall infogas mallen i formelfältet. Du kan använda dessa mallar som startpunkter. Du kan också lägga till egna uttryck utan att förlita dig på mallar.

Axis

Många funktioner har en valfri Axis parameter som bara kan användas i visuella beräkningar. Axis påverkar hur den visuella beräkningen passerar den visuella matrisen. Parametern Axis är inställd på first axeln i det visuella objektet som standard. För många visuella objekt first är ROWSaxeln , 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 överifrån rows och nedifrån.
COLUMNS Beräknar vågrätt från columns vänster till höger.
ROWS COLUMNS Beräknar lodrätt överifrån rows och nedifrån och fortsätter kolumn för kolumn från vänster till höger.
COLUMNS ROWS Beräknar vågrätt från columns vänster till höger och fortsätter rad för rad uppifrån och ned.

Kommentar

Du kan bara använda axelvärden som är tillgängliga i det visuella objekt som du arbetar med. Alla visuella objekt tillhandahåller inte alla axlar, och vissa visuella objekt har inga axlar.

Reset

Många funktioner har en valfri Reset parameter som endast är tillgänglig i visuella beräkningar. Reset påverkar 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. Parametern Reset är inställd None på som standard, vilket innebär att den visuella beräkningen aldrig startas om. Reset förväntar sig att det finns flera nivåer på axeln. Om det bara finns en nivå på axeln kan du använda PARTITIONBY. I följande lista beskrivs giltiga värden för parametern Reset :

  • NONE är standardvärdet och återställer inte beräkningen.
  • HIGHESTPARENT återställer beräkningen när värdet för den högsta överordnade på axeln ändras.
  • LOWESTPARENT återställer beräkningarna när värdet för det lägsta överordnade värdet på axeln ändras.
  • Ett numeriskt värde som refererar till fälten på axeln, där det högsta fältet är ett.
  • En fältreferens så länge fältet finns i det visuella objektet.

För att förstå HIGHESTPARENT och LOWESTPARENTbör du överväga en axel som har tre fält på flera nivåer: År, Kvartal och Månad. HIGHESTPARENT Är År, medan den lägsta överordnade är Kvartal. Följande visuella beräkningar är till exempel likvärdiga och returnerar summan av försäljningsbeloppet som börjar från 0 för varje år:

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 kvartal:

RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], 2)
RUNNINGSUM([Sales Amount], [Quarter])

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 månad till previous värdena, utan att starta om.

RUNNINGSUM([Sales Amount])

Axis och Reset vs ORDERBY och PARTITIONBY

Axis, Reset, ORDERBYoch PARTITIONBY är fyra funktioner som kan användas i par eller tillsammans för att påverka hur en beräkning utvärderas. De bildar två par som ofta används tillsammans:

  • Axis och Reset
  • ORDERBY och PARTITIONBY

Axis och Reset är endast tillgängliga för funktioner som kan användas i visuella beräkningar och som bara kan användas i en visuell beräkning, eftersom de refererar till den visuella strukturen. ORDERBY och PARTITIONBY är funktioner som kan användas i beräknade columns, mått och visuella beräkningar och referera till fält. Även om de utför samma funktion skiljer de sig åt i den abstraktionsnivå som tillhandahålls. att referera till den visuella strukturen är mer flexibelt än den explicita hänvisningen till fält med hjälp av ORDERBY eller PARTITIONBY.

Reset förväntar sig att det finns flera nivåer på axeln. Om du inte har flera nivåer på axeln, antingen eftersom det bara finns ett fält eller flera fält på en enda nivå på axeln, kan du använda PARTITIONBY.

Att ange något av paren fungerar bra, men du kan också ange Axis, ORDERBY och/eller PARTITIONBY tillsammans, i vilket fall de värden som anges för ORDERBY och PARTITIONBY åsidosätter de värden som dikteras av Axis. Reset kan inte kombineras med ORDERBY och PARTITIONBY.

Du kan se ORDERBY paret och PARTITIONBY som fäst fältreferenser genom att uttryckligen ange fält, där axel och återställning är fältagnostiska – de refererar till strukturen och vilket fält som än råkar finnas på den struktur som används.

Tillgängliga funktioner

Du kan använda många av de befintliga DAX-funktionerna 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 enklare att använda genvägar till DAX-funktioner window .

Kommentar

Använd endast de visuella beräkningar som anges i tabellen nedan. Andra visuella beräkningar specifika funktioner är endast för internt bruk just nu och bör inte användas. Se tabellen nedan för alla uppdateringar av de funktioner som är tillgängliga för användning allt eftersom den här förhandsversionen fortskrider.

Function beskrivning Exempel Genväg till
COLLAPSE Beräkningen utvärderas på en högre nivå av axeln. Procent av överordnad = 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 för underordnade = EXPAND(AVERAGE([Sales Amount]), ROWS) Ej tillämpligt
EXPANDALL Beräkningen utvärderas på lövnivån för axeln. Medelvärde för lövnivå = EXPANDALL(AVERAGE([Sales Amount]), ROWS) Ej tillämpligt
FIRST Refererar till raden för first 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 raden för last en axel. ProfitVSLast = [Vinst] – LAST([Vinst]) INDEX(-1)
MOVINGAVERAGE Lägger till ett glidande medelvärde på en axel. MovingAverageSales = MOVINGAVERAGE([Försäljningsbelopp], 2) WINDOW
NEXT Refererar till en next rad med en axel. ProfitVSNext = [Vinst] – NEXT([Vinst]) OFFSET(1)
PREVIOUS Refererar till en previous rad med en axel. ProfitVSPrevious = [Profit] – PREVIOUS([Profit]) OFFSET(-1)
RANGE Refererar till en sektor av rows 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

Formatera visuella beräkningar

Du kan formatera en visuell beräkning med hjälp av datatyper och formateringsalternativ. Du kan också ange en anpassad formatsträng på visuell nivå. Använd alternativen för dataformat i avsnittet Allmänt i formateringsfönstret för ditt visuella objekt för att ange formatet:

Skärmbild av redigeringsläget för visuella beräkningar som visar en visuell beräkning som returnerar en procentandel formaterad i procent.

Beaktanden och begränsningar

Visuella beräkningar är för närvarande i förhandsversion, och under förhandsversionen bör du vara medveten om följande överväganden och begränsningar:

  • Alla visuella typer stöds inte. Använd redigeringsläget för visuella beräkningar för att ändra visuell typ. Anpassade visuella objekt har inte heller testats med visuella beräkningar eller dolda fält.
  • Följande visuella typer och visuella egenskaper har testats och inte fungerar med visuella beräkningar eller dolda fält:
    • Trädkarta
    • Segment
    • Visuellt R-objekt
    • Visuellt Python-objekt
    • Viktiga influerare
    • Nedbrytningsträd
    • Frågor och svar
    • Smart narrativ
    • Mått
    • Sidnumrerad rapport
    • Power Apps
    • Power Automate
    • Små multiplar
    • Spela upp axel i punktdiagram
  • Prestanda för den här funktionen är inte representativ för slutprodukten.
  • Återanvändning av visuella beräkningar med hjälp av kopiera/klistra in eller andra mekanismer är inte tillgängligt.
  • Du kan inte filtrera efter visuella beräkningar.
  • En visuell beräkning kan inte referera till sig själv på samma eller annan detaljnivå.
  • Anpassning av visuella beräkningar eller dolda fält är inte tillgängligt.
  • Du kan inte använda funktionen Publicera på webben med rapporter som använder visuella beräkningar eller dolda fält.
  • När du exporterar data från visuella objekt ingår inte visuella beräkningsresultat i den underliggande dataexporten. Dolda fält ingår aldrig i exporten, förutom när du exporterar underliggande data.
  • Du kan inte använda funktionen visa poster för detaljerad information med visuella objekt som använder visuella beräkningar eller dolda fält.
  • Du kan inte tillämpa villkorsstyrd formatering på visuella beräkningar.
  • Du kan inte ange datakategorier för visuella beräkningar.
  • Du kan inte ändra aggregeringar i visuella beräkningar.
  • Du kan inte ändra sorteringsordningen för visuella beräkningar.
  • Power BI Embedded stöds inte för rapporter som använder visuella beräkningar eller dolda fält.
  • Live-anslutningar till SQL Server Analysis Services stöds inte.
  • Även om du kan använda fältparametrar med visuella beräkningar har de vissa begränsningar.
  • Visa objekt utan data är inte tillgängligt med visuella beräkningar.
  • Du kan inte använda datagränser med visuella beräkningar.
  • Du kan inte ange en sträng i dynamiskt format för en visuell beräkning eller använda en visuell beräkning som en sträng i dynamiskt format för ett fält eller mått.
  • Du kan inte använda alternativet Sökväg i Azure Maps med visuella beräkningar.

Next steg

Följande artiklar kan vara användbara när du lär dig och använder visuella beräkningar: