Last Friday, I asked you to analyze “sick leave entitlement vs. usage” data and answer homework questions. We got several interesting responses to that. Today, let me share a quick video highlighting how to analyze such data with Power Query.
This is part of our Power Mondays series, where every Monday you will learn something new & useful about Power BI, Power Query and Power Pivot.
Leave Entitlement vs. Usage Analysis – The problem
The problem is simple. We have a bunch of employees with their leave entitlement. We also know how many leaves they took.
Given these two tables, you want to answer questions like:
- Which employees took exactly 100% of their allocated leave?
- Which people never took any leave?
- Who are the people taking 100% of their leave?
If you also know when an employee took the leave (date), you can ask questions like:
- Assuming leave entitlement resets at start of year (1 Jan), which employees are using 100% of their entitlement
Leave Entitlement vs. Usage Analysis – Solution with Power Query
While we can use Excel formulas (or VBA, pivot tables + power pivot etc.) to answer the questions above, I think using Power Query is the simplest way to crack this.
I made a quick video explaining the problem, solution, how to enhance it when you have multi-year data. Check it out below (or on our Youtube channel).
You will also learn:
- How to merge (join) two tables in Power Query
- Using basic & advanced group by in Power Query
- How to extract year from date values
- Replacing errors with some value
- Creating conditional columns in PQ
Download solution workbook
Click here to download the solution workbook for this topic. Examine the Power Query definitions to learn more.
How do you like the Power Query solution?
I love how versatile and elegant Power query based solutions are. What about you? Do you use PQ to solve problems like this? Please share your experience / feedback in the comments section.
4 Responses to “Leave entitlement vs. usage analysis with Power Query”
Hi,
Great challange and solution.
i couldn't find the ans to Q 1-3, only table that user need to filter and count the rows.
I suggest to used the function :
= Table.RowCount ( PreviosStep)
to received clear answer is separate queries.
Regards,
Nir
It would interesting to see this where leave wasn't a set number per year (we do 6 hours per 80 hours worked (regular+holiday+leave). Additionally for our company, there is a three month carryover from the previous year before employees lose their previous yer earned leave.
Having only started (barely) with power query I'm sure it's not much much different than the above; we currently are doing it in excel with ifs and sumifs.
me too unable to solve the question. Its too brilliant. Thanks for sharing the post.
Very interesting usage of P Query, "the last but not the least" of POWER family add-ins in Excel. Really amazing. Thanks!!