Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. 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
User | Count |
---|---|
84 | |
80 | |
69 | |
46 | |
46 |
User | Count |
---|---|
106 | |
50 | |
49 | |
40 | |
39 |