Vad är Power Query & M Language: En detaljerad översikt
Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.
Den tredje pelaren i LuckyTemplates utveckling är DAX-beräkningar. Denna handledning innehåller en grundlig DAX-guide för nybörjare som täcker grunderna om formatering och redigering. Ofta använda DAX-funktioner ingår också i diskussionen.
Innehållsförteckning
DAX Editor Guide
Innan något annat, här är några DAX Editor-tips du behöver veta:
Använd Ctrl + musens rullhjul för att öka eller minska teckenstorleken i DAX Editor-fönstret.
Använd Ctrl + Skift + L för att uppdatera alla instanser av ett namn på en gång.
Lägg till prefixet " @ " till virtuella tabeller eller tillfälliga kolumnnamn i DAX.
DAX-guide för formatering
Din DAX-kod måste vara organiserad och lätt att förstå för användarna.
Du skriver inte bara kod för dig själv idag, utan även för dig själv i framtiden.
Det är viktigt att utveckla DAX-koder som är lätta att läsa och förstå för dig själv och av andra både nu och vid ett senare tillfälle.
Oroa dig inte om redigering och organisering kan komma att förstöra din kod. Datorer är smarta; så länge syntaxen är korrekt kommer de att kunna tolka och exekvera koderna du har skrivit.
Ett bra citat av Marco Russo lyder:
Om det inte är formaterat är det inte DAX.
Det finns ett antal sätt att formatera DAX. Det rekommenderade alternativet är att använda DAX Clean Up Tool som finns på LuckyTemplates Analyst Hub.
Du kan komma åt det här verktyget med detta. Ett annat sätt är att komma åt LuckyTemplates webbplats och sedan välja Resurser. Längst ner på sidan hittar du DAX Clean Up Tool.
För att använda det här verktyget, kopiera din kod från DAX Editor i din LuckyTemplates-fil. Klistra in den i DAX Clean Up Tool och klicka sedan på Format.
När rensningen är klar kan du klistra tillbaka den formaterade koden i din LuckyTemplates-fil.
Du kan också redigera koden i verktyget.
Kommentera i en DAX-kod
När du hanterar komplexa DAX-koder är det bra att lägga till kommentarer. Du kommer att ha stor nytta av en pseudokodförklaring. Men det finns undantag.
Att kommentera är en mycket personlig aktivitet. Det kan finnas olika åsikter om rätt nivå av kommentarer från utvecklare och användare. Så återigen, när du skapar koder och kommentarer, är det viktigt att ta hänsyn till hur de kommer att accepteras och förstås av användare eller utvecklare i framtida fall. Att göra det kommer att gynna dig och verksamheten i det långa loppet.
DAX-guide för variabler
Använd utförliga variabelnamn. Nyckeln är tydlighet . Det är viktigt att skapa namn som är tydliga och lätta att förstå.
Återigen, datorer är smarta och kan enkelt lista ut vad som än skrivs. Så kom ihåg att du inte skriver för datorn eller för LuckyTemplates; du skriver för dig själv och den som kommer att använda och underhålla din kod under de följande månaderna.
När du använder variabler i din DAX-kod är det en bästa praxis att använda ett prefix före ett variabelnamn för att säkerställa att du väljer rätt variabel på efterföljande rader. Understrecket ( _ ) är ett rekommenderat prefix att använda. Detta hjälper också till att minska listan som presenteras i IntelliSense-funktionen i LuckyTemplates.
Här är ett exempel:
Du kan se att när understreck skrivs visas bara två val. Antalet val minskar avsevärt vilket förbättrar effektiviteten vid kodning.
En annan bästa praxis är att använda RETURN Result- konstruktionen.
Detta gör det lättare att stegvis utveckla och felsöka DAX-koder.
DAX-beräkningskvalificering
När du använder kolumner i DAX-uttryck måste du vara specifik eftersom det är möjligt att ha samma kolumnnamn i flera tabeller.
Till exempel kan en kundnyckelkolumn i både kund- och försäljningstabellerna inträffa.
Även om de ofta betyder samma sak och innehåller samma data, kommer det inte att vara fallet hela tiden. För att få önskat resultat bör du alltid kvalificera kolumnnamn.
Dessutom måste du se till att åtgärderna inte är bundna till ett bord. De kan flyttas från en tabell till en annan, så det är viktigt att se till att måttnamn inte är kvalificerade.
Viktiga DAX-funktioner att känna till
1. BERÄKNA
är en av de viktigaste DAX-funktionerna eftersom den gör att du kan ändra kontexten för en beräkning.
Men den här funktionen orsakar ofta förvirring inte för att den är svår att använda utan snarare på grund av dess namn. Även om det heter BERÄKNA, utför det faktiskt inte en beräkning. Det är snarare att ändra sammanhanget för en beräkning.
Till exempel, i detta försäljnings-LY-mått, används funktionen BERÄKNA för att ändra sammanhanget för beräkningen av total försäljning till ett år före den aktuella utvärderingskontexten.
2. DATEADD
Det finns många tidsintelligensfunktioner tillgängliga i DAX. Vanliga DAX-koder kommer med största sannolikhet att använda funktionerna,, ochbland många andra. Menär en av de mest mångsidiga DAX-tidsintelligensfunktionerna. Och den här funktionen bör vara ditt förstahandsval.
Med DATEADD kan samma syntax användas för flera beräkningar, antingen bakåt eller framåt i tiden, och för ÅR, KVARTAL, MÅNAD eller DAG. Detta gör det mycket enkelt att skapa flera tidsintelligensmått med hjälp av kopiera och klistra in med mindre redigering.
3. DELA
Uppdelning i LuckyTemplates kan göras på många sätt. Det mest grundläggande sättet är att använda enkel aritmetisk division.
Emellertid kräver division med nollfall vanligtvis att utförliga tester görs innan man fortsätter. Lyckligtvis finns det en DAX-funktion som hanterar detta åt dig.
Funktionen hanterar automatiskt division med nollfall och låter dig även lägga till ett alternativt resultat. Eftersom detta är enklare för aritmetisk division i LuckyTemplates är koden mer läsbar.
4. BYT SANT
En annan DAX-kod är logiken.
När du har flera villkor att utvärdera leder detta till att du skapar flera kapsladeuttalanden som ofta är svåra att läsa och spåra igenom.
SWITCH TRUE-satsen ger flexibilitet att ändra kod som ett senare datum och att anpassa villkoren till nya. Det är också mer kompakt vilket gör det lättare att läsa.
DAX-guide till virtuella tabeller
När du konstruerar en virtuell tabell i din DAX-kod, använd funktionen för att gruppera kolumner i en bastabell. Omge den sedan medkonstruktion för att lägga till kolumner.
För att upprepa, använd prefixet " @ " på kolumner med ADDCOLUMNS-funktionen för att förhindra oklarhet och säkerställa att den valda virtuella tabellkolumnen är korrekt.
Dessutom, när du hanterar virtuella tabeller, rekommenderas det att du använder DAX Studio eller Tabular Editor för att hjälpa dig.
Det kan finnas många relationer mellan ett par tabeller i LuckyTemplates. DAX-koden kommer att använda den aktiva relationen som standard. Men det kan modifieras för att använda en viss inaktiv relation genom att användakommando.
Till exempel kan det finnas många relationer mellan datumkolumnerna i tabellen Datum och tabellen Försäljning. Försäljning [Orderdatum] är den aktiva relationen medan Försäljning [Fakturadatum] är den inaktiva relationen. När du vill använda Försäljnings [Orderdatum] i en beräkning krävs ingen extra ansträngning. Men om du vill använda försäljningen [Fakturadatum] i en beräkning måste du använda den tillsammans med kommandot USERELATIONSHIP .
I modellvyn i LuckyTemplates visas den aktiva relationen genom att hålla muspekaren över den heldragna linjen. Medan de två streckade linjerna visar det inaktiva förhållandet mellan varje element i de två tabellerna.
Genom att gå igenom exempelrapporten kan det också ses att det finns en skillnad mellan kolumnen Försäljning per orderdatum, kolumnen Försäljning per fakturadatum och kolumnen Försäljning per leveransdatum.
Mått kontra beräknade kolumner
Det är en plats för komfort för dem som kommer från Excel-bakgrunder att använda eftersom det låter dig se data. Men den bästa praxisen i DAX och LuckyTemplates är att använda så mycket som möjligt.
Det finns vissa fall där beräknade kolumner används. De är ofta utvecklade som en utgångspunkt för att hjälpa till med visualiseringen av en beräkning. Men sedan måste du ersätta dem med åtgärder när du har beräkningen helt visualiserad i ditt huvud. Dessutom kan beräknade kolumner användas i slicers i motsats till mått.
Ett mått ökar inte den fysiska storleken på din datamodell när den beräknas; det gör det bara när det används i en visuell. En beräknad kolumn ökar dock den fysiska storleken på din datamodell eftersom den beräknas och lagras fysiskt varje gång filen uppdateras.
DAX-guide för att mäta förgreningar
En av de mest värdefulla teknikerna i LuckyTemplates är .
Ett bra sätt att modularisera din kod är att börja med enkla eller basmått som utför enkla beräkningar och sedan kombinera dem efter behov för att utföra mer komplexa beräkningar. Lägg bas- och interimsmått i tabeller för att se beräkningarna när de utförs.
Det finns olika tankegångar om var specifika åtgärder bör ligga, och det finns för- och nackdelar med alla metoder. Men det är mer fördelaktigt att använda en dedikerad i LuckyTemplates-utveckling. Om alla mått är placerade på samma plats överst i fältrutan, gör detta det lättare att spåra logiken i dina DAX-beräkningar.
Sammanhang i DAX-beräkningar
En av de främsta styrkorna i LuckyTemplates är sammanhang. Och det är också ett av de svåraste koncepten att förstå för utvecklare.
Kontext är den miljö i vilken en beräkning utförs.
Två sammanhang presenteras ofta: radkontext och filterkontext . Men i själva verket finns det en tredje: utvärderingskontexten .
Och detta tar dig tillbaka till kommandot CALCULATE , som återigen låter användaren ändra sammanhanget för en beräkning. Det finns två huvudklasser av funktioner i DAX och LuckyTemplates: aggregeringsfunktioner och iterationsfunktioner .
Aggregeringsfunktioner är de som aggregerar värdena för en enskild kolumn. Exempel på aggregeringsfunktioner inkluderar,, och. Medan de flesta aggregeringsfunktioner bara fungerar på numeriska värden eller datumvärden, fungerar MAX och MIN även på textvärden.
Iterationsfunktioner är de som beräknar ett uttryck för varje rad i en tabell. De är också kända som X-funktioner . Exempel inkluderar,,, och. De har två parametrar: tabellen att iterera över och uttrycket som utför beräkningen. Detta kan använda flera kolumner från bastabellen eller från andra relaterade tabeller.
Här är ett kort exempel på hur aggregerings- och iterationsfunktionerna används på olika sätt och ändå ger samma resultat:
Slutsats
Den här DAX-guiden syftar till att hjälpa nya LuckyTemplates-användare som fortfarande utforskar och lär sig. Detta är också mycket användbart som en enda checklista för erfarna utvecklare som behöver en snabb repetitionskurs. Denna handledning är en bra byggsten för avancerad rapportutveckling i LuckyTemplates.
LuckyTemplates har olika resurser om DAX-tutorials från grunderna till avancerad kodning. Se till att ta en titt på dem för att bli mer bevandrad med programmeringsspråket DAX.
Greg
Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.
Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.
Lär dig hur du använder SharePoint-automatiseringsfunktionen för att skapa arbetsflöden och hjälpa dig att mikrohantera SharePoint-användare, bibliotek och listor.
Finslipa dina färdigheter i rapportutveckling genom att gå med i en dataanalysutmaning. Acceleratorn kan hjälpa dig att bli en LuckyTemplates superanvändare!
Lär dig hur du beräknar löpande summor i LuckyTemplates med DAX. Löpande summor låter dig inte fastna i ett individuellt resultat.
Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.
Lär dig mer om den anpassade visual som kallas LuckyTemplates Slope-diagram, som används för att visa ökning/minskning för en enstaka eller flera mätvärden.
Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.
Att beräkna ett genomsnitt i LuckyTemplates kan göras på många sätt för att ge dig exakt information för dina affärsrapporter.
Låt oss fördjupa oss i Standard LuckyTemplates-teman och granska några av funktionerna som är inbyggda i själva LuckyTemplates Desktop-applikationen.