Den ultimate DAX-guiden for nybegynnere

Den tredje pilaren i LuckyTemplates-utviklingen er DAX-beregninger. Denne opplæringen inneholder en grundig DAX-veiledning for nybegynnere som dekker det grunnleggende om formatering og redigering. Ofte brukte DAX-funksjoner er også inkludert i diskusjonen.

Innholdsfortegnelse

DAX Editor Guide

Før noe annet, her er noen DAX Editor-tips du trenger å vite:

Bruk Ctrl + muserullehjulet for å øke eller redusere skriftstørrelsen i DAX Editor-vinduet.

Den ultimate DAX-guiden for nybegynnere

Bruk Ctrl + Shift + L for å oppdatere alle forekomster av et navn samtidig.

Den ultimate DAX-guiden for nybegynnere

Legg til " @ "-prefikset til virtuelle tabeller eller midlertidige kolonnenavn i DAX.

Den ultimate DAX-guiden for nybegynnere

DAX-veiledning for formatering

Din DAX-kode må være organisert og lett forståelig for brukerne.

Du skriver ikke bare kode for deg selv i dag, men også for deg selv i fremtiden.

Det er viktig å utvikle DAX-koder som er lett lesbare og forståelige for deg selv og andre både nå og på et senere tidspunkt.

Ikke bekymre deg om redigering og organisering kan ende opp med å ødelegge koden din. Datamaskiner er smarte; så lenge syntaksen er riktig, vil de kunne tolke og utføre kodene du har skrevet.

Et flott sitat av Marco Russo sier:

Hvis det ikke er formatert, er det ikke DAX.

Det finnes en rekke måter å formatere DAX på. Det anbefalte alternativet er å bruke DAX Clean Up Tool som er tilgjengelig på LuckyTemplates Analyst Hub.

Den ultimate DAX-guiden for nybegynnere

Du kan få tilgang til dette verktøyet ved å bruke dette. En annen måte er å få tilgang til LuckyTemplates-nettstedet og deretter velge Ressurser. Nederst på siden finner du DAX Clean Up Tool.

For å bruke dette verktøyet, kopier koden fra DAX Editor i LuckyTemplates-filen. Lim den inn i DAX Clean Up Tool og klikk deretter Format.

Den ultimate DAX-guiden for nybegynnere

Når oppryddingen er fullført, kan du lime inn den formaterte koden tilbake til LuckyTemplates-filen.

Den ultimate DAX-guiden for nybegynnere

Du kan også redigere koden i verktøyet.

Kommenterer i en DAX-kode

Når du arbeider med komplekse DAX-koder, er det en god praksis å legge til kommentarer. Du vil ha stor nytte av en pseudokode-forklaring. Men det finnes unntak.

Å kommentere er en veldig personlig aktivitet. Det kan være varierte meninger om riktig nivå av kommentarer fra utviklere og brukere. Så igjen, når du oppretter koder og kommentarer, er det viktig å ta hensyn til hvordan de vil bli akseptert og forstått av brukere eller utviklere i fremtidige tilfeller. Å gjøre det vil være til stor nytte for deg og virksomheten i det lange løp.

DAX-veiledning for variabler

Bruk detaljerte variabelnavn. Nøkkelen er klarhet . Det er viktig å lage navn som er tydelige og lett forståelige.

Igjen, datamaskiner er smarte og kan enkelt finne ut hva som blir skrevet. Så husk at du ikke skriver for datamaskinen eller for LuckyTemplates; du skriver for deg selv og den som skal bruke og vedlikeholde koden din i løpet av de neste månedene.

Når du bruker variabler i DAX-koden din, er det en god praksis å bruke et prefiks foran et variabelnavn for å sikre at du velger riktig variabel i påfølgende linjer. Understrekingen ( _ ) er et anbefalt prefiks å bruke. Dette bidrar også til å redusere listen som presenteres i IntelliSense-funksjonen i LuckyTemplates.

Her er et eksempel:

Den ultimate DAX-guiden for nybegynnere

