Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Good Afternoon Experts,
I am looking to end up showing the results of a measure to an employee in the form of something like you are in the top 10/10/30/40 etc. % of employees (in terms of performance against target)
Performance agaisnt target is returned by:
Performance =
Solved! Go to Solution.
Here's the results I get with the sample data, these measures and this model
Performance =
VAR _flexitime = SUM('flexi UD_FullReport'[Day_TotalTime])
VAR _decimalHours = _flexitime / 60 VAR _dayValue = TIME(7,15,0) * 24
VAR _targetPerHour = _dayValue / 43 // [Target_IPD]
VAR _Target = ROUNDDOWN(_decimalHours / _targetPerHour,0)
RETURN DIVIDE(COUNT('Completed Items'[WorkType]) - _Target, _Target)
Hi @SACooper
You can get the rank using RANKX
Employee Rank = RANKX(ALL(Table[employee_id_column]), [Performance])
Hi @PaulOlding ,
Thank you for this, unfortuantely doesn't seem to work, its scoring everyone has 68 (the number of employees), I would have expected as I change the employee slicer that, this value would change. I have checked by placing another card with the performance to target value and this is changing to reflect the employee's performance correctly.
Can you provide some example data in table form (ie not a screenshot)?
Of course @PaulOlding, what would be most helpful a table of the performance results that the measure would calculate? or the tables that, that particular measure draws from?
OK @PaulOlding Here we go .....
ActiveDirectory
displayName | person.cn | user.mail | user.userPrincipalName | user.manager.displayName | user.manager.userPrincipalName
Scott Cooper | SCooper | scott.cooper@emailaddress.com | Joe Bloggs | joe.blogs@emailaddress.com
Jane Doe | JADoe | jane.doe@emailaddress.com | Joe Bloggs | joe.blogs@emailaddress.com
John Doe | JBDoe | john.doe@eamiladdress.com | Joe Bloggs | joe.blogs@emailaddress.com
...
Flexi UD_fullReport
prof_adlogin | ProfFullNameCached | Day_FlexiDayDate | Day_TotalTime
Scooper | Scott Cooper | 01/06/2022 | 435
JADoe | Jane Doe | 01/06/2022 | 420
JBDoe | John Doe | 01/06/2022 | 500
Scooper | Scott Cooper | 02/06/2022 | 450
JADoe | Jane Doe | 02/06/2022 | 475
JBDoe | John Doe | 02/06/2022 | 300
...
Completed Items
WorkType | ProcessedDate | ProcessedBy | Time
EMAILOUT | 01/06/2022 | SCooper | 09:11:31
EMAILIN | 01/06/2022 | JADoe | 08:45:16
ATLCHECK | 01/06/2022 | JBDoe | 09:21:16
SRDRED | 01/06/2022 | SCooper | 11:11:58
SRDRED | 02/06/2022 | JBdoe | 10:19:16
....
**currently target is a flat 43 items per day (7 hours 15 minutes) but this will be developed to be more dynamic taking into account departmental actvitity and would be stored for the user in the measure [Target_IPD]
Here's the results I get with the sample data, these measures and this model
Performance =
VAR _flexitime = SUM('flexi UD_FullReport'[Day_TotalTime])
VAR _decimalHours = _flexitime / 60 VAR _dayValue = TIME(7,15,0) * 24
VAR _targetPerHour = _dayValue / 43 // [Target_IPD]
VAR _Target = ROUNDDOWN(_decimalHours / _targetPerHour,0)
RETURN DIVIDE(COUNT('Completed Items'[WorkType]) - _Target, _Target)
@PaulOlding Thank you it obviously works there must be something that I thought was unrelated, actually having an unintended influence ... i'll have a dig through ... chances are its in my data model somewhere.
Thank you for your time - really appreciate it.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 3 | |
| 3 | |
| 2 |
| User | Count |
|---|---|
| 8 | |
| 7 | |
| 7 | |
| 7 | |
| 6 |