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
Hi all,
I have a dataset of 100 rows, each row is a unique case which can have Drug A through Drug H marked as either 1 (present) or 0 (not present). Multiple drug types can be found in a single case.
On the chart, I want to display the percentage of each drug type present as a percentage of the total 100 cases. For this, I'm using a clustered bar chart.
In order to make the clustered bar chart, I select the columns Drug A through Drug H, and 'unpivot' the selected columns. Then I put "attribute" on the Axis, and 'value' on the Values.
I'm able to display the raw counts of each drug, but when I try to "show value as" percent of grand total, it gives the percentage based on the unpivoted data, which is now many more rows than the original 100. I want them to be % of the total 100 cases. In this sense, the percentages would not add up to 100%, but rather, Drug A would be be 37% (found in 37 of the 100 cases), Drug B would be 9 % (found in 9 of the 100 cases), etc. etc.
Workbook is here (this forum won't let me attach .pbix file here?)
https://app.box.com/s/wvkk4fzrxqg1tr25p3k7dlfmpqvuaeg8
so you can see my thought process. Hope my question makes sense. Any help much appreciated!
Solved! Go to Solution.
Hey @mossshvlw ,
I'm not sure if I totally understood the result.
With the following measure you can count the rows with Value 1:
Count Drug =
CALCULATE(
DISTINCTCOUNT( 'Pivoted Data'[Case ] ),
'Pivoted Data'[Value] = 1
)
Then you need the total amount of rows what seems to be identical to the distinct cases:
Total Amount = DISTINCTCOUNT( 'Original Data'[Case ] )
And then you can calculate the percentage:
% GT =
DIVIDE(
[Count Drug],
[Total Amount]
)
If you want everything in one measure you can also do that:
% GT =
VAR vCountDrug =
CALCULATE(
DISTINCTCOUNT( 'Pivoted Data'[Case ] ),
'Pivoted Data'[Value] = 1
)
VAR vTotalAmount = DISTINCTCOUNT( 'Original Data'[Case ] )
VAR vResult =
DIVIDE(
[Count Drug],
[Total Amount]
)
RETURN
vResult
Ahh, of course ! I should've known I could just do a new measure to get %. this works perfectly, thanks a lot !
Hey @mossshvlw ,
I'm not sure if I totally understood the result.
With the following measure you can count the rows with Value 1:
Count Drug =
CALCULATE(
DISTINCTCOUNT( 'Pivoted Data'[Case ] ),
'Pivoted Data'[Value] = 1
)
Then you need the total amount of rows what seems to be identical to the distinct cases:
Total Amount = DISTINCTCOUNT( 'Original Data'[Case ] )
And then you can calculate the percentage:
% GT =
DIVIDE(
[Count Drug],
[Total Amount]
)
If you want everything in one measure you can also do that:
% GT =
VAR vCountDrug =
CALCULATE(
DISTINCTCOUNT( 'Pivoted Data'[Case ] ),
'Pivoted Data'[Value] = 1
)
VAR vTotalAmount = DISTINCTCOUNT( 'Original Data'[Case ] )
VAR vResult =
DIVIDE(
[Count Drug],
[Total Amount]
)
RETURN
vResult
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 |
|---|---|
| 51 | |
| 47 | |
| 29 | |
| 15 | |
| 14 |
| User | Count |
|---|---|
| 88 | |
| 73 | |
| 39 | |
| 26 | |
| 24 |