LuckyTemplates Tidrapport & Löner DAX Solutions

Den här bloggen kretsar kring en LuckyTemplates tidrapport och de tillhörande lönekostnaderna. Jag ska visa dig hur du beräknar tidsdata och lönetyp med hjälp av DAX. Jag ska demonstrera en DAX-lösning med mått och en annan med beräknade kolumner. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Detta exempel kom från en, som vi kör i LuckyTemplates. Detta är ett verkligt scenario som vi ofta möter i organisationer och företag, och LuckyTemplates är precis rätt verktyg för att göra jobbet enklare och snabbare.

Så, låt oss komma till det.

Innehållsförteckning

LuckyTemplates Tidrapport & Löner: Lösning för beräknade kolumner

För den beräknade DAX-lösningen med hjälp av beräknade kolumner går jag till Tidtabellen och skapar ett mått, som jag kallar CC-Regular Hours , för att beräkna de ordinarie timmarna.

I den här formeln får jag timmarna från tabellen och lägger dem i en variabel (). Sedan räknar jagdet är en semester, helg eller en vanlig dag. Medfunktionen använder jag datamodellen för att bestämma det och sedan använder jag de två variablerna (_IsHolidayDay och _IsWeekendDay ) för att bestämma den tredje ( _IsRegularDay ).

Slutligen använder jag ett uttalande där jag kontrollerar de ordinarie timmarna. De andra två (semester och helger) kommer att bli. Och om det är en vanlig dag vill jag återställa timmarna upp till åtta timmar, och sedan använder jag RETURN Result- konstruktionen.

LuckyTemplates Tidrapport & Löner DAX Solutions

Jag kommer att göra ungefär samma sak för formeln för övertidstimmar ( CC-Overtime Hours ) – jag kommer bara att ändra SWITCH TRUE-satsen. Detta kommer att returnera timmarna för en helgdag. Om det är en vanlig dag kommer den att återgå till timmarna över åtta timmar.

LuckyTemplates Tidrapport & Löner DAX Solutions

För semestertimmarna kommer den att returnera alla timmar om det är en semesterdag och returnerar blanka om det är en helgdag eller en vanlig dag.

LuckyTemplates Tidrapport & Löner DAX Solutions

Låt oss nu gå vidare till lönerna. För den ordinarie löneformeln kommer jag att utnyttja den beräknade kolumnen som jag just gjorde för ordinarie timmar. Jag kommer att bestämma lämpliga löner genom att använda lönetyp , rak tid .

Jag får medarbetarnas timlön från datamodellen och sedan använder jag a för att få multiplikatorn från tabell över lönetyper att gälla. Och slutligen beräknar jag variabeln Result , och har sedan RETURN-resultatet i slutet.

LuckyTemplates Tidrapport & Löner DAX Solutions

För övertid ändrar jag bara löneslaget till Time and a Half .

LuckyTemplates Tidrapport & Löner DAX Solutions

Jag kommer att göra en liknande sak för semesterlöner, men jag ändrar bara löneslaget till Dubbeltid .

LuckyTemplates Tidrapport & Löner DAX Solutions

Slutligen ska jag göra en enkel summa för att göra det totala värdet tillgängligt för mig.

LuckyTemplates Tidrapport & Löner DAX Solutions

När jag drar in dessa kolumner i rapporten kan vi se resultatet.

LuckyTemplates Tidrapport & Löner DAX Solutions

LuckyTemplates Tidrapport & Löner: DAX-lösning med mått

Jag ska göra ungefär samma sak som jag gjorde för beräknade kolumner, men den här gången ska jag göra en liten förändring.

Jag har inte tillgång till tidsvärdet direkt från tabellen, så jag kommer att använda enhär för att få timmarna förknippade med den specifika tidsinmatningen som visas i det visuella. Utöver det är koden densamma som den var för versionen med beräknade kolumner.

LuckyTemplates Tidrapport & Löner DAX Solutions

Jag har gjort en mycket liknande sak för övertidstimmarna och semestertimmarna. Det är samma regler som för beräknade kolumner.

När det gäller lönerna så beräknas de väldigt mycket på samma sätt. Den enda skillnaden från de beräknade kolumnerna är variabeln för timmar. Jag använder måttvärdet som jag beräknade. Jag gör också samma sak för övertidslönerna och samma sak för semesterlönen.

LuckyTemplates Tidrapport & Löner DAX Solutions

Sedan ska jag skriva ett enkelt summamått för den totala lönen.

LuckyTemplates Tidrapport & Löner DAX Solutions

