LuckyTemplates timeseddel & løn DAX-løsninger

Denne blog centrerer sig om en LuckyTemplates timeseddel og de tilhørende lønomkostninger. Jeg skal vise dig, hvordan du beregner tidsdata og løntype ved hjælp af DAX. Jeg vil demonstrere en DAX-løsning ved hjælp af mål og en anden ved hjælp af beregnede kolonner. Du kan se den fulde video af denne tutorial nederst på denne blog.

Dette eksempel kom fra en, som vi kører i LuckyTemplates. Dette er et virkelighedsscenario, som vi ofte støder på i organisationer og virksomheder, og LuckyTemplates er det helt rigtige værktøj til at hjælpe med at gøre arbejdet nemmere og hurtigere.

Så lad os komme til det.

Indholdsfortegnelse

LuckyTemplates Timeseddel & Løn: Løsning for beregnede kolonner

For den beregnede DAX-løsning ved hjælp af beregnede kolonner, går jeg til Tidstabellen og opretter et mål, som jeg kalder CC-Regular Hours , for at beregne de almindelige timer.

I denne formel henter jeg timerne fra tabellen og sætter dem i en variabel (). Så regner jegdet er en helligdag, weekend eller en almindelig dag. Medfunktion, udnytter jeg datamodellen til at bestemme det, og så bruger jeg de to variable (_IsHolidayDay og _IsWeekendDay ) til at bestemme den tredje ( _IsRegularDay ).

Til sidst bruger jeg en erklæring, hvor jeg tjekker de almindelige timer. De to andre (helligdage og weekender) bliver det. Og hvis det er en almindelig dag, vil jeg returnere timerne op til otte timer, og så vil jeg bruge RETURN Result -konstruktionen.

LuckyTemplates timeseddel & løn DAX-løsninger

Jeg vil gøre stort set det samme for formlen for overtidstimer ( CC-Overtime Hours ) – jeg vil kun ændre SWITCH TRUE-sætningen. Dette vil returnere timerne for en weekenddag. Hvis det er en almindelig dag, vil den returnere timerne over otte timer.

LuckyTemplates timeseddel & løn DAX-løsninger

For ferietimerne vil den returnere alle timerne, hvis det er en helligdag, og returnere blanke, hvis det er en weekenddag eller en almindelig dag.

LuckyTemplates timeseddel & løn DAX-løsninger

Lad os nu gå videre til lønnen. For den almindelige lønformel vil jeg udnytte den beregnede kolonne, jeg lige har lavet, for almindelige timer. Jeg vil bestemme den passende løn ved at bruge løntypen , lige tid .

Jeg får medarbejdernes timeløn fra datamodellen og så bruger jeg a til at få multiplikatoren fra disconnect Løntyper- tabellen til at gælde. Og til sidst beregner jeg variablen Result , så har jeg RETURN-resultatet til sidst.

LuckyTemplates timeseddel & løn DAX-løsninger

For overarbejde vil jeg bare ændre løntypen til Time and a Half .

LuckyTemplates timeseddel & løn DAX-løsninger

Jeg vil gøre en lignende ting for ferieløn, men jeg vil blot ændre løntypen til Dobbelttid .

LuckyTemplates timeseddel & løn DAX-løsninger

Til sidst vil jeg gøre en simpel sum for at gøre den samlede værdi tilgængelig for mig.

LuckyTemplates timeseddel & løn DAX-løsninger

Når jeg trækker disse kolonner ind i rapporten, kan vi så se resultaterne.

LuckyTemplates timeseddel & løn DAX-løsninger

LuckyTemplates timeseddel og løn: DAX-løsning ved hjælp af mål

Jeg har tænkt mig at gøre stort set det samme, som jeg gjorde for beregnede kolonner, men denne gang vil jeg lave en lille ændring.

Jeg har ikke adgang til tidsværdien direkte fra tabellen, så jeg vil bruge enher for at få timerne forbundet med den bestemte tidsindtastning, der vises i det visuelle. Bortset fra det er koden den samme, som den var for versionen med beregnede kolonner.

LuckyTemplates timeseddel & løn DAX-løsninger

Jeg har gjort en meget lignende ting for overarbejdstimerne og ferietimerne. Det er de samme regler som for beregnede kolonner.

Med hensyn til lønnen er de beregnet meget på samme måde. Den eneste forskel fra de beregnede kolonner er variablen for timer. Jeg bruger den måleværdi, jeg har beregnet. Jeg gør også det samme for overarbejdslønnen og det samme for ferielønnen.

LuckyTemplates timeseddel & løn DAX-løsninger

Derefter vil jeg skrive et simpelt summål for den samlede løn.

LuckyTemplates timeseddel & løn DAX-løsninger

