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!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi
I have a Matrix Table as below, I want to count the total number of learning activitys then work out the completion percentage, for example here there are 7 learning outcomes in total and line 1 (User dp0m6gp) has completed 4 of these so I want to show this as a percentage and so on for each user ?
I also have a slicer that shows different training programmes that have more or less training outcomes therfore the number of learning outcomes increases or decreases for each programme.
Solved! Go to Solution.
Hi @CalexUK
Should it be something like this?
Result =
VAR CurrentStatus = VALUES ( 'Table'[Status] )
VAR PercentCompleted =
DIVIDE (
COUNTROWS ( FILTER ( 'Table', 'Table'[Status] = "Completed" ) ),
COUNTROWS ( 'Table' )
)
RETURN
IF (
HASONEVALUE ( 'Table'[UserID] ) && HASONEVALUE ( 'Table'[Programmes] ),
CurrentStatus,
PercentCompleted + 0
)
Hi @CalexUK ,
Here are the steps you can follow:
1. Create calculated table.
Table 2 =
var _summarize =
SUMMARIZE(
'Table',
[User ID],
"training programmes","completed %")
var _table=
SUMMARIZE(
'Table','Table'[User ID],'Table'[training programmes])
return
UNION(
_table,_summarize)
2. Create measure.
Flag_1 =
MAXX(
FILTER(ALL('Table'),
'Table'[User ID]=MAX('Table 2'[User ID])&&'Table'[training programmes]=MAX('Table 2'[training programmes])),[Measure])Flag_2 =
IF(
MAX('Table 2'[training programmes]) ="completed %",
DIVIDE(
COUNTX(
FILTER(ALLSELECTED('Table 2'),'Table 2'[User ID]=MAX('Table 2'[User ID])&&
[Flag_1]="Completed"),[User ID]),
COUNTX(
FILTER(ALLSELECTED('Table 2'),'Table 2'[User ID]=MAX('Table 2'[User ID])),[User ID])-1),
[Flag_1])
3. Result:
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Hi @CalexUK
is everything is one source table? What is the dax measure code that is placed in the values of the matrix?
Hi Tamerj1
The Data is in a single table, there is no DAX measure, we are only using the Matris Visual to display the training course values (Completed, Not Completed)
Kindest Regards
Paul
Hi @CalexUK
Should it be something like this?
Result =
VAR CurrentStatus = VALUES ( 'Table'[Status] )
VAR PercentCompleted =
DIVIDE (
COUNTROWS ( FILTER ( 'Table', 'Table'[Status] = "Completed" ) ),
COUNTROWS ( 'Table' )
)
RETURN
IF (
HASONEVALUE ( 'Table'[UserID] ) && HASONEVALUE ( 'Table'[Programmes] ),
CurrentStatus,
PercentCompleted + 0
)
Thank you this worked perfect...
Hi Tamerj!
This solution worked great, is there a way to add a filter to this measure so that I can filter out whos is at say 100% for all items ? or 50% etc ?
Thanks In Advance
Paul
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 20 | |
| 10 | |
| 9 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 32 | |
| 31 | |
| 18 | |
| 12 | |
| 11 |