Du kan se at når understrek skrives, vises bare to valg. Antall valg er betydelig redusert, noe som forbedrer effektiviteten ved koding.

En annen beste praksis er å bruke RETURN Result- konstruksjonen.

Den ultimate DAX-guiden for nybegynnere

Dette gjør det lettere å gradvis utvikle og feilsøke DAX-koder.

DAX-beregningskvalifisering

Når du bruker kolonner i DAX-uttrykk, må du være spesifikk fordi det er mulig å ha samme kolonnenavn i flere tabeller.

For eksempel kan en kundenøkkelkolonne i både Kunder- og Salg-tabellen forekomme.

Den ultimate DAX-guiden for nybegynnere

Selv om de ofte betyr det samme og inneholder de samme dataene, vil det ikke være tilfelle hele tiden. For å få de ønskede resultatene bør du alltid kvalifisere kolonnenavn.

I tillegg må du sørge for at tiltak ikke er bundet til et bord. De kan flyttes fra en tabell til en annen, så det er viktig å sørge for at tiltaksnavn ikke er kvalifisert.

Viktige DAX-funksjoner å vite

1. BEREGN

er en av de viktigste DAX-funksjonene da den lar deg endre konteksten til en beregning.

Imidlertid forårsaker denne funksjonen ofte forvirring, ikke fordi den er vanskelig å bruke, men heller på grunn av navnet. Selv om det heter CALCUATE, utfører det faktisk ikke en beregning. Det er snarere å endre konteksten til en beregning.

For eksempel, i dette salgs-LY-målet, brukes CALCUATE-funksjonen til å endre konteksten for beregningen av totalt salg til ett år før gjeldende evalueringskontekst.

Den ultimate DAX-guiden for nybegynnere

2. DATEADD

Det er mange tidsintelligensfunksjoner tilgjengelig i DAX. Vanlige DAX-koder vil mest sannsynlig bruke funksjonene,, ogblant mange andre. Mener en av de mest allsidige DAX-tidsintelligensfunksjonene. Og denne funksjonen bør være ditt førstevalg.

Med DATEADD kan den samme syntaksen brukes for flere beregninger, enten bakover eller fremover i tid, og for ÅR, KVARTAL, MÅNED eller DAG. Dette gjør det veldig enkelt å lage flere tidsintelligensmål ved å kopiere og lime inn med mindre redigering.

Den ultimate DAX-guiden for nybegynnere

3. DEL

Divisjon i LuckyTemplates kan gjøres på mange måter. Den mest grunnleggende måten er å bruke enkel aritmetisk divisjon.

Den ultimate DAX-guiden for nybegynnere

Imidlertid krever deling med null tilfeller vanligvis forseggjorte tester før du fortsetter. Heldigvis finnes det en DAX-funksjon som håndterer dette for deg.

Funksjonen håndterer automatisk deling med null tilfeller og lar deg også legge til et alternativt resultat. Fordi dette er enklere å aritmetisk divisjon i LuckyTemplates, er koden mer lesbar.

Den ultimate DAX-guiden for nybegynnere

4. BYTT TRUE

En annen DAX-kode er logikken.

Når du har flere forhold å evaluere, vil dette føre til at du oppretter flere nestedeuttalelser som ofte er vanskelige å lese og spore gjennom.

SWITCH TRUE-setningen gir fleksibilitet til å endre kode på et senere tidspunkt og justere forholdene til nye. Den er også mer kompakt, noe som gjør den lettere å lese.

Den ultimate DAX-guiden for nybegynnere

DAX-guide til virtuelle tabeller

Når du konstruerer en virtuell tabell i DAX-koden din, bruk funksjonen til å gruppere kolonner i en basistabell. Deretter omgir du den medkonstruksjon for å legge til kolonner.

For å gjenta, bruk " @ "-prefikset på kolonner som bruker ADDCOLUMNS-funksjonen for å forhindre tvetydighet og sikre at den valgte virtuelle tabellkolonnen er korrekt.

