Forum Discussion

DHB's avatar
DHB
Helper V
6 years ago
Solved

Use Filters in Measure DAX

I have a list a set of data which I've used this DAX to calculate percentages of the total records;

 

DIVIDE(COUNT(ACTIVITY[PERSON_CODE]),CALCULATE(COUNT(ACTIVITY[PERSON_CODE]),ALL(ACTIVITY)))

 

In one of my report pages the data is filtered to one particular year and 'active' users only so I'd like to create a new measure which takes this into account so that all 'active' users in 2019=100%.  At the moment it's giving me 60% because it's taking into account 2020 and other user states.  This is my first attempt at the new DAX but it doesn't work;

 

DIVIDE(FILTER(ACTIVITY,[YEAR]=2019&(ACTIVITY[ENROL_WF]="active"))[COUNT(ACTIVITY[PERSON_CODE]),CALCULATE(COUNT(ACTIVITY[PERSON_CODE]),ALL(ACTIVITY)))
 
Can anyone give me any advice on how to fix it up?
 
Thanks,
 
DHB
  • I would first try your original measure with ALLSELECTED() instead of ALL().

     

    If this works for you, please mark it as solution.  Kudos are appreciated too.  Please let me know if not.

    Regards,

    Pat

  • Anonymous's avatar
    Anonymous
    6 years ago

    Hi DHB ,

     

    You may try to use the below measure:

    DIVIDE(COUNT(ACTIVITY[PERSON_CODE]),CALCULATE(COUNT(ACTIVITY[PERSON_CODE]),ALLSELECTED(ACTIVITY)))

     Please try.

    Aiolos Zhao

8 Replies

  • mahoneypat's avatar
    mahoneypat
    Microsoft Employee

    I would first try your original measure with ALLSELECTED() instead of ALL().

     

    If this works for you, please mark it as solution.  Kudos are appreciated too.  Please let me know if not.

    Regards,

    Pat

    • DHB's avatar
      DHB
      Helper V

      Thanks Pat, that works but I have another issue now.  I'm representing that measure in a gauge visual and when I apply filters in the report the value stays at 100%.  With the DAX I used before it only showed 60% but when I used filters this would go up and down between 0-60.  Can I use the ALLSELECTED version and still have the gauge correspond to the filters I use somehow?

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi DHB ,

         

        You need to tell us what's your expected result finally. Because the allselected function is to calculate % by person code.

         

        Please show us the sample data(what you want) and show us what you want(screenshot or image).

        It's better to give some examples for different scenarios.

         

        Aiolos Zhao

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi DHB ,

     

    You may try to use the below measure:

    DIVIDE(COUNT(ACTIVITY[PERSON_CODE]),CALCULATE(COUNT(ACTIVITY[PERSON_CODE]),ALLSELECTED(ACTIVITY)))

     Please try.

    Aiolos Zhao