Forum Discussion

Shreeram04's avatar
Shreeram04
Resolver III
4 years ago
Solved

Distinct Row Count

Hi All,

My requirement is to count distinct rows.

 

Sample Data:

 

AreaCountryBrand
A1c1b1
A1c1b1
A1c2b1
A1c2b3
A1c2b3
A1c4b2
A1c3b1
A1c4b5
A1c4b1
A1c5b1
A1c5b2
A2c6b1
A2c7b2
A2c8b3
A2c9b4
A2c10b5
A2c11b6
A2c12b7

 

when I filter A1 in Area and c1,c2 in-country means the brand row count value show as 4. It should take  distinct count for c1(b1,b2) as 2 and c2 for 2(b3,b1) so total as 4.

 

AreaCountryBrand
A1c1b1
A1c1b1
A1c2b1
A1c2b3
A1c2b3
A1c1b2

 

While I am using a distinct Dax measure it takes a total distinct count but wants distinct value based on country.

 

Please help me to identify the solution. Thanks in Advance.

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi  Shreeram04 ,

    Here are the steps you can follow:

    1. Create measure.

    Measure =
    var _selectarea=SELECTEDVALUE('Table'[Area])
    var _selectcountry=SELECTCOLUMNS(FILTER(ALL('Table'),'Table'[Area]=_selectarea),"1",[Country])
    return
    CALCULATE(DISTINCTCOUNT('Table'[Brand]),FILTER(ALL('Table'),'Table'[Area]=_selectarea&&'Table'[Country] in _selectcountry))

    2. Result:

     

    Best Regards,

    Liu Yang

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

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  Shreeram04 ,

    Here are the steps you can follow:

    1. Create measure.

    Measure =
    var _selectarea=SELECTEDVALUE('Table'[Area])
    var _selectcountry=SELECTCOLUMNS(FILTER(ALL('Table'),'Table'[Area]=_selectarea),"1",[Country])
    return
    CALCULATE(DISTINCTCOUNT('Table'[Brand]),FILTER(ALL('Table'),'Table'[Area]=_selectarea&&'Table'[Country] in _selectcountry))

    2. Result:

     

    Best Regards,

    Liu Yang

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

  • "My requirement is to count distinct rows"

     

    I don't think that's  what your requirement is.  It sounds more like a "filtering up" pattern where you want to identify other rows outside of the filter context as well. The distinct count for your given example is indeed 3.  But as I understand your expected result is 4 because you want to look beyond the combined filter, right?

     

    Filters in DAX are applied together.  

     

    Area = A1 and Country in ( c1, c2 )

     

    rather than 

     

    Area = A1 or Country in ( c1, c2 )