Når du arbeider med virtuelle tabeller, anbefales det også å bruke DAX Studio eller Tabellredigering for å hjelpe deg.

Det kan være mange relasjoner mellom et par tabeller i LuckyTemplates. DAX-koden vil bruke det aktive forholdet som standard. Men det kan endres til å bruke et bestemt inaktivt forhold gjennom bruk avkommando.

For eksempel kan det være mange relasjoner mellom Dato-kolonnene i Datoer-tabellen og Sales-tabellen. Salgs [Ordre Dato] er det aktive forholdet mens Sales [Faktura Dato] er det inaktive forholdet. Når du ønsker å bruke Salgs [Ordre Dato] i en beregning, kreves det ingen ekstra innsats. Men hvis du ønsker å bruke Salgs [Fakturedato] i en beregning, må du bruke den sammen med USERELATIONSHIP -kommandoen.

Den ultimate DAX-guiden for nybegynnere

I modellvisningen i LuckyTemplates viser det aktive forholdet ved å holde musepekeren over den heltrukne linjen. Mens de to stiplede linjene viser det inaktive forholdet mellom hvert element i de to tabellene.

Den ultimate DAX-guiden for nybegynnere

Når du går gjennom eksempelrapporten, kan det også ses at det er en forskjell mellom kolonnene Salg etter ordredato, kolonnene Salg etter fakturadato og Salg etter forsendelsesdato.

Den ultimate DAX-guiden for nybegynnere

Mål kontra beregnede kolonner

Det er et sted for komfort for de som kommer fra Excel-bakgrunn å bruke, da det lar deg se dataene. Men den beste praksisen i DAX og LuckyTemplates er å bruke så mye som mulig.

Det er visse tilfeller der beregnede kolonner brukes. De er ofte utviklet som et utgangspunkt for å hjelpe med visualisering av en beregning. Men så må du senere erstatte dem med tiltak når du har full visualisert beregningen i hodet ditt. Dessuten kan beregnede kolonner brukes i slicere i motsetning til mål.

Et mål øker ikke den fysiske størrelsen på datamodellen når den beregnes. det gjør det bare når det brukes i en visuell. En beregnet kolonne øker imidlertid den fysiske størrelsen på datamodellen din fordi den beregnes og lagres fysisk hver gang filen oppdateres.

DAX-veiledning for å måle forgreninger

En av de mest verdifulle teknikkene i LuckyTemplates er .

En fin måte å modularisere koden på er å starte med enkle eller grunnleggende mål som utfører enkle beregninger, og deretter kombinere dem etter behov for å utføre mer komplekse beregninger. Sett basis- og midlertidige mål i tabeller for å se beregningene mens de utføres.

Det er forskjellige tankeganger om hvor spesifikke tiltak bør ligge, og det er fordeler og ulemper med alle metoder. Men det er mer fordelaktig å bruke en dedikert i LuckyTemplates-utvikling. Hvis alle målene er plassert på samme sted øverst i feltruten, gjør dette det lettere å spore logikken i DAX-beregningene dine.

Den ultimate DAX-guiden for nybegynnere

Kontekst i DAX-beregninger

En av hovedstyrkene i LuckyTemplates er kontekst. Og det er også et av de vanskeligste konseptene å forstå for utviklere.

Kontekst er miljøet der en beregning utføres.

To kontekster presenteres ofte: radkontekst og filterkontekst . Men faktisk er det en tredje: evalueringskonteksten .

Og dette bringer deg tilbake til CALCULATE- kommandoen, som igjen lar brukeren endre konteksten til en beregning. Det er to hovedklasser av funksjoner i DAX og LuckyTemplates: aggregeringsfunksjoner og iterasjonsfunksjoner .

Aggregeringsfunksjoner er de som samler verdiene til en enkelt kolonne. Eksempler på aggregeringsfunksjoner inkluderer,, og. Mens de fleste aggregeringsfunksjoner bare fungerer på numeriske verdier eller datoverdier, fungerer MAX og MIN også på tekstverdier.

Iterasjonsfunksjoner er de som beregner et uttrykk for hver rad i en tabell. De er også kjent som X-funksjoner . Eksempler inkluderer,,, og. De har to parametere: tabellen som skal itereres over og uttrykket som utfører beregningen. Dette kan bruke flere kolonner fra basistabellen eller fra andre relaterte tabeller.

Her er et kort eksempel på hvordan aggregerings- og iterasjonsfunksjonene brukes forskjellig og likevel gir det samme resultatet:

Den ultimate DAX-guiden for nybegynnere

Konklusjon

Denne DAX-guiden er rettet mot å hjelpe nye LuckyTemplates-brukere som fortsatt utforsker og lærer. Dette er også veldig nyttig som en sjekkliste for erfarne utviklere som trenger et raskt oppfriskningskurs. Denne opplæringen er en flott byggestein for avansert rapportutvikling i LuckyTemplates.

LuckyTemplates har ulike ressurser på DAX-veiledninger fra det grunnleggende til avansert koding. Sørg for å ta en titt på dem for å bli bedre kjent med DAX-programmeringsspråket.

Greg


Variabler og uttrykk i Power Query Editor

Variabler og uttrykk i Power Query Editor

Denne opplæringen vil diskutere om variabler og uttrykk i Power Query Editor. Du lærer hvordan du skriver og bygger dem riktig.

Hvordan lage et Lucky Templates-varmekart

Hvordan lage et Lucky Templates-varmekart

Et LuckyTemplates-varmekart er en type visualisering som brukes til å vise datatetthet på et kart. I denne opplæringen vil jeg diskutere hvordan vi kan lage en – ikke gå glipp av noe!

Opprette et Pareto-diagram i LuckyTemplates – Avansert DAX

Opprette et Pareto-diagram i LuckyTemplates – Avansert DAX

Jeg skal lære deg et veldig interessant eksempel rundt Pareto-prinsippet og hvordan du lager et Pareto-diagram ved hjelp av viktige DAX-formler.

Egendefinert stolpediagram i LuckyTemplates: varianter og modifikasjoner

Egendefinert stolpediagram i LuckyTemplates: varianter og modifikasjoner

Lær hvordan et tilpasset stolpediagram på markedsplassen kan brukes til datasammenligning og hvordan du kan lage dem ved å bruke eksempler i LuckyTemplates.

Kraftautomatisering av statiske resultater: En oversikt

Kraftautomatisering av statiske resultater: En oversikt

Lær hvordan Power Automate Static Results-funksjonen fungerer og hvorfor det er bra å bli lagt til de beste praksisene når du lager flytdiagrammer.

LuckyTemplates Python-opplæring: Hvordan oversette tekster

LuckyTemplates Python-opplæring: Hvordan oversette tekster

eDNA demonstrerer hvordan du utfører språk- eller tekstoversettelse ved hjelp av Python og overfører det til LuckyTemplates. LuckyTemplates Python-opplæring.

Lag et Gantt-diagram i LuckyTemplates Report Builder

Lag et Gantt-diagram i LuckyTemplates Report Builder

I denne opplæringen lærer du hvordan du bruker Gauge Bullet Graph til å lage et Gantt-diagram i LuckyTemplates Report Builder.

Lag 3D-spredningsplott ved å bruke Python i LuckyTemplates

Lag 3D-spredningsplott ved å bruke Python i LuckyTemplates

I denne opplæringen lærer du hvordan du lager et tredimensjonalt (3D) spredningsplott ved å bruke Python i LuckyTemplates.

Effektiv LuckyTemplates-rapportering – øktgjennomgang og ressursnedlasting

Effektiv LuckyTemplates-rapportering – øktgjennomgang og ressursnedlasting

Effektiv LuckyTemplates-rapportering – øktgjennomgang og ressursnedlasting

Ny kundeanalyse med LuckyTemplates – Neste medlemsbegivenhet

Ny kundeanalyse med LuckyTemplates – Neste medlemsbegivenhet

Ny kundeanalyse med LuckyTemplates – Neste medlemsbegivenhet