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.
I den här handledningen kommer du att lära dig om olika nyckelord och funktioner i DAX Studio med ett specifikt frågeexempel för var och en.
Specifikt kommer du att lära dig om nyckelorden BESTÄLL EFTER och START AT, tillsammans med funktionerna TOPNSKIP och ADDMISSINGITEMS.
Innehållsförteckning
Exempel på DAX-fråga: ORDER BY Keyword
Nyckelordet ORDER BY låter dig sortera en datauppsättning.
Grundläggande exempel
Till exempel, genom att använda nyckelordet ORDER BY, kan du sortera en kolumn alfabetiskt.
Du kan se att den första radens data börjar med "A." DAX Studios standardsorteringsordning är stigande .
Om du vill att dina data ska visas i fallande ordning, skriv DESC . Så i det här exemplet, istället för ett A, börjar kolumnen Varumärke med ett "W."
På liknande sätt, om du vill vända tillbaka den till en stigande ordning, skriv ASC . Du kan också sortera flera kolumner samtidigt. Du kan göra detta genom att skriva de kolumner du vill ha med var och en separerad av ett kommatecken.
Exempel från verkliga världen
Låt oss nu titta på ett enkelt verkligt program med nyckelordet ORDER BY. Detta är samma exempel som används i .
Du kan se att denna tabell returnerar 3 kolumner. Den första är produkttypen, som består av Boring och Trendy. Den andra kolumnen visar den totala försäljningen per produkttyp. Den tredje returnerar procentandelen av försäljningen.
I det här exemplet måste du skapa en ny kolumn som sorterar produkttypen. Så efter påståendet, skriv och sedan namnet på kolumnen du vill skapa.
Formeln för den här kolumnen är samma som IF-syntaxen, men istället för "Trendy" och "Tråkig" kommer denna kolumn att visa "1" för Trendigt och "2" för Tråkigt.
För att se denna kolumn i tabellen, skriv den under EVALUATE-syntaxen.
Du kommer då att se att en ny kolumn, Produkttypsortering, läggs till i tabellen som består av siffrorna 1 och 2.
För att sortera denna kolumn, skriv nyckelordet ORDER BY efter syntaxen. Efter kolumnnamnet skriver du antingen ASC eller DESC beroende på vilken sorteringsordning du vill att kolumnen ska ha.
Exempel på DAX-fråga: START AT
Nästa sak du kommer att lära dig är nyckelordet START AT .
START AT är ett föråldrat sökord. Dess användning rekommenderas inte för de flesta DAX-frågor. Men du kanske fortfarande hittar någon DAX-kod som använder sig av detta. Så det är fortfarande viktigt att veta vad det är och i vilka fall det kan användas.
Grundläggande exempel
Skriv först nyckelordet EVALUATE. Det här exemplet använder tabellen Produkter. Innan du skriver STARTA AT, använd först ORDER BY och ange sedan de kolumner du vill inkludera.
Du kan sedan skriva START AT. Den här syntaxen kommer att följa ordningen som liknar hur du skrev dina kolumner under ORDER BY. I det här exemplet börjar produktnyckelkolumnen vid "2" och varumärkeskolumnen börjar vid "Contoso".
När du trycker på F5 kan du se i resultattabellen att de angivna kolumnerna följer riktningen för frågan.
Låt oss nu se vad som händer när ytterligare en kolumn läggs till. I det här fallet bör kolumnen Färg börja på "Silver".
När du kör den här frågan kan du se att den första posten under kolumnen Färg är "vit". Det är inte garanterat att resultatet alltid följer alla villkor vid användning av START AT.
För det här exemplet finns det ingen instans i tabellen Produkter som innehåller 2, Contoso och Silver alla i samma rad. Istället försöker DAX-motorn skapa den bästa matchningen till den fråga du har skapat.
Komplext exempel
Låt oss titta på ett annat exempel:
Efter EVALUATE skriver du nyckelordet ORDER BY följt av de tre angivna kolumnerna. Skriv efteråt START AT. I det här fallet bör kolumnen Färg börja på "Röd", kolumnen Kön bör börja på "M" och kolumnen Butiksnyckel bör börja med "2".
När du har kört frågan kan du se att DAX-motorn gjorde sitt bästa för att matcha de angivna parametrarna.
I resultaten kan du se att två kolumner är korrekta, medan butiksnyckelkolumnen börjar på 199 istället för 2. Detta beror på att en butiksnyckel på 2 inte finns i detta exempels datamodell.
Långsam DAX-motor
Klicka på knappen Server Timings under fliken Hem.
En ny flik visas längst ned. Klicka på Rensa cache och sedan Kör -knappen som finns i rullgardinsmenyn Kör.
Du kan se att det tar DAX Studio 142ms att köra frågan. Om du tar bort START AT-syntaxen och kör koden igen kan du se att det bara tar 11 ms att köra.
Frågan tar längre tid att köra om det finns en START AT-syntax eftersom den anropar ett beteende hos DAX-motorn som kallas CallBackDataID .
START AT gör din kod extremt långsam. Om det inte är nödvändigt att använda det, bör du undvika det.
Det har en betydande inverkan på den övergripande prestandan för DAX-koden du skriver. Det är därför det är bäst att använda andra liknande funktioner.
Exempel på DAX-fråga: TOPNSKIP-funktion
Nästa sak du kommer att lära dig i denna handledning är TOPNSKIP -funktionen. Denna funktion liknar, men den har en subtil skillnad tillsammans med en extra parameter. För att ytterligare förstå detta, låt oss titta på ett exempel.
TOPN vs TOPNSKIP
Skriv först nyckelordet EVALUATE. Skriv sedan TOPN-argumentet nedan för att se de 100 översta raderna i produkttabellen.
Denna tabell har också sorterats enligt stigande ordning med avseende på kolumnen Produktnyckel.
Ersätt nu TOPN med TOPNSKIP. I det andra argumentet anger du antalet rader du vill hoppa över. I detta exempel anges 10.
När du kör detta ser du att produktnyckelkolumnen nu börjar på 11 och slutar på 110. Observera att du inte kan använda TOPNSKIP-funktionen i en beräknad tabell eller i en tabelldatamodell.
Ett annat exempel
I nästa exempel, låt oss se de 5000 bästa raderna i kundtabellen. Denna tabell är sorterad i stigande ordning med avseende på kolumnen Kön.
Om du använder TOPN-funktionen kan du se att tabellen returnerar 9 518 rader. Det betyder att även om du har angett att endast visa de 5 000 översta raderna, lämnades vissa data ofiltrerade.
Men om du använder TOPNSKIP-funktionen kan du se att tabellen endast returnerar de första 5 000 raderna i kolumnen Gender.
Så även om kundens könskolumn har flera regler för ett visst kön, returnerar TOPNSKIP-funktionen endast de första 5 000 raderna. Detta resultat är inte garanterat när du använder TOPN-funktionen.
Exempel på DAX-fråga: ADDMISSINGITEMS Funktion
Låt oss slutligen titta på ADDMISSINGITEMS -funktionen i DAX Studio.
När du använder SUMMARIZECOLUMNS kommer den som standard att försöka ta bort tomma rader från resultatet. Till exempel kan vi skriva en fråga som sammanfattar produktfärg, produktvarumärke och kundkön.
När du trycker på F5 kan du se att tabellen returnerar tre kolumner. Kolumnen Kön består av tre typer av kön: Man, Kvinna och Blank. Blank representerar företaget. Du kan också se att det returnerar 333 rader.
Men om du skapar en kolumn Total försäljning kommer filtret SUMMARISECOLUMNS att ta bort raderna som innehåller tomma värden för den totala försäljningen. Istället för 333 rader innehåller tabellen nu bara 323 rader.
Det finns 2 alternativ för att få tillbaka dessa rader. Det första alternativet är att lägga till en nolla efter den totala försäljningen. I resultaten kan du se att 10 rader returnerar ett nollvärde för Total försäljning.
Det här alternativet ger dock inte alltid det bästa resultatet. Istället finns det en specifik funktion du kan använda för att lösa det här problemet: funktionen ADDMISSINGITEMS .
För att använda denna funktion, placera den efter EVALUATE. I det första argumentet, skriv kolumnerna. Du måste också klistra in dessa kolumner i parametern groupBy för SUMMARIZECOLUMNS.
När du kör den här frågan ser du att tabellen nu returnerar 333 rader.
Om du sorterar kolumnerna Total försäljning och tar bort nollan, returnerar tabellen tomma värden under kolumnen Total försäljning.
Så istället för att rapportera en nolla, returnerar tabellen ett tomrum för rader som togs bort av funktionen SUMMARISECOLUMNS.
Använder ADDMISSINGITEMS och FILTER
Du kan också använda funktionen ADDMISSINGITEMS tillsammans med. Låt oss till exempel filtrera bort raderna som innehåller "Tailspin Toys". I frågan står det att kolumnen Varumärke inte får innehålla ( <> ) Tailspin Toys.
När du trycker på F5 kan du se att tabellen nu bara returnerar 331 rader. Så de två raderna som innehöll varumärket "Tailspin Toys" togs bort.
Slutsats
De två nyckelorden och två funktioner som diskuteras i denna handledning är grundläggande kunskaper du behöver ha när du skapar frågor i DAX Studio. Dessa kommer väl till pass när du hanterar mer komplexa tillämpningar i den verkliga världen.
DAX Studio är ett kraftfullt verktyg för att exekvera och analysera DAX-frågor. Det är viktigt att lära sig grunderna för kodning av denna programvara så att det blir enklare när du hanterar avancerade frågor i framtiden.
LuckyTemplates experter
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.