Och nu lägger jag till dessa åtgärder i tabellen så att vi kan se resultaten. Observera att inget av måtten visar totaler. För att se de totala värdena för måtten här kommer jag att använda mönstret för att fixa felaktiga totaler . För att göra detta måste jag skapa åtgärder som använder virtuella tabeller för att efterlikna den fysiska tabellen som jag har här.

LuckyTemplates Tidrapport & Löner DAX Solutions

Åtgärda felaktigt totalmönster

För att fixa detta måste jag skapa åtgärder som använder virtuella tabeller för att efterlikna den fysiska tabellen som jag har här. Så för de totala timmarna använde jagkonstruktion för att skapa en virtuell tabell med ett tids-ID och timmar. Och så använder jagöver den virtuella tabellen för att beräkna värdet.

LuckyTemplates Tidrapport & Löner DAX Solutions

Jag drar in det i tabellen här nedan, och nu kan vi se det totala antalet timmar.

LuckyTemplates Tidrapport & Löner DAX Solutions

Jag kommer att göra detsamma för lönerna, där jag ska använda och SAMMANFATTA . Och sedan för resultatet kommer jag att använda funktionen för måttet som jag redan skapat och SUMX för den virtuella tabellen.

LuckyTemplates Tidrapport & Löner DAX Solutions

Jag lägger sedan till det i tabellen här, och vi kan se att vi har de totala lönerna nu.

LuckyTemplates Tidrapport & Löner DAX Solutions

En annan sak är att när jag placerar mitt Totallöner-mått i ett enkelt stapeldiagram med avdelningar och lönearter så ser du att jag inte får några värden här.

LuckyTemplates Tidrapport & Löner DAX Solutions

Detta är en del av problemet med åtgärdade felaktiga totaler. Och ett av de bästa sätten jag har hittat för att fixa detta är att använda den virtuella tabellen och ändra måttet.

Så jag tar ut den utan den virtuella tabellen och jag lägger till den med den virtuella tabellen.

LuckyTemplates Tidrapport & Löner DAX Solutions




Slutsats

Båda DAX-lösningarna är bra för denna LuckyTemplates tidrapport och löneutmaning. Men de har också sina för- och nackdelar.

Fördelarna med att använda åtgärder är att de är bästa praxis. De beräknas inte när modellen uppdateras, utan snarare bara när måttet faktiskt används i en visuell. Nackdelen för dem är att det krävs lite extra DAX-kod när vi arbetar med virtuella tabeller för att representera saker för att få dem korrekt beräknade. Men det är ingen stor sak alls.

När det gäller beräknade kolumner tycker jag att de är lättare att lära sig och visualisera. De är en mycket välbekant startplats för dem som kommer från Excel. En av begränsningarna med beräknade kolumner är dock att de faktiskt skapas fysiskt i datamodellen och de ökar storleken på din modell, vilket kommer att minska resultatet för din rapport.

Och den allmänna regeln är att du inte ska skapa beräknade kolumner på faktatabeller. Om du måste skapa en beräknad kolumn, försök att göra det på dimensionstabeller.

Jag använder personligen beräknade kolumner för att lägga till kategorisering i vissa dimensionstabeller, där det fanns många dimensioner som skulle visas.

Jag hoppas att du har njutit av den här och lärt dig mycket. Du kan se hela videon av denna handledning nedan.

Skål!

Greg


Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.

Extrahera LuckyTemplates-teman och bilder från PBIX

Extrahera LuckyTemplates-teman och bilder från PBIX

Lär dig hur du tar isär en PBIX-fil för att extrahera LuckyTemplates-teman och bilder från bakgrunden och använda den för att skapa din rapport!

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

Python i LuckyTemplates: Hur man installerar och ställer in

Python i LuckyTemplates: Hur man installerar och ställer in

Lär dig hur du installerar programmeringsspråket Python i LuckyTemplates och hur du använder dess verktyg för att skriva koder och visa bilder.

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Lär dig hur du beräknar dynamiska vinstmarginaler vid sidan av LuckyTemplates och hur du kan få fler insikter genom att gräva djupare i resultaten.

Sortering av datumtabellkolumner i LuckyTemplates

Sortering av datumtabellkolumner i LuckyTemplates

Lär dig hur du sorterar fälten från en utökad datumtabells kolumner korrekt. Detta är en bra strategi att göra för svåra fält.

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

I den här artikeln går jag igenom hur du kan hitta dina toppprodukter per region med hjälp av DAX-beräkningar i LuckyTemplates, inklusive TOPN- och CALCULATE-funktionerna.

Skräpdimension: Vad är det och varför det är allt annat än skräp

Skräpdimension: Vad är det och varför det är allt annat än skräp

Lär dig hur du använder en skräpdimension för flaggor med låg kardinalitet som du vill infoga i din datamodell på ett effektivt sätt.