Ravindra BagaleCourses & study guides मराठी Track your progress

35. More Real-World Project Briefs

35.4 HR and Employees

Business question. How many people are in each city, and who joined this financial year (April–March)?

Tables. Employee (one row per person: Name, City, Department, Join Date, Status Active/Left). Date related to Join Date, inactive if you also have an Exit Date (role-playing, section 11.10). Departments you may invent as labels (Store, Finance, Delivery). People only from the class list. Do not invent salaries if you are not ready to discuss them; a headcount brief does not need pay. If you add pay, mark it fictional and keep it off the city-manager role (OLS, section 26.6) in a later pass.

Measures.

Headcount = CALCULATE(COUNTROWS(Employee), Employee[Status] = "Active")
Joiners FY =
CALCULATE(
    COUNTROWS(Employee),
    DATESYTD('Date'[Date], "3/31"),
    USERELATIONSHIP(Employee[Join Date], 'Date'[Date])
)

The USERELATIONSHIP line is only needed if the active relationship is a different date. If Join Date is the only relationship, drop that argument.

Pages. Cards: Headcount, Joiners. A bar by city and a stacked bar by department. A table of names. No map of home addresses.

Sample layout for this brief, using the fictional rows already on the page.

Sample layout — fictional data. The picture uses the worked rows in this brief. It does not add a table.

Worked rows (fictional sample data). Financial year in this brief is April 2026 to March 2027. "This year" means a join date on or after 1 April 2026.

Name City Department Status Join date
Ravindra Bagale Pune Store Active 1 Apr 2026
Ruhi Bagale Pune Store Left 1 Jun 2024
Shraddha Bagale Nashik Finance Active 15 May 2026
Amir Nashik Delivery Active 1 Aug 2022
Raja Kolhapur Delivery Active 1 Jun 2026
Rani Nagpur Store Active 1 Jan 2023

Headcount is rows with Status Active. Ravindra, Shraddha, Amir, Raja, Rani. That is 5. Ruhi is Left, so she is not in the 5. Joiners this FY are Active or Left rows whose join date is on or after 1 April 2026: Ravindra, Shraddha, Raja. That is 3. (If you also count leavers who joined this year, say so. Ruhi joined in 2024, so she is in neither list.)

Pune active headcount is 1 (Ravindra). Nashik active headcount is 2.

Starter file: brief_35_4_hr_employees.csv – the worked rows above as a CSV (fictional practice data). Load it with Get data › Text/CSV, build the measures, then check your cards.

Expected values to check

Headcount (Active) 5 · Joiners this FY (on/after 01-Apr-2026) 3 · Pune active 1 · Nashik active 2

Good KPI Vanity metric
From the same rows Active headcount 5 6 names in the table
Why The sixth name has left. A city-manager card that says 6 overstates Pune. A roster export feels complete. It is not a headcount.

What the manager does. The Pune manager does not plan a shift for Ruhi. The seat is open unless the joiner measure is read next to headcount: Ravindra joined this year, Ruhi left, net active in Pune is one. The Nashik manager sees two active people and one joiner this year (Shraddha). Amir is active and is not a joiner. Do not celebrate "3 joiners" as "3 extra people in Nashik".

Ravindra Bagale's Tip

A common mistake is COUNTROWS without Status, so people who left stay in the headcount. Keep the Status filter inside the measure; do not trust a visual filter for it. Remember this rule.