Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

Brug Ctrl + Shift + L for at opdatere alle forekomster af et navn på én gang.

Den ultimative DAX-guide for begyndere

Tilføj " @ "-præfikset til virtuelle tabeller eller midlertidige kolonnenavne i DAX.

Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

Når oprydningen er færdig, kan du derefter indsætte den formaterede kode tilbage til din LuckyTemplates-fil.

Den ultimative DAX-guide for begyndere

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:

Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

3. DEL

Opdeling i LuckyTemplates kan gøres på mange måder. Den mest grundlæggende måde er at bruge simpel aritmetisk division.

Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

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 .

Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

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.

Den ultimative DAX-guide for begyndere

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:

Den ultimative DAX-guide for begyndere

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


Hvad er Power Query & M Language: En detaljeret oversigt

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.

Opret en sideinddelt rapport: Tilføjelse af tekster og billeder

Opret en sideinddelt rapport: Tilføjelse af tekster og billeder

Lær, hvordan du opretter en sideinddelt rapport, tilføjer tekster og billeder og derefter eksporterer din rapport til forskellige dokumentformater.

SharePoint Automate-funktionen | En introduktion

SharePoint Automate-funktionen | En introduktion

Lær, hvordan du bruger SharePoint-automatiseringsfunktionen til at skabe arbejdsgange og hjælpe dig med at mikrostyre SharePoint-brugere, -biblioteker og -lister.

Løs en dataanalyseudfordring med LuckyTemplates Accelerator

Løs en dataanalyseudfordring med LuckyTemplates Accelerator

Udvid dine rapportudviklingsevner ved at deltage i en dataanalyseudfordring. Acceleratoren kan hjælpe dig med at blive LuckyTemplates-superbruger!

Løbende totaler i LuckyTemplates ved hjælp af DAX

Løbende totaler i LuckyTemplates ved hjælp af DAX

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.

LuckyTemplates Dax-variabler er konstante: Hvad betyder det?

LuckyTemplates Dax-variabler er konstante: Hvad betyder det?

Forstå konceptet med variabler i DAX i LuckyTemplates og betydningen af ​​variabler for, hvordan dine mål beregnes.

LuckyTemplates hældningsdiagram: en oversigt

LuckyTemplates hældningsdiagram: en oversigt

Lær mere om det brugerdefinerede visuelle kaldet LuckyTemplates Slope-diagrammet, som bruges til at vise stigning/fald for en enkelt eller flere metrics.

LuckyTemplates farvetemaer til ensartede visualiseringer

LuckyTemplates farvetemaer til ensartede visualiseringer

Opdag farvetemaerne i LuckyTemplates. Disse er afgørende for, at dine rapporter og visualiseringer kan se ud og fungere problemfrit.

Beregning af gennemsnit i LuckyTemplates: Isolering af resultater på ugedage eller weekender ved hjælp af DAX

Beregning af gennemsnit i LuckyTemplates: Isolering af resultater på ugedage eller weekender ved hjælp af DAX

Beregning af et gennemsnit i LuckyTemplates kan gøres på mange måder for at give dig præcise oplysninger til dine virksomhedsrapporter.

LuckyTemplates tema | LuckyTemplates Desktop Standard Theming

LuckyTemplates tema | LuckyTemplates Desktop Standard Theming

Lad os dykke ned i Standard LuckyTemplates-temaer og gennemgå nogle af de funktioner, der er indbygget i selve LuckyTemplates Desktop-applikationen.