Og nu tilføjer jeg disse tiltag i tabellen, så vi kan se resultaterne. Bemærk, at ingen af ​​målene viser totaler. For at se de samlede værdier for målene her, vil jeg bruge mønsteret til at rette forkerte totaler . For at gøre dette skal jeg oprette foranstaltninger, der bruger virtuelle tabeller til at efterligne den fysiske tabel, som jeg har her.

LuckyTemplates timeseddel & løn DAX-løsninger

Ret forkert totalmønster

For at rette op på dette skal jeg oprette foranstaltninger, der bruger virtuelle tabeller til at efterligne den fysiske tabel, som jeg har her. Så for de samlede timer brugte jegkonstruere for at skabe en virtuel tabel med et tids-id og timer. Og så bruger jegover den virtuelle tabel for at beregne værdien.

LuckyTemplates timeseddel & løn DAX-løsninger

Jeg trækker det ind i tabellen her nedenfor, og nu kan vi se det samlede antal timer.

LuckyTemplates timeseddel & løn DAX-løsninger

Jeg har tænkt mig at gøre det samme for lønnen, hvor jeg vil bruge og OPSUMMERE . Og så vil jeg bruge funktionen til det mål, jeg allerede har oprettet, og SUMX til den virtuelle tabel for resultatet.

LuckyTemplates timeseddel & løn DAX-løsninger

Det tilføjer jeg så ind i tabellen her, og vi kan se, at vi har den samlede løn nu.

LuckyTemplates timeseddel & løn DAX-løsninger

En anden ting er, at når jeg placerer mit samlede lønmål i et simpelt søjlediagram med afdelinger og løntyper, vil du se, at jeg ikke får nogen værdier her.

LuckyTemplates timeseddel & løn DAX-løsninger

Dette er en del af problemet med ukorrekte totaler. Og en af ​​de bedste måder, jeg har fundet til at rette dette på, er at bruge den virtuelle tabel og ændre målingen.

Så jeg tager den uden den virtuelle tabel ud, og jeg tilføjer den med den virtuelle tabel.

LuckyTemplates timeseddel & løn DAX-løsninger




Konklusion

Begge DAX-løsninger er gode til denne LuckyTemplates timeseddel og lønudfordring. De har dog også deres fordele og ulemper.

Fordelene ved at bruge foranstaltninger er, at de er bedste praksis. De beregnes ikke, når modellen opdateres, men derimod kun, når målingen faktisk bruges i en visualisering. Ulempen for dem er, at det kræver en lille smule ekstra DAX-kode, når vi arbejder med virtuelle tabeller for at repræsentere ting for at få dem korrekt beregnet. Men det er slet ikke en stor ting.

Hvad angår beregnede kolonner, synes jeg, at de er nemmere at lære og visualisere. De er et meget velkendt udgangspunkt for dem, der kommer fra Excel. En af begrænsningerne ved beregnede kolonner er dog, at de faktisk er fysisk oprettet i datamodellen, og de øger størrelsen på din model, hvilket vil reducere effektiviteten af ​​din rapport.

Og den generelle regel er, at du ikke skal oprette beregnede kolonner på faktatabeller. Hvis du skal oprette en beregnet kolonne, så prøv at gøre det på dimensionstabeller.

Jeg bruger personligt beregnede kolonner til at tilføje kategorisering til nogle dimensionstabeller, hvor der var mange dimensioner, der skulle vises.

Jeg håber, du har nydt denne og lært en masse. Du kan se den fulde video af denne tutorial nedenfor.

Skål!

Greg


Pipe In R: Tilslutningsfunktioner med Dplyr

Pipe In R: Tilslutningsfunktioner med Dplyr

I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af ​​et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Lær, hvordan du adskiller en PBIX-fil for at udtrække LuckyTemplates-temaer og -billeder fra baggrunden og bruge den til at oprette din rapport!

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

Python i LuckyTemplates: Sådan installeres og konfigureres

Python i LuckyTemplates: Sådan installeres og konfigureres

Lær, hvordan du installerer programmeringssproget Python i LuckyTemplates, og hvordan du bruger dets værktøjer til at skrive koder og vise billeder.

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Lær, hvordan du beregner dynamiske fortjenstmargener ved siden af ​​LuckyTemplates, og hvordan du kan få mere indsigt ved at grave dybere ned i resultaterne.

Sortering af datotabelkolonner i LuckyTemplates

Sortering af datotabelkolonner i LuckyTemplates

Lær, hvordan du sorterer felterne fra kolonner med udvidet datotabel korrekt. Dette er en god strategi at gøre for vanskelige felter.

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

I denne artikel gennemgår jeg, hvordan du kan finde dine topprodukter pr. region ved hjælp af DAX-beregninger i LuckyTemplates, herunder funktionerne TOPN og CALCUATE.

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

Lær, hvordan du bruger en uønsket dimension til flag med lav kardinalitet, som du ønsker at inkorporere i din datamodel på en effektiv måde.