cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
LaurieS
Frequent Visitor

DAX - Default Filter & ALLEXCEPT

I'm very new in Power BI, and I've written the following DAX and only part of it is working as desired:

 

Total Runs Global =

IF(
[CurrentSelectionsToolType]=[TotalSelectionsToolType],
CALCULATE(sum('pbi sensor_data'[Sensor Runs]),FILTER('pbi sensor_data','pbi sensor_data'[Tool Type]="ABI"),
ALLEXCEPT('pbi luLocations','pbi luLocations'[Region]),
ALLEXCEPT('pbi luLocations','pbi luLocations'[Country]),
ALLEXCEPT('pbi luLocations','pbi luLocations'[Area]),
ALLEXCEPT('pbi luLocations','pbi luLocations'[District])),

CALCULATE(sum('pbi sensor_data'[Sensor Runs]),
ALLEXCEPT('pbi luLocations','pbi luLocations'[Region]),
ALLEXCEPT('pbi luLocations','pbi luLocations'[Country]),
ALLEXCEPT('pbi luLocations','pbi luLocations'[Area]),
ALLEXCEPT('pbi luLocations','pbi luLocations'[District])
))
 

If something is chosen in the tool type slicer, then it behaves as desired and ignores any of the location slicers. If nothing is chosen in the slicer, then it should behave the same way by ignoring any selections in the region, country, etc. slicers but be filtered for tool type ABI. It is filtering for tool type = ABI correctly, but it is reacting to the location slicers when it should be ignoring them. Any guidance would be greatly appreciated.

1 ACCEPTED SOLUTION
LaurieS
Frequent Visitor

Thank you so much for your prompt reply. I had a colleague helping that solved the issue.

 

His solution: Please check the below measures, instead of using single measure I have separated 'pbi sensor_data'[Tool Type]="ABI" filter into separate measure named ABISensorRuns. Then I used new measure ABISensorRuns in Total Runs Global measure.

 

ABISensorRuns = CALCULATE(

        sum('pbi sensor_data'[Sensor Runs]),

        FILTER('pbi sensor_data','pbi sensor_data'[Tool Type]="ABI"))

 

Total Runs Global =

IF(

    [CurrentSelectionsToolType]=[TotalSelectionsToolType],

     CALCULATE(

        [ABISensorRuns],ALLEXCEPT('pbi luLocations','pbi luLocations'[Region]),

            ALLEXCEPT('pbi luLocations','pbi luLocations'[Country]),ALLEXCEPT('pbi luLocations','pbi luLocations'[Area]),

            ALLEXCEPT('pbi luLocations','pbi luLocations'[District])

      ),

    CALCULATE(sum('pbi sensor_data'[Sensor Runs]),ALLEXCEPT('pbi luLocations','pbi luLocations'[Region]),

            ALLEXCEPT('pbi luLocations','pbi luLocations'[Country]),ALLEXCEPT('pbi luLocations','pbi luLocations'[Area]),

            ALLEXCEPT('pbi luLocations','pbi luLocations'[District])

))

View solution in original post

2 REPLIES 2
TeigeGao
Solution Sage
Solution Sage

Hi LaurieS,

Could you please share the sample data and expected result to us? According to your description, my understanding is that you have two rules, one is ignoring all location slicers, another one is setting the default tool type as ABI.

In this scenario, we can use the following DAX query:

Total Runs Global =

IF(

    SELECTEDVALUE('pbi luLocations'[Tool Type])=BLANK(),

    CALCULATE(SUM('pbi luLocations'[Sensor Runs]),FILTER(ALLEXCEPT('pbi luLocations','pbi luLocations'[Other]),'pbi luLocations'[Tool Type] = "ABI")),

    CALCULATE(SUM('pbi luLocations'[Sensor Runs]),ALLEXCEPT('pbi luLocations','pbi luLocations'[Other],'pbi luLocations'[Tool Type])

))

The result will like below:

111.png222.png

Best Regards,

Teige

 

LaurieS
Frequent Visitor

Thank you so much for your prompt reply. I had a colleague helping that solved the issue.

 

His solution: Please check the below measures, instead of using single measure I have separated 'pbi sensor_data'[Tool Type]="ABI" filter into separate measure named ABISensorRuns. Then I used new measure ABISensorRuns in Total Runs Global measure.

 

ABISensorRuns = CALCULATE(

        sum('pbi sensor_data'[Sensor Runs]),

        FILTER('pbi sensor_data','pbi sensor_data'[Tool Type]="ABI"))

 

Total Runs Global =

IF(

    [CurrentSelectionsToolType]=[TotalSelectionsToolType],

     CALCULATE(

        [ABISensorRuns],ALLEXCEPT('pbi luLocations','pbi luLocations'[Region]),

            ALLEXCEPT('pbi luLocations','pbi luLocations'[Country]),ALLEXCEPT('pbi luLocations','pbi luLocations'[Area]),

            ALLEXCEPT('pbi luLocations','pbi luLocations'[District])

      ),

    CALCULATE(sum('pbi sensor_data'[Sensor Runs]),ALLEXCEPT('pbi luLocations','pbi luLocations'[Region]),

            ALLEXCEPT('pbi luLocations','pbi luLocations'[Country]),ALLEXCEPT('pbi luLocations','pbi luLocations'[Area]),

            ALLEXCEPT('pbi luLocations','pbi luLocations'[District])

))

View solution in original post

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

secondImage

Are You Ready?

Test your skills now with the Cloud Skills Challenge.

Top Solution Authors