Dela via


Arbeta med DAX-frågevyn

Med DAX-frågevyn i Power BI kan du visa och arbeta med DAX-frågor (Data Analysis Expressions) i semantiska modeller.

DAX-frågor

I Power BI används DAX-formler för att definiera olika typer av beräkningar för dina data, men kan också användas för att definiera rollsäkerhet. DAX-frågor kan däremot användas för att returnera data från modellen.

DAX-frågor liknar SQL-frågor på så sätt att de kan visa data som du redan har. DAX-frågor skapar inte objekt i modellen eller visuella objekt i rapporten.

DAX-frågor har två huvuddelar:

  • En EVALUATE-instruktion som krävs. Den anger vad och hur data returneras i frågan.
  • En DEFINE-instruktion , som är valfri. Det gör att du kan definiera DAX-formler, till exempel ett mått, som ska användas i frågan. Mått som skapats eller uppdaterats med DAX-frågan DEFINE MEASURE är DAX-frågeomfångsmått som endast körs i kontexten för DAX-frågan. DAX-frågeomfångsmått kan läggas till i modellen med hjälp av CodeLens-uppdateringsmodellåtgärder eller Uppdatera modell med knappen Ändringar .

Mer information om hur frågor används finns i DAX-frågor i DAX-referensen.

Öppna DAX-frågevyn

I Power BI Desktop väljer du ikonen DAX-frågevy till vänster.

Skärmbild av DAX-frågevyikonen i Power BI Desktop.

På arbetsytan usluga Power BI eller Fabric-portalen väljer du Skriv DAX-frågor på snabbmenyn.

På sidan usluga Power BI- eller fabric-portalens semantiska modellinformation väljer du Skriv DAX-frågor överst på sidan.

LAYOUT FÖR DAX-frågevy

Nu ska vi titta närmare på DAX-frågevyn i Power BI Desktop.

Diagram som visar layouten för DAX-frågevyn.

DAX-frågevyn har följande element:

Menyfliksområde

Menyfliksområdet DAX-frågevy har vanliga åtgärder som används vid skrivning av DAX-frågor.

Skärmbild av menyfliksområdet för DAX-frågevyn.

Låt oss ta en närmare titt på element i menyfliksområdet:

Formatera fråga

Välj knappen Formatera frågefliksområdet eller använd SKIFT+ALT+F för att formatera den aktuella frågan. Frågan är indragen med flikar. DAX-funktioner ändras till VERSALER och ytterligare rader läggs till. Formatering av DAX-frågan anses vara en bra metod och förbättrar DAX-frågans läsbarhet. Formateringen indrag på ett sådant sätt att du kan komprimera och expandera delar av frågan.

Skärmbild av knappen Formatera fråga.

Kommentar och avkommentering

