cancel
Showing results for
Did you mean:

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

Helper III

## Allselected in Matrix Drilldown

I created a measure for % of sales with the following measure:

Sales Vol Contrib = divide([Total_Vol],calculate([Total_Vol],allselected(StoreList)),0)

It works, but in a matrix with a drilldown on the rows, is there a way for the denominator to only include the parent row?

See the below screen shot for an example.  [County, State] is the parent rows of [City, State] in the StoreList table ...

In the example of Portland, ME, how can I make sales vol contribution be 40.5% (1,690 / 4,174) instead of 11% (1,690 / 14,867) as shown, without affecting the parent rows which show the county's contribution to the state?

1 ACCEPTED SOLUTION
Community Support

Hi @Mainer04401 , I used some simple data to test and get what you required. Please try below method.

Sample data 'Sales':

Create measures:

``````Total Sales = SUM(Sales[Total])

Contribution 2 = DIVIDE([Total Sales],CALCULATE([Total Sales],ALLSELECTED(Sales)),0)

Contribution 3 = DIVIDE([Total Sales],CALCULATE([Total Sales],ALLEXCEPT(Sales,Sales[Country, State])),0)

Final Contribution = IF(ISFILTERED(Sales[City, State]),[Contribution 3],[Contribution 2])``````

Put Final Contribution in the matrix and see the result:

Reference for ISFILTERED: https://docs.microsoft.com/en-us/dax/ISFILTERED-function-dax

Best Regards,

Community Support Team _ Jing Zhang

If this post helps, please consider Accept it as the solution to help other members find it.

4 REPLIES 4
Community Support

Hi @Mainer04401 , I used some simple data to test and get what you required. Please try below method.

Sample data 'Sales':

Create measures:

``````Total Sales = SUM(Sales[Total])

Contribution 2 = DIVIDE([Total Sales],CALCULATE([Total Sales],ALLSELECTED(Sales)),0)

Contribution 3 = DIVIDE([Total Sales],CALCULATE([Total Sales],ALLEXCEPT(Sales,Sales[Country, State])),0)

Final Contribution = IF(ISFILTERED(Sales[City, State]),[Contribution 3],[Contribution 2])``````

Put Final Contribution in the matrix and see the result:

Reference for ISFILTERED: https://docs.microsoft.com/en-us/dax/ISFILTERED-function-dax

Best Regards,

Community Support Team _ Jing Zhang

If this post helps, please consider Accept it as the solution to help other members find it.

Microsoft

Just add the City, State column to your ALLSELECTED as below.

Sales Vol Contrib = divide([Total_Vol],calculate([Total_Vol],allselected(StoreList[City, State])),0)

Regards,

Pat

Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

@mahoneypa HoosierBI on YouTube

Community Champion

try

Sales Vol Contrib = divide([Total_Vol],calculate(sum([Total_Vol]),allexcept('table','table'[parent1],'table'[parent2])),0)

 Hope it resolves your issue? Did I answer your question? Mark my post as a solution!Appreciate your Kudos, Press the thumbs up button!!Linkedin Profile
Helper III

@pranit828  Thanks but that does not accomplish the desired result

Announcements

#### Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

#### Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

#### The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors