Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hello All,
I want to calculate % of Total & Cumulative % for the fields in the matrix. As we drill down or drill up i.e from Category --> SubCategory or vice versa the values should be shown accordingly. It will be really helpful if someone can suggest the logic for the same. I am using a sample superstore dataset.
Regards,
Nidhi
Solved! Go to Solution.
Hi,
I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.
I tried to create a sample pbix file like below.
I hope the below can provide some ideas on creating a solution for your data model.
Sales measure: =
SUM( Sales[Sales] )
Sales cumulate percentage: =
VAR _sales = [Sales measure:]
VAR _subcategorycumulatesales =
CALCULATE (
[Sales measure:],
FILTER (
ALL ( Category ),
Category[Category] = MAX ( Category[Category] )
&& [Sales measure:] >= _sales
)
)
VAR _subcategoryallsales =
CALCULATE ( [Sales measure:], ALLEXCEPT ( Category, Category[Category] ) )
VAR _categorycumulatesales =
CALCULATE (
[Sales measure:],
FILTER ( ALL ( Category[Category] ), [Sales measure:] >= _subcategoryallsales )
)
VAR _categoryallsales =
CALCULATE ( [Sales measure:], ALL ( Category ) )
RETURN
SWITCH (
TRUE (),
ISINSCOPE ( Category[Subcategory] ), DIVIDE ( _subcategorycumulatesales, _subcategoryallsales ),
DIVIDE ( _categorycumulatesales, _categoryallsales )
)
Sales percentage: =
VAR _sales = [Sales measure:]
VAR _subcategoryallsales =
CALCULATE ( [Sales measure:], ALLEXCEPT ( Category, Category[Category] ) )
VAR _categoryallsales =
CALCULATE ( [Sales measure:], ALL ( Category ) )
RETURN
SWITCH (
TRUE (),
ISINSCOPE ( Category[Subcategory] ), DIVIDE ( _sales, _subcategoryallsales ),
DIVIDE ( _subcategoryallsales, _categoryallsales )
)
If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.
Hi,
I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.
I tried to create a sample pbix file like below.
I hope the below can provide some ideas on creating a solution for your data model.
Sales measure: =
SUM( Sales[Sales] )
Sales cumulate percentage: =
VAR _sales = [Sales measure:]
VAR _subcategorycumulatesales =
CALCULATE (
[Sales measure:],
FILTER (
ALL ( Category ),
Category[Category] = MAX ( Category[Category] )
&& [Sales measure:] >= _sales
)
)
VAR _subcategoryallsales =
CALCULATE ( [Sales measure:], ALLEXCEPT ( Category, Category[Category] ) )
VAR _categorycumulatesales =
CALCULATE (
[Sales measure:],
FILTER ( ALL ( Category[Category] ), [Sales measure:] >= _subcategoryallsales )
)
VAR _categoryallsales =
CALCULATE ( [Sales measure:], ALL ( Category ) )
RETURN
SWITCH (
TRUE (),
ISINSCOPE ( Category[Subcategory] ), DIVIDE ( _subcategorycumulatesales, _subcategoryallsales ),
DIVIDE ( _categorycumulatesales, _categoryallsales )
)
Sales percentage: =
VAR _sales = [Sales measure:]
VAR _subcategoryallsales =
CALCULATE ( [Sales measure:], ALLEXCEPT ( Category, Category[Category] ) )
VAR _categoryallsales =
CALCULATE ( [Sales measure:], ALL ( Category ) )
RETURN
SWITCH (
TRUE (),
ISINSCOPE ( Category[Subcategory] ), DIVIDE ( _sales, _subcategoryallsales ),
DIVIDE ( _subcategoryallsales, _categoryallsales )
)
If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.
@NidhiBhusari , based on what I got example
Cumm Sales % = divide( CALCULATE(SUM(Sales[Sales Amount]),filter(all('Date'),'Date'[date] <=max('Date'[date]))), CALCULATE(SUM(Sales[Sales Amount]) , all()) )
or
Cumm Sales % = divide( CALCULATE(SUM(Sales[Sales Amount]),filter(allselected('Date'),'Date'[date] <=max('Date'[date]))), CALCULATE(SUM(Sales[Sales Amount]) , allselected()) )
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
112 | |
100 | |
80 | |
64 | |
57 |
User | Count |
---|---|
145 | |
111 | |
92 | |
84 | |
66 |