Välj menyfliksområdet Kommentar för att lägga till ett dubbelt omvänt snedstreck (//) i början av raden där markören är eller alla markerade rader. Detta kommenterar ut raderna och när DAX-frågan körs ignoreras dessa rader.

Välj knappen Ta bort menyfliksområdet för att ta bort // i början av en rad där markören finns, eller alla markerade rader. Det fungerar inte på rader där flera radkommentarer läggs till.

Du kan också använda CTRL+/ för att växla mellan kommentar och avkommentering.

Skärmbild av knapparna Kommentar och Avkommentering i menyfliksområdet för DAX-frågevyn.

Sök och ersätt

Välj knappen Sök i menyfliksområdet eller använd CTRL+F för att söka efter text i DAX-frågeredigeraren. Sök innehåller alternativ för att matcha skiftläge, matcha hela ord, använda ett reguljärt uttryck och bläddra igenom alla matchningar för den aktuella frågan. Du kan också välja sparren till vänster om rutan Sök för att ange Ersätt.

Skärmbild av sökknappen i menyfliksområdet för DAX-frågevyn.

Välj knappen Ersätt i menyfliksområdet eller använd CTRL+H för att söka efter och ersätta text i DAX-frågeredigeraren. Ersätt innehåller alternativ för att bevara skiftläget och ersätta ett i taget eller alla samtidigt.

Skärmbild av funktionen Ersätt i menyfliksområdet för DAX-frågevyn.

Kommandopalett

Välj menyfliksområdet Kommandopalett eller använd CTRL+ALT+P för att öppna kommandopaletten. Du kan söka efter ytterligare ÅTGÄRDER för DAX-frågeredigeraren och se deras associerade kortkommandon.

Skärmbild av kommandopaletten för DAX-frågevyn.

Kommandofält

Kommandofältet för DAX-frågevyn innehåller de viktigaste åtgärderna när du använder DAX-frågevyn.

Kör och avbryt

Knappen Kör kör DAX-frågan eller de markerade raderna i en fråga. Status för en fråga när den har körts visas i det lägre statusfältet.

Skärmbild av kommandofältet för DAX-frågevyn.

När en fråga körs blir knappen en Avbryt-knapp , som kan användas för att stoppa en fråga som körs.

Skärmbild av att DAX-frågevyn avbryts.

Uppdatera modell med ändringar

Knappen Uppdatera modell med ändringar lägger till eller skriver över modellmått med DAX-formler från DAX-frågeomfångsmåtten. DAX-frågeomfångsmått är de i DEFINE MEASURE-blocket . Du kan också välja att lägga till eller skriva över modellmått individuellt med hjälp av CodeLens-texten som visas ovanför var och en.

DAX-frågeredigeraren

DAX-frågevyn innehåller en frågeredigerare där du kan skriva och redigera frågor. Det är mer än bara ett större DAX-formelfält. Den är kraftfullare och har många likheter med DAX-redigeraren som är tillgänglig i VS Code.

DAX-frågeredigeraren har följande element:

Förslag och Intellisense

Skriv in din fråga och få hjälp med förslag och Intellisense när du redigerar.

Skärmbild av DAX-frågeredigeraren intellisense.

Använd RETUR eller TABB för att lägga till den markerade intellisense eller SKIFT+RETUR eller ALT+RETUR för att flytta till en annan rad utan att lägga till intellisense-alternativet. Om du väljer ESC stängs något av överläggen.

Hovra för att se måttformler

När ett mått ingår i DAX-frågan kan du hovra på det för att se formeln, namnet och beskrivningen.

Skärmbild av hovring för att se funktionen måttformel.

Välj om du vill se snabbåtgärder för måttlampa

Om du väljer ett mått i en EVALUATE-instruktion i en fråga utan en DEFINE-instruktion visas glödlampan för snabbåtgärder. Välj Definiera eller Definiera med referenser för att skapa en DEFINE-instruktion med det här måttets formel med eller utan DAX-formler för referensmått.

Uppdatera modellmått med Hjälp av CodeLens

Att använda DEFINE MEASURE är användbart när du skapar mått genom att först låta dig skapa dem som DAX-frågeomfångsmått. Du kan redigera flera mått i ett fönster och sedan köra frågan för att se resultatet av alla eller bara några av dem med specifika grupper efter kolumner. Du behöver inte skapa ett visuellt tabellobjekt i rapportvyn och växla fram och tillbaka mellan måttformler. CodeLens tar detta ett steg längre genom att ange frågor när måttet redan finns i modellen, eller om det inte gör det, kan det lägga till det.

CodeLens är den klickbara text som visas ovanför ett DEFINE MEASURE-block. För DAX-frågeomfångsmått som inte redan finns i modellen visas uppdateringsmodellen: Lägg till nytt mått CodeLens, som lägger till modellmåttet när du klickar. För DAX-frågeomfångsmått som redan finns i modellen, och när DAX-måttets DAX-formel med DAX-omfattning skiljer sig, visas uppdateringsmodellen: Skriv över måttet CodeLens, vilket ändrar modellmåttet till den här DAX-formeln när du klickar.

Du kan också lägga till eller skriva över flera mått samtidigt genom att klicka på knappen Uppdatera modell med ändringar i kommandofältet .

Mäta arbetsflöde för uppdatering

Snabbåtgärderna för glödlampan och CodeLens kan användas tillsammans i ett fullständigt arbetsflöde:

  1. I snabbmenyn för ett mått väljer du Snabbfrågor och sedan Utvärdera för att få frågan skapad åt dig på en ny frågeflik.
  2. Välj måttet i frågan för att definiera eller definiera med referenser och lägg till DEFINE-instruktionen.
  3. Gör uttrycksuppdateringar för måttet och kör sedan DAX-frågan för att visa ändringen.
  4. När ändringen visas som förväntat använder du måttet CodeLens Update: Overwrite för att spara tillbaka den till modellen.

Här är ett mer visuellt sätt att förstå arbetsflödet:

Diagram över arbetsflödet.

Resultatrutnät

När en fråga körs visas resultaten i rutnätet Resultat .

Skärmbild av resultatrutnätet.

Om det finns mer än en EVALUATE-instruktion i frågeredigeraren kan flera resultat returneras. Du kan använda listrutan Resultat för att växla mellan dem. Knappen Kopiera kopierar hela rutnätet som en flik avgränsad tabell med rubriker. Rutnätet kan ändras med hjälp av pilarna i det övre högra hörnet eller manuellt med markören på kantlinjen mellan resultatrutnätet och frågeredigeraren.

Om frågan resulterar i ett fel visar resultatrutnätet det.

Skärmbild av felmeddelandet i resultatrutnätet.

En kopieringsknapp överför felet till Urklipp. Början av felet anger var i frågan felet finns. I bilden ovan är felet:

"Fråga (4, 23) Värdet för Sales 2 kan inte fastställas. Antingen finns inte kolumnen eller så finns det ingen aktuell rad för den här kolumnen."

Och "Fråga (4, 23)" anger att felet finns på rad 4 och på tecken 23.

Frågeflikar

DAX-frågevyn kan ha flera frågeflikar som kan byta namn eller tas bort. De visar också frågans aktuella tillstånd.

Skärmbild av flikarna Fråga.

Varje flik innehåller en statusindikator:

  • Ingen indikator visas innan en fråga har körts.
  • En grön bockmarkering anger en lyckad frågekörning.
  • Ett rött kors anger att ett fel har uppstått.
  • En fylld fyrkant i en cirkel anger att frågan avbröts.
  • En klocka anger att frågan körs.

Frågor kan köras i bakgrunden så att du kan fortsätta arbeta på andra frågeflikar.

Spara DAX-frågor

DAX-frågevyfrågeflikar sparas i filen när du sparar från Power BI Desktop, så att du kan fortsätta där du slutade när du öppnar filen igen. Om du använder utvecklarläget för att spara ett Power BI-projekt inkluderas varje frågeflik som en .dax-fil i DAXQueries-mappen i den semantiska modellmappen eller rapportmappen om de skapas i en liveansluten rapport. Läs mer i dokumentationen för Power BI-utvecklarläge.

För närvarande kan du inte visa eller redigera DAX-frågorna som tidigare lagts till i Power BI Desktop i usluga Power BI. Användare av rapporten eller semantikmodellen ser inte DE DAX-frågor som sparats med semantikmodellen.

DAX-frågevyflikar ignoreras när du skriver DAX-frågor från usluga Power BI- eller Fabric-portalen.

Fönstret Data

Fönstret Data visar objekten i modellen som hjälper dig att skriva frågor. Redigeringssökvägarna för de flesta av dessa objekt blockeras i frågevyn.

Snabbfrågor

Snabbmenyn i fönstret Data innehåller snabbfrågor. Använd snabbfrågor för att skapa frågor på en ny frågeflik för tabeller, kolumner och mått. Snabbfrågor är utformade för att vara en produktivitetsökning för vanliga uppgifter och skapade så att de enkelt kan ändras ytterligare. Alla snabbfrågor skapas på en ny frågeflik och körs automatiskt.

Någonstans

Definiera alla mått i modellen skapar en fråga med alla måttformler som visas i en fråga. Sök enkelt igenom alla måttformler.

Tabeller
  • Visa de 100 översta raderna skapar en fråga med hjälp av SELECTCOLUMNS() för att visa de 100 översta raderna i tabellen. Kolumnerna visas på varje rad för att göra det enkelt att ändra genom att kommentera ut rader. En ORDER BY ingår också för att ange din sorteringsordning.

    Skärmbild av visa de 100 översta raderna.

  • Visa kolumnstatistik skapar en fråga som visar statistisk information för varje kolumn i tabellen. Se många av formlerna för hur du aggregerar kolumner som MIN, MAX, AVERAGE, COUNT med mera.

  • Definiera alla mått i den här tabellen skapar en fråga med den här tabellens måttformler som visas i en fråga.

Kolumner
  • Visa dataförhandsgranskning skapar en fråga med DISTINCT() för att se värdena för en kolumn.

    Skärmbild av förhandsgranskningen av visa data.

  • Visa kolumnstatistik skapar en fråga som visar statistisk information för den här specifika kolumnen. Se många formler för hur du aggregerar kolumnen som MIN, MAX, AVERAGE, COUNT med mera. Frågan som returneras varierar beroende på kolumnens datatyp och visar olika statistik för numeriska kolumner, text och datumkolumner.

    Skärmbild av förhandsgranskningen av visa kolumn.

Mått
  • Utvärdera skapar en fråga för att visa resultatet av måttet. SUMMARIZECOLUMNS() används så att du kan lägga till i valfri grupp efter kolumner för att visa måttet efter specifika grupper, till exempel Land, Produkt osv.

    Skärmbild av utvärdera mått.

  • Definiera och utvärdera skapar en fråga för att visa resultatet av måttet och visa måttets formel i en DEFINE-instruktion som sedan kan ändras.

    Skärmbild av måttet definiera och utvärdera.

  • Definiera med referenser och utvärdera skapar en fråga för att visa resultatet av måttet och visa inte bara måttets formel i en DEFINE-instruktion som kan ändras, utan även andra mått som refereras i måttformeln. Redigera valfri del i måttets fullständiga kontext.

    Skärmbild av definiera med referenser och utvärdera.

Hämta visuella DAX-frågor från Analizator performansi

Visuella objekt i rapportvyn hämtar data från modellen genom att skapa en DAX-fråga. Den visuella frågan kan visas i DAX-frågevyn med hjälp av Analizator performansi. Analizator performansi kan ge dig insikt i varför ett visuellt objekt kan visa ett oväntat värde eller bara som ett sätt att snabbt starta en fråga som du kan ändra ytterligare.

I rapportvyn går du till menyfliksområdet Optimera och väljer sedan Analizator performansi. Välj Starta inspelning och sedan Uppdatera visuella objekt. I tabellen nedan expanderar du ett visuellt objekt för att se alternativ för att kopiera frågor eller köra i DAX-frågevyn. När du väljer Kör i DAX-frågevyn tar den visuella frågan, lägger till den som en ny flik för fråga i DAX-frågevyn och kör den sedan.

Skärmbild av de visuella DAX-frågorna i Analizator performansi funktion.

DAX-frågevy och live-anslutning i Power BI Desktop

Power BI Desktop kan liveansluta till en publicerad Power BI-semantisk modell genom att klicka på Anslut när en semantisk modell väljs i OneLake-datahubben. I det nedre högra hörnet i rapportvyn visas Live ansluten till Power BI-semantikmodellen. DAX-frågevyn kan användas för att skriva DAX-frågor när den är liveansluten.

Modellmått

När du är liveansluten till en publicerad Power BI-semantisk modell kan du inte visa eller redigera modellmått. Alternativen för snabbfrågor är begränsade till endast Utvärdera.

Rapportmått

När du är liveansluten till en publicerad Power BI-semantisk modell kan du skapa rapportmått. Rapportmått kan skapas med åtgärden Nytt mått i rapport- och modellvyn , men som namnet antyder är de bara tillgängliga i den aktuella rapporten. När snabbfrågorna har skapats i DAX-frågevyn visas alternativet att definiera med referenser och utvärdera. DAX-frågor körs på den semantiska modellen, så rapportmått måste alltid konverteras till DAX-frågeomfångsmått i DEFINE MEASURE-blocket för att köras, eftersom de inte finns i själva modellen.

Uppdateringsmodellen med knappen Ändringar och CodeLens-alternativ för uppdateringsmodellen är inte tillgängliga för rapportmått.

DAX-frågevy på webben

Skriv DAX-frågor från publicerade semantiska modeller använder DAX-frågevyn på webben. DAX-frågevyn på webben är samma upplevelse i Power BI Desktop, med ett par undantag.

  • Användaren kan redigera datamodeller i usluga Power BI (förhandsversion) Power BI-arbetsyteinställningen måste vara aktiverad för att skriva DAX-frågor. Läs mer i Redigera datamodeller i usluga Power BI.
  • DAX-frågor ignoreras vid stängning. DAX-frågor i Power BI Desktop sparas i modellen och en semantisk modell kan ha DAX-frågor som redan har sparats i modellen. DAX-frågevyn på webben visar för närvarande inga tidigare sparade DAX-frågor som kan finnas i semantikmodellen, och frågor som skapats på webben sparas inte när du har stängt webbläsaren.
  • Skriv DAX-frågor kräver skrivbehörighet för den semantiska modellen. Arbetsytans användare måste använda Power BI Desktop med live-anslutning till den semantiska modellen för att skriva DAX-frågor.

Beaktanden och begränsningar

Överväganden att tänka på:

  • Över 500 rader i DAX-frågeredigeraren har märkbar fördröjning när du skriver.
  • Snabbåtgärder för glödlampa för mått visas bara när ingen DEFINE-instruktion finns på frågefliken.
  • Kommandopaletten visar vissa kommandon som ännu inte fungerar.
  • Resultatrutnätet visar ännu inte kolumner och mått med angivet format, till exempel Valuta, Heltal med tusentals osv.
  • Ladda ned den här filen från usluga Power BI innehåller inte DE DAX-frågor som sparats i den publicerade semantiska modellen.
  • När du konfigurerar den inledande Git-integreringen från arbetsytan inkluderas inte DAX-frågor som sparats i den publicerade semantiska modellen. Läs mer i Fabric Git-integrering.

Och det finns vissa begränsningar att tänka på:

  • Maximalt 15 MB data per fråga. När 15 MB har överskridits slutförs den aktuella raden men inga ytterligare rader skrivs.
  • Maximalt 1 000 000 värden per fråga. Om du frågar efter 20 kolumner kan du få tillbaka högst 50 000 rader (1 miljon dividerat med 20).
  • Definiera alla mått i den här tabellen eller modellen är inte tillgänglig när det finns fler än 500 mått.

Att köra DAX-frågor på webben har ytterligare limitaitons:

  • Maximalt 99 999 rader returneras per fråga.
  • Skrivbehörighet för den semantiska modellen. Användare med byggbehörighet kan använda Power BI Desktop för att liveansluta och använda DAX-frågevyn för att köra DAX-frågor.
  • Endast tillgängligt för icke-standard semantiska modeller. Du kan använda Power BI Desktop för att liveansluta till standardsemantikmodellen och använda DAX-frågevyn för att köra DAX-frågor.
  • Användaren kan redigera datamodeller i usluga Power BI (förhandsversion) Power BI-arbetsyteinställningen måste vara aktiverad för att skriva DAX-frågor. Läs mer i Redigera datamodeller i usluga Power BI