Hvad er Power Query & M Language: En detaljeret oversigt
Denne vejledning giver et overblik over Power Query Editor og M-sproget inde på LuckyTemplates-skrivebordet.
I denne vejledning lærer du om forskellige nøgleord og funktioner i DAX Studio med et specifikt forespørgselseksempel for hver enkelt.
Specifikt vil du lære om søgeordene BESTIL EFTER og START AT sammen med funktionerne TOPNSKIP og ADDMISSINGITEMS.
Indholdsfortegnelse
Eksempel på DAX-forespørgsel: ORDER BY Keyword
Nøgleordet ORDER BY giver dig mulighed for at sortere et datasæt.
Grundlæggende eksempel
For eksempel kan du sortere en kolonne alfabetisk ved at bruge søgeordet ORDER BY.
Du kan se, at dataene i første række starter med "A." DAX Studios standardsorteringsrækkefølge er stigende .
Hvis du vil have dine data vist i faldende rækkefølge, så skriv DESC . Så i dette eksempel starter mærkesøjlen i stedet for et A med et "W".
På samme måde, hvis du vil vende det tilbage til en stigende rækkefølge, skal du skrive ASC . Du kan også sortere flere kolonner på én gang. Du kan gøre dette ved at skrive de ønskede kolonner med hver enkelt adskilt af et komma.
Eksempel fra den virkelige verden
Lad os nu se på en simpel applikation i den virkelige verden, der bruger søgeordet ORDER BY. Dette er det samme eksempel, der blev brugt i .
Du kan se, at denne tabel returnerer 3 kolonner. Den første er produkttypen, der består af Boring og Trendy. Den anden kolonne viser det samlede salg efter produkttype. Den tredje returnerer Salgsprocenten.
I dette eksempel skal du oprette en ny kolonne, der sorterer produkttypen. Så efter udsagnet skal du skrive og derefter navnet på den kolonne, du vil oprette.
Formlen for denne kolonne er den samme som IF-syntaksen, men i stedet for "Trendy" og "Kedelig" vil denne kolonne vise "1" for Trendy og "2" for Kedelig.
For at se denne kolonne i tabellen skal du skrive den under EVALUATE-syntaksen.
Du vil derefter se, at en ny kolonne, Product Type Sort, tilføjes til tabellen bestående af tallene 1 og 2.
For at sortere denne kolonne skal du skrive nøgleordet ORDER BY efter syntaksen. Efter kolonnenavnet skal du skrive enten ASC eller DESC afhængigt af den sorteringsrækkefølge, du ønsker, at kolonnen skal have.
Eksempel på DAX-forespørgsel: START KL
Den næste ting, du lærer, er søgeordet START AT .
START AT er et forældet søgeord. Dens brug anbefales ikke til de fleste DAX-forespørgsler. Du kan dog stadig finde noget DAX-kode, der gør brug af dette. Så det er stadig vigtigt at vide, hvad det er, og i hvilke tilfælde det kan bruges.
Grundlæggende eksempel
Skriv først nøgleordet EVALUER. Dette eksempel bruger tabellen Produkter. Før du skriver START AT, skal du først bruge BESTIL EFTER og derefter angive de kolonner, du vil have med.
Du kan så skrive START AT. Denne syntaks vil følge den rækkefølge, der svarer til, hvordan du skrev dine kolonner under ORDER BY. I dette eksempel starter produktnøglekolonnen ved "2", og mærkekolonnen starter ved "Contoso".
Når du trykker på F5, kan du se i resultattabellen, at de angivne kolonner følger forespørgslens retning.
Lad os nu se, hvad der sker, når endnu en kolonne tilføjes. I dette tilfælde skal farvekolonnen starte ved "Sølv".
Når du kører denne forespørgsel, kan du se, at den første post under kolonnen Farve er "hvid". Det er ikke garanteret, at resultatet altid følger alle betingelserne ved brug af START AT.
For dette eksempel er der ingen forekomst i tabellen Produkter, der indeholder 2, Contoso og Silver alle i samme række. I stedet forsøger DAX-motoren at skabe det bedste match til den forespørgsel, du har oprettet.
Kompleks eksempel
Lad os se på et andet eksempel:
Efter EVALUATE, skriv ORDER BY nøgleordet efterfulgt af de tre specificerede kolonner. Skriv bagefter START AT. I dette tilfælde skal kolonnen Farve starte med "Rød", kolonnen Køn skal starte med "M", og kolonnen Butiksnøgle skal starte med "2".
Når du har kørt forespørgslen, kan du se, at DAX-motoren gjorde sit bedste for at matche de angivne parametre.
I resultaterne kan du se, at to kolonner er korrekte, mens kolonnen Store Key starter ved 199 i stedet for 2. Dette skyldes, at en Store Key på 2 ikke findes i dette eksempels datamodel.
Langsom DAX-motor
Klik på knappen Server Timings under fanen Hjem.
En ny fane vises i bunden. Klik på Ryd cache og derefter Kør- knappen, der findes i rullemenuen Kør.
Du kan se, at det tager DAX Studio 142ms at udføre forespørgslen. Hvis du fjerner START AT-syntaksen og kører koden igen, kan du se, at det kun vil tage 11 ms at udføre.
Forespørgslen tager længere tid at køre, hvis der er en START AT-syntaks, fordi den påkalder en adfærd fra DAX-motoren kaldet CallBackDataID .
START AT gør din kode ekstremt langsom. Hvis det ikke er påkrævet at bruge det, skal du hellere undgå det.
Det har en betydelig indflydelse på den overordnede ydeevne af den DAX-kode, du skriver. Derfor er det bedst at bruge andre lignende funktioner.
Eksempel på DAX-forespørgsel: TOPNSKIP-funktion
Den næste ting, du lærer i denne tutorial, er TOPNSKIP- funktionen. Denne funktion ligner, men den har en subtil forskel sammen med en ekstra parameter. For yderligere at forstå dette, lad os se på et eksempel.
TOPN vs TOPNSKIP
Skriv først nøgleordet EVALUER. Skriv derefter TOPN-argumentet nedenfor for at se de øverste 100 rækker i produkttabellen.
Denne tabel er også blevet sorteret efter stigende rækkefølge med hensyn til kolonnen Produktnøgle.
Udskift nu TOPN med TOPNSKIP. I det andet argument skal du angive antallet af rækker, du vil springe over. I dette eksempel er 10 angivet.
Når du kører dette, vil du se, at kolonnen Produktnøgle nu starter ved 11 og slutter ved 110. Bemærk, at du ikke kan bruge TOPNSKIP-funktionen inde i en beregnet tabel eller i en tabelformet datamodel.
Et andet eksempel
Lad os i dette næste eksempel se de øverste 5000 rækker i kundetabellen. Denne tabel er sorteret i stigende rækkefølge i forhold til kolonnen Køn.
Hvis du bruger TOPN-funktionen, kan du se, at tabellen returnerer 9.518 rækker. Dette betyder, at selvom du har angivet kun at vise de øverste 5000 rækker, blev nogle data efterladt ufiltrerede.
Men hvis du bruger TOPNSKIP-funktionen, kan du se, at tabellen kun returnerer de første 5.000 rækker i kolonnen Køn.
Så selvom kundens køn-kolonne har flere regler for et bestemt køn, vil TOPNSKIP-funktionen kun returnere de første 5.000 rækker. Dette resultat er ikke garanteret, når du bruger TOPN-funktionen.
Eksempel på DAX-forespørgsel: ADDMISSINGITEMS-funktion
Lad os endelig se på ADDMISSINGITEMS -funktionen i DAX Studio.
Når du bruger SUMMARIZECOLUMNS, vil den som standard forsøge at fjerne tomme rækker fra resultatet. For eksempel kan vi skrive en forespørgsel, der opsummerer produktfarve, produktmærke og kundekøn.
Når du trykker på F5, kan du se, at tabellen returnerer tre kolonner. Kolonnen Køn er sammensat af 3 typer køn: Mand, Kvinde og Blank. Blank repræsenterer virksomheden. Du kan også se, at den returnerer 333 rækker.
Men hvis du opretter en kolonne i alt salg, vil SUMMARIZECOLUMNS-filteret fjerne de rækker, der indeholder tomme værdier for det samlede salg. I stedet for 333 rækker indeholder tabellen nu kun 323 rækker.
Der er 2 muligheder for at bringe disse rækker tilbage. Den første mulighed er at tilføje et nul efter det samlede salg. I resultaterne kan du se, at 10 rækker returnerer en nulværdi for Samlet salg.
Denne mulighed giver dog ikke altid det bedste resultat. I stedet er der en specifik funktion, du kan bruge til at løse dette problem: ADDMISSINGITEMS-funktionen .
For at bruge denne funktion skal du placere denne efter EVALUATE. I det første argument skal du skrive kolonnerne. Du skal også indsætte disse kolonner i parameteren groupBy for SUMMARIZECOLUMNS.
Når du kører denne forespørgsel, vil du se, at tabellen nu returnerer 333 rækker.
Hvis du sorterer kolonnerne Samlet salg og fjerner nullet, returnerer tabellen tomme værdier under kolonnen Samlet salg.
Så i stedet for at rapportere et nul, returnerer tabellen et tomt felt for rækker, der blev fjernet af funktionen SUMMARISECOLUMNS.
Brug af ADDMISSINGITEMS og FILTER
Du kan også bruge funktionen ADDMISSINGITEMS sammen med. Lad os f.eks. bortfiltrere rækkerne, der indeholder "Tailspin-legetøj". I forespørgslen står der, at kolonnen Brand ikke må indeholde ( <> ) Tailspin-legetøj.
Når du trykker på F5, kan du se, at tabellen nu kun returnerer 331 rækker. Så de to rækker med mærket "Tailspin Toys" blev fjernet.
Konklusion
De to nøgleord og to funktioner, der diskuteres i denne vejledning, er grundlæggende viden, du skal have, når du opretter forespørgsler i DAX Studio. Disse vil være nyttige, når du har at gøre med mere komplekse applikationer fra den virkelige verden.
DAX Studio er et kraftfuldt værktøj til at udføre og analysere DAX-forespørgsler. Det er vigtigt at lære de grundlæggende kodningsprincipper i denne software, så det er nemmere, når du beskæftiger dig med avancerede forespørgsler i fremtiden.
LuckyTemplate-eksperter
Denne vejledning giver et overblik over Power Query Editor og M-sproget inde på LuckyTemplates-skrivebordet.
Lær, hvordan du opretter en sideinddelt rapport, tilføjer tekster og billeder og derefter eksporterer din rapport til forskellige dokumentformater.
Lær, hvordan du bruger SharePoint-automatiseringsfunktionen til at skabe arbejdsgange og hjælpe dig med at mikrostyre SharePoint-brugere, -biblioteker og -lister.
Udvid dine rapportudviklingsevner ved at deltage i en dataanalyseudfordring. Acceleratoren kan hjælpe dig med at blive LuckyTemplates-superbruger!
Lær, hvordan du beregner løbende totaler i LuckyTemplates ved hjælp af DAX. Løbende totaler giver dig mulighed for ikke at blive fanget af et individuelt resultat.
Forstå konceptet med variabler i DAX i LuckyTemplates og betydningen af variabler for, hvordan dine mål beregnes.
Lær mere om det brugerdefinerede visuelle kaldet LuckyTemplates Slope-diagrammet, som bruges til at vise stigning/fald for en enkelt eller flere metrics.
Opdag farvetemaerne i LuckyTemplates. Disse er afgørende for, at dine rapporter og visualiseringer kan se ud og fungere problemfrit.
Beregning af et gennemsnit i LuckyTemplates kan gøres på mange måder for at give dig præcise oplysninger til dine virksomhedsrapporter.
Lad os dykke ned i Standard LuckyTemplates-temaer og gennemgå nogle af de funktioner, der er indbygget i selve LuckyTemplates Desktop-applikationen.