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.
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.
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.
For ferietimerne vil den returnere alle timerne, hvis det er en helligdag, og returnere blanke, hvis det er en weekenddag eller en almindelig dag.
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.
For overarbejde vil jeg bare ændre løntypen til Time and a Half .
Jeg vil gøre en lignende ting for ferieløn, men jeg vil blot ændre løntypen til Dobbelttid .
Til sidst vil jeg gøre en simpel sum for at gøre den samlede værdi tilgængelig for mig.
Når jeg trækker disse kolonner ind i rapporten, kan vi så se resultaterne.
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.
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.
Derefter vil jeg skrive et simpelt summål for den samlede løn.
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.
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.
Jeg trækker det ind i tabellen her nedenfor, og nu kan vi se det samlede antal timer.
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.
Det tilføjer jeg så ind i tabellen her, og vi kan se, at vi har den samlede løn nu.
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.
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.
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
I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.
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.
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
LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det
Lær, hvordan du installerer programmeringssproget Python i LuckyTemplates, og hvordan du bruger dets værktøjer til at skrive koder og vise billeder.
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.
Lær, hvordan du sorterer felterne fra kolonner med udvidet datotabel korrekt. Dette er en god strategi at gøre for vanskelige felter.
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.
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.