DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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."

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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 .

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner


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".

DAX-frågeexempel som använder olika sökord och funktioner

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".

DAX-frågeexempel som använder olika sökord och funktioner

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:

DAX-frågeexempel som använder olika sökord och funktioner

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".

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

En ny flik visas längst ned. Klicka på Rensa cache och sedan Kör -knappen som finns i rullgardinsmenyn Kör.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

Men om du använder TOPNSKIP-funktionen kan du se att tabellen endast returnerar de första 5 000 raderna i kolumnen Gender.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

När du kör den här frågan ser du att tabellen nu returnerar 333 rader.

DAX-frågeexempel som använder olika sökord och funktioner

Om du sorterar kolumnerna Total försäljning och tar bort nollan, returnerar tabellen tomma värden under kolumnen Total försäljning.

DAX-frågeexempel som använder olika sökord och funktioner

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.

DAX-frågeexempel som använder olika sökord och funktioner

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


Vad är Power Query & M Language: En detaljerad översikt

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.

Skapa en paginerad rapport: Lägga till texter och bilder

Skapa en paginerad rapport: Lägga till texter och bilder

Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.

SharePoint Automate-funktionen | En introduktion

SharePoint Automate-funktionen | En introduktion

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.

Lös en dataanalysutmaning med LuckyTemplates Accelerator

Lös en dataanalysutmaning med LuckyTemplates Accelerator

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öpande summor i LuckyTemplates med DAX

Löpande summor i LuckyTemplates med DAX

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.

LuckyTemplates Dax-variabler är konstanta: Vad betyder detta?

LuckyTemplates Dax-variabler är konstanta: Vad betyder detta?

Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.

LuckyTemplates Slope Chart: En översikt

LuckyTemplates Slope Chart: En översikt

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.

LuckyTemplates färgteman för enhetliga visualiseringar

LuckyTemplates färgteman för enhetliga visualiseringar

Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.

Beräkna medelvärde i LuckyTemplates: Isolera veckodags- eller helgresultat med DAX

Beräkna medelvärde i LuckyTemplates: Isolera veckodags- eller helgresultat med DAX

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.

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

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.