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.
Den tredje søjle i LuckyTemplates-udvikling er DAX-beregninger. Denne vejledning indeholder en grundig DAX-vejledning til begyndere, der dækker det grundlæggende om formatering og redigering. Hyppigt brugte DAX-funktioner er også inkluderet i diskussionen.
Indholdsfortegnelse
DAX Editor Guide
Før noget andet er her nogle DAX Editor-tip, du har brug for at vide:
Brug Ctrl + musens rullehjul til at øge eller formindske skriftstørrelsen i DAX Editor-vinduet.
Brug Ctrl + Shift + L for at opdatere alle forekomster af et navn på én gang.
Tilføj " @ "-præfikset til virtuelle tabeller eller midlertidige kolonnenavne i DAX.
DAX vejledning til formatering
Din DAX-kode skal være organiseret og let forståelig for brugerne.
Du skriver ikke kun kode til dig selv i dag, men også til dig selv i fremtiden.
Det er vigtigt at udvikle DAX-koder, der er let læselige og forståelige for dig selv og andre både nu og på et senere tidspunkt.
Bare rolig, hvis redigering og organisering kan ende med at ødelægge din kode. Computere er smarte; så længe syntaksen er korrekt, vil de være i stand til at fortolke og udføre de koder, du har skrevet.
Et godt citat af Marco Russo lyder:
Hvis det ikke er formateret, er det ikke DAX.
Der er en række måder at formatere DAX på. Den anbefalede mulighed er at bruge DAX Clean Up Tool, der er tilgængeligt på LuckyTemplates Analyst Hub.
Du kan få adgang til dette værktøj ved at bruge dette. En anden måde er at få adgang til LuckyTemplates-webstedet og derefter vælge Ressourcer. Nederst på siden finder du DAX Clean Up Tool.
For at bruge dette værktøj skal du kopiere din kode fra DAX Editor i din LuckyTemplates-fil. Indsæt det i DAX Clean Up Tool, og klik derefter på Formater.
Når oprydningen er færdig, kan du derefter indsætte den formaterede kode tilbage til din LuckyTemplates-fil.
Du kan også redigere koden i værktøjet.
Kommentering i en DAX-kode
Når du har at gøre med komplekse DAX-koder, er det en god praksis at tilføje kommentarer. Du vil have stor gavn af en pseudokode-forklaring. Men der er undtagelser.
At kommentere er en meget personlig aktivitet. Der kan være forskellige meninger om det rigtige niveau af kommentarer fra udviklere og brugere. Så igen, når du opretter koder og kommentarer, er det vigtigt at tage i betragtning, hvordan de vil blive accepteret og forstået af brugere eller udviklere i fremtidige tilfælde. Det vil gavne dig og virksomheden i høj grad i det lange løb.
DAX guide til variabler
Brug udførlige variabelnavne. Nøglen er klarhed . Det er vigtigt at skabe navne, der er klare og letforståelige.
Igen, computere er smarte og kan nemt finde ud af, hvad der bliver skrevet. Så husk, at du ikke skriver til computeren eller til LuckyTemplates; du skriver for dig selv og den, der vil bruge og vedligeholde din kode i de følgende måneder.
Når du bruger variabler i din DAX-kode, er det en god praksis at bruge et præfiks før et variabelnavn for at sikre, at du vælger den korrekte variabel i efterfølgende linjer. Understregningen ( _ ) er et anbefalet præfiks at bruge. Dette hjælper også med at reducere listen præsenteret i IntelliSense-funktionen i LuckyTemplates.
Her er et eksempel:
Du kan se, at når der skrives understregning, vises kun to valgmuligheder. Antallet af valg er betydeligt reduceret, hvilket forbedrer effektiviteten ved kodning.
En anden bedste praksis er at bruge RETURN Result -konstruktionen.
Dette gør det nemmere gradvist at udvikle og debugge DAX-koder.
DAX-beregningskvalifikation
Når du bruger kolonner i DAX-udtryk, skal du være specifik, fordi det er muligt at have det samme kolonnenavn i flere tabeller.
For eksempel kan en kundenøglekolonne i både kunde- og salgstabellerne forekomme.
Selvom de ofte betyder det samme og indeholder de samme data, vil det ikke være tilfældet hele tiden. For at få de ønskede resultater bør du altid kvalificere kolonnenavne.
Derudover skal du sikre dig, at foranstaltninger ikke er bundet til et bord. De kan flyttes fra et bord til et andet, så det er vigtigt at sikre sig, at målnavne ikke er kvalificerede.
Vigtige DAX-funktioner at vide
1. BEREGNET
er en af de vigtigste DAX-funktioner, da den giver dig mulighed for at ændre konteksten af en beregning.
Denne funktion forårsager dog ofte forvirring, ikke fordi den er svær at bruge, men snarere på grund af dens navn. Selvom det hedder BEREGN, udfører det faktisk ikke en beregning. Det er snarere at ændre konteksten af en beregning.
I dette Sales LY-mål bruges f.eks. CALCUATE-funktionen til at ændre konteksten for beregningen af det samlede salg til et år før den aktuelle evalueringskontekst.
2. DATEADD
Der er mange tidsintelligensfunktioner tilgængelige i DAX. Sædvanlige DAX-koder vil højst sandsynligt bruge funktionerne,, ogblandt mange andre. Mener en af de mest alsidige DAX tidsintelligens funktioner. Og denne funktion bør være dit første valg.
Med DATEADD kan den samme syntaks bruges til flere beregninger, enten baglæns eller fremad i tid, og for ÅR, KVARTAL, MÅNED eller DAG. Dette gør det meget nemt at oprette flere tidsintelligensmålinger ved hjælp af copy-and-paste med mindre redigering.
3. DEL
Opdeling i LuckyTemplates kan gøres på mange måder. Den mest grundlæggende måde er at bruge simpel aritmetisk division.
Dog kræver division med nul tilfælde normalt, at der udføres omfattende test, før du fortsætter. Heldigvis er der en DAX-funktion, der håndterer dette for dig.
Funktionen håndterer automatisk division med nul tilfælde og giver dig også mulighed for at tilføje et alternativt resultat. Fordi dette er lettere at aritmetisk division i LuckyTemplates, er koden mere læsbar.
4. SKIFT SAND
En anden DAX-kode er logikken.
Når du har flere betingelser at evaluere, vil dette føre dig til at oprette flere indlejredeudsagn, som ofte er svære at læse og spore igennem.
SWITCH TRUE-sætningen giver fleksibilitet til at ændre kode på et senere tidspunkt og til at tilpasse betingelser til nye. Det er også mere kompakt, hvilket gør det lettere at læse.
DAX guide til virtuelle borde
Når du konstruerer en virtuel tabel i din DAX-kode, skal du bruge funktionen til at gruppere kolonner i en basistabel. Omgiv den derefter medkonstruere for at tilføje kolonner.
For at gentage, brug " @ "-præfikset på kolonner ved hjælp af ADDCOLUMNS-funktionen for at forhindre tvetydighed og sikre, at den valgte virtuelle tabelkolonne er korrekt.
Når du har med virtuelle tabeller at gøre, anbefales det også at bruge DAX Studio eller Tabular Editor til at hjælpe dig.
Der kan være mange relationer mellem et par borde i LuckyTemplates. DAX-koden vil som standard bruge det aktive forhold. Men det kan ændres til at bruge et bestemt inaktivt forhold gennem brugen afkommando.
For eksempel kan der være mange relationer mellem Dato-kolonnerne i Dato-tabellen og Sales-tabellen. Salg [Ordredato] er den aktive relation, mens Salg [Fakturedato] er den inaktive relation. Når du vil bruge Salgs [Ordre Dato] i en beregning, kræves der ingen ekstra indsats. Men hvis du ønsker at bruge Salgs [Faktura Dato] i en beregning, skal du bruge den sammen med kommandoen USERELATIONSHIP .
I modelvisningen i LuckyTemplates viser svævningen over den fuldt optrukne linje det aktive forhold. Hvorimod de to stiplede linjer viser det inaktive forhold mellem hvert element i de to tabeller.
Går man gennem eksempelrapporten, kan det også ses, at der er en forskel mellem kolonnen Salg efter ordredato, kolonnen Salg efter fakturadato og kolonnen Salg efter forsendelsesdato.
Mål kontra beregnede kolonner
Det er et sted for komfort for dem, der kommer fra Excel-baggrunde at bruge, da det giver dig mulighed for at se dataene. Men den bedste praksis i DAX og LuckyTemplates er at bruge så meget som muligt.
Der er visse tilfælde, hvor beregnede kolonner bruges. De er ofte udviklet som udgangspunkt for at hjælpe med visualiseringen af en beregning. Men så skal du efterfølgende erstatte dem med mål, når du har fået regnestykket fuldt visualiseret i dit hoved. Desuden kan beregnede kolonner bruges i slicere i modsætning til mål.
Et mål øger ikke den fysiske størrelse af din datamodel, efterhånden som den beregnes; det gør det kun, når det bruges i en visualisering. En beregnet kolonne øger dog den fysiske størrelse af din datamodel, fordi den beregnes og gemmes fysisk, hver gang filen opdateres.
DAX-guide til måling af forgrening
En af de mest værdifulde teknikker i LuckyTemplates er .
En god måde at modularisere din kode på er at starte med simple eller grundlæggende målinger, der udfører simple beregninger, og derefter kombinere dem efter behov for at udføre mere komplekse beregninger. Sæt basis- og mellemmål i tabeller for at se beregningerne, mens de udføres.
Der er forskellige tankegange med hensyn til, hvor specifikke foranstaltninger skal ligge, og der er fordele og ulemper ved alle metoder. Men det er mere fordelagtigt at bruge en dedikeret i LuckyTemplates-udvikling. Hvis alle målene er placeret på samme sted i toppen af feltruden, gør det det nemmere at spore logikken i dine DAX-beregninger.
Kontekst i DAX-beregninger
En af de vigtigste styrker i LuckyTemplates er kontekst. Og det er også et af de sværeste koncepter at forstå for udviklere.
Kontekst er det miljø, hvori en beregning udføres.
Der præsenteres ofte to kontekster: rækkekontekst og filterkontekst . Men faktisk er der en tredje: evalueringskonteksten .
Og dette bringer dig tilbage til CALCULATE- kommandoen, som igen giver brugeren mulighed for at ændre konteksten for en beregning. Der er to hovedklasser af funktioner i DAX og LuckyTemplates: aggregeringsfunktioner og iterationsfunktioner .
Aggregeringsfunktioner er dem, der samler værdierne af en enkelt kolonne. Eksempler på aggregeringsfunktioner omfatter,, og. Mens de fleste aggregeringsfunktioner kun virker på numeriske værdier eller datoværdier, fungerer MAX og MIN også på tekstværdier.
Iterationsfunktioner er dem, der beregner et udtryk for hver række i en tabel. De er også kendt som X-funktioner . Eksempler omfatter,,, og. De har to parametre: tabellen, der skal itereres over, og det udtryk, der udfører beregningen. Dette kan bruge flere kolonner fra basistabellen eller fra andre relaterede tabeller.
Her er et kort eksempel på, hvordan aggregerings- og iterationsfunktionerne bruges forskelligt og alligevel giver det samme resultat:
Konklusion
Denne DAX-guide er rettet mod at hjælpe nye LuckyTemplates-brugere, som stadig udforsker og lærer. Dette er også meget nyttigt som en one-stop-tjekliste for erfarne udviklere, der har brug for et hurtigt genopfriskningskursus. Denne vejledning er en fantastisk byggesten til avanceret rapportudvikling i LuckyTemplates.
LuckyTemplates har forskellige ressourcer om DAX tutorials fra det grundlæggende til avanceret kodning. Sørg for at tage et kig på dem for at være mere velbevandret med DAX-programmeringssproget.
Greg
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.