LuckyTemplates Timeliste & Lønn DAX-løsninger

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.

LuckyTemplates Timeliste & Lønn DAX-løsninger

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.

LuckyTemplates Timeliste & Lønn DAX-løsninger

For ferietimene vil den returnere alle timene hvis det er en helligdag, og returnere blanke hvis det er en helgedag eller en vanlig dag.

LuckyTemplates Timeliste & Lønn DAX-løsninger

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.

LuckyTemplates Timeliste & Lønn DAX-løsninger

For overtid vil jeg bare endre lønnsarten til Time and a Half .

LuckyTemplates Timeliste & Lønn DAX-løsninger

Jeg vil gjøre en lignende ting for ferielønn, men jeg vil bare endre lønnsarten til Dobbel tid .

LuckyTemplates Timeliste & Lønn DAX-løsninger

Til slutt skal jeg gjøre en enkel sum for å gjøre den totale verdien tilgjengelig for meg.

LuckyTemplates Timeliste & Lønn DAX-løsninger

Når jeg drar disse kolonnene inn i rapporten, kan vi se resultatene.

LuckyTemplates Timeliste & Lønn DAX-løsninger

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.

LuckyTemplates Timeliste & Lønn DAX-løsninger

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.

LuckyTemplates Timeliste & Lønn DAX-løsninger

Deretter vil jeg skrive et enkelt summål for den totale lønnen.

LuckyTemplates Timeliste & Lønn DAX-løsninger

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.

LuckyTemplates Timeliste & Lønn DAX-løsninger

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.

LuckyTemplates Timeliste & Lønn DAX-løsninger

Jeg drar det inn i tabellen her under, og nå kan vi se det totale antallet timer.

LuckyTemplates Timeliste & Lønn DAX-løsninger

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.

LuckyTemplates Timeliste & Lønn DAX-løsninger

Det legger jeg så inn i tabellen her, og vi kan se at vi har den totale lønnen nå.

LuckyTemplates Timeliste & Lønn DAX-løsninger

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.

LuckyTemplates Timeliste & Lønn DAX-løsninger

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.

LuckyTemplates Timeliste & Lønn DAX-løsninger




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


Pipe In R: Koblingsfunksjoner med Dplyr

Pipe In R: Koblingsfunksjoner med Dplyr

I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Lær hvordan du demonterer en PBIX-fil for å trekke ut LuckyTemplates-temaer og bilder fra bakgrunnen og bruke den til å lage rapporten din!

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

Python i LuckyTemplates: Hvordan installere og sette opp

Python i LuckyTemplates: Hvordan installere og sette opp

Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.

Sortering av datotabellkolonner i LuckyTemplates

Sortering av datotabellkolonner i LuckyTemplates

Lær hvordan du sorterer feltene fra kolonner med utvidet datotabell på riktig måte. Dette er en god strategi å gjøre for vanskelige felt.

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

I denne artikkelen går jeg gjennom hvordan du kan finne de beste produktene dine per region ved å bruke DAX-beregninger i LuckyTemplates, inkludert TOPN- og CALCUATE-funksjonene.

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Lær hvordan du bruker en søppeldimensjon for flagg med lav kardinalitet som du ønsker å inkludere i datamodellen din på en effektiv måte.