DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
Denne bloggen sentrerer rundt en LuckyTemplates timeliste og de tilhørende lønnskostnadene. Jeg skal vise deg hvordan du beregner tidsdata og lønnstype ved hjelp av DAX. Jeg skal demonstrere en DAX-løsning ved å bruke mål og en annen ved å bruke beregnede kolonner. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.
Dette eksemplet kom fra en, som vi kjører i LuckyTemplates. Dette er et virkelighetsscenario som vi ofte møter i organisasjoner og bedrifter, og LuckyTemplates er akkurat det rette verktøyet for å gjøre jobben enklere og raskere.
Så la oss komme til det.
Innholdsfortegnelse
LuckyTemplates Timeliste og lønn: Løsning for kalkulerte kolonner
For den beregnede DAX-løsningen ved bruk av beregnede kolonner, går jeg til Time-tabellen og lager et mål, som jeg kaller CC-Regular Hours , for å beregne de vanlige timene.
I denne formelen henter jeg timene fra tabellen og legger dem inn i en variabel (). Så regner jegdet er en ferie, helg eller en vanlig dag. Medfunksjon, utnytter jeg datamodellen for å bestemme det, og så bruker jeg de to variablene (_IsHolidayDay og _IsWeekendDay ) for å bestemme den tredje ( _IsRegularDay ).
Til slutt bruker jeg en uttalelse der jeg sjekker de vanlige timene. De to andre (ferier og helger) kommer til å bli. Og hvis det er en vanlig dag, vil jeg returnere timene opp til åtte timer, og så bruker jeg RETURN Result -konstruksjonen.
Jeg vil gjøre stort sett det samme for formelen for overtidstimer ( CC-Overtime Hours ) – jeg vil bare endre SWITCH TRUE-setningen. Dette vil returnere timene for en helgedag. Hvis det er en vanlig dag, vil den returnere timene over åtte timer.
For ferietimene vil den returnere alle timene hvis det er en helligdag, og returnere blanke hvis det er en helgedag eller en vanlig dag.
La oss nå gå videre til lønnen. For den vanlige timelønnsformelen vil jeg utnytte den beregnede kolonnen jeg nettopp laget for vanlige timer. Jeg skal bestemme riktig lønn ved å bruke lønnstype , rett tid .
Jeg får de ansattes timelønn fra datamodellen og så bruker jeg a for å få multiplikatoren fra frakoblingstabellen Lønnstyper til å gjelde. Og til slutt beregner jeg variabelen Result , og har deretter RETURN-resultatet på slutten.
For overtid vil jeg bare endre lønnsarten til Time and a Half .
Jeg vil gjøre en lignende ting for ferielønn, men jeg vil bare endre lønnsarten til Dobbel tid .
Til slutt skal jeg gjøre en enkel sum for å gjøre den totale verdien tilgjengelig for meg.
Når jeg drar disse kolonnene inn i rapporten, kan vi se resultatene.
LuckyTemplates Timeliste og lønn: DAX-løsning ved hjelp av mål
Jeg kommer til å gjøre stort sett det samme som jeg gjorde for beregnede kolonner, men denne gangen skal jeg gjøre en liten endring.
Jeg har ikke tilgang til tidsverdien direkte fra tabellen, så jeg kommer til å bruke enher for å få timene knyttet til den bestemte tidsregistreringen som vises i det visuelle. Bortsett fra det er koden den samme som den var for versjonen med beregnede kolonner.
Jeg har gjort en veldig lignende ting for overtidstimene og ferietimene. Det er de samme reglene som for beregnede kolonner.
Når det gjelder lønningene, beregnes de veldig på samme måte. Den eneste forskjellen fra de beregnede kolonnene er variabelen for timer. Jeg bruker måleverdien jeg beregnet. Jeg gjør også det samme for overtidslønn og det samme for ferielønn.
Deretter vil jeg skrive et enkelt summål for den totale lønnen.
Og nå legger jeg til disse tiltakene i tabellen slik at vi kan se resultatene. Legg merke til at ingen av målene viser totaler. For å se de totale verdiene for målene her, skal jeg bruke mønsteret for å fikse feil totalsum . For å gjøre dette, må jeg lage tiltak som bruker virtuelle tabeller for å etterligne den fysiske tabellen som jeg har her.
Rett opp feil totalmønster
For å fikse dette, må jeg lage tiltak som bruker virtuelle tabeller for å etterligne den fysiske tabellen som jeg har her. Så for de totale timene brukte jegkonstruere for å lage en virtuell tabell med en tids-ID og timer. Og så bruker jegover den virtuelle tabellen for å beregne verdien.
Jeg drar det inn i tabellen her under, og nå kan vi se det totale antallet timer.
Jeg skal gjøre det samme for lønnen, hvor jeg skal bruke og OPPSUMMERE . Og så for resultatet, skal jeg bruke funksjonen for målet som jeg allerede har opprettet og SUMX for den virtuelle tabellen.
Det legger jeg så inn i tabellen her, og vi kan se at vi har den totale lønnen nå.
En annen ting er at når jeg plasserer mitt Totallønnsmål i et enkelt stolpediagram med avdelinger og lønnsarter, vil du se at jeg ikke får noen verdier her.
Dette er en del av problemet med feilaktige totaler. Og en av de beste måtene jeg har funnet å fikse dette på er å bruke den virtuelle tabellen og endre mål.
Så jeg tar ut den uten det virtuelle bordet, og jeg legger til det med det virtuelle bordet.
Konklusjon
Begge DAX-løsningene er gode for denne LuckyTemplates timeliste og lønnsutfordringen. Imidlertid har de også sine fordeler og ulemper.
Fordelene med å bruke tiltak er at de er beste praksis. De beregnes ikke når modellen oppdateres, men bare når tiltaket faktisk brukes i en visuell. Ulempen for dem er at det krever litt ekstra DAX-kode når vi jobber med virtuelle tabeller for å representere ting for å få dem riktig beregnet. Men det er ikke en stor ting i det hele tatt.
Når det gjelder beregnede kolonner, synes jeg at de er lettere å lære og visualisere. De er et veldig kjent utgangspunkt for de som kommer fra Excel. En av begrensningene til beregnede kolonner er imidlertid at de faktisk opprettes fysisk i datamodellen, og de øker størrelsen på modellen din, noe som vil redusere ytelsen til rapporten din.
Og hovedregelen er at du ikke skal lage beregnede kolonner på faktatabeller. Hvis du må lage en beregnet kolonne, prøv å gjøre det på dimensjonstabeller.
Jeg bruker personlig beregnede kolonner for å legge til kategorisering i noen dimensjonstabeller, der det var mange dimensjoner som skulle vises.
Jeg håper du har likt denne og lært mye. Du kan se hele videoen av denne opplæringen nedenfor.
Jubel!
Greg
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.
Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.
I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.
Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.
Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.
I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.
I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.
I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.
I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.