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.
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.
Bruk Ctrl + Shift + L for å oppdatere alle forekomster av et navn samtidig.
Legg til " @ "-prefikset til virtuelle tabeller eller midlertidige kolonnenavn i DAX.
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.
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.
Når oppryddingen er fullført, kan du lime inn den formaterte koden tilbake til LuckyTemplates-filen.
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:
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.
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.
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.
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.
3. DEL
Divisjon i LuckyTemplates kan gjøres på mange måter. Den mest grunnleggende måten er å bruke enkel aritmetisk divisjon.
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.
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.
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.
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.
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.
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.
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:
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
Denne opplæringen vil diskutere om variabler og uttrykk i Power Query Editor. Du lærer hvordan du skriver og bygger dem riktig.
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!
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.
Lær hvordan et tilpasset stolpediagram på markedsplassen kan brukes til datasammenligning og hvordan du kan lage dem ved å bruke eksempler i LuckyTemplates.
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.
eDNA demonstrerer hvordan du utfører språk- eller tekstoversettelse ved hjelp av Python og overfører det til LuckyTemplates. LuckyTemplates Python-opplæring.
I denne opplæringen lærer du hvordan du bruker Gauge Bullet Graph til å lage et Gantt-diagram i LuckyTemplates Report Builder.
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
Ny kundeanalyse med LuckyTemplates – Neste medlemsbegivenhet