Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

How to do a double DISTINCTCOUNT?

Hello everyone,
My table follows this structure:

ItemCodeClass
FFF15.1A
FFF16.1B
YYY15.1A
YYY15.1A
YYY20.1A
XXX16.1C

As you can see, an item can appear more than once in the table. The code can also be repeated. I want to create a measure that counts the distinct Code types for each distinct Item.


So, based on the example table above, the measure should bring me de value 5, because:
FFF has 2 distinct codes (15.1 and 16.1)
YYY has 2 distinct codes (15.1 and 20.1)
XXX has 1 distinct code (16.1)

So 2 + 2 + 2 = 5

Can someone help me?


  • Hi,

    This measure works

    =SUMX(SUMMARIZE(VALUES(Data[Item]),Data[Item],"ABCD",DISTINCTCOUNT(Data[Code])),[ABCD])

    Hope this helps.

6 Replies

  • jthomson's avatar
    jthomson
    Solution Sage

    If you just do a distinctcount on the Code column, then stick the Item column as rows in a matrix, it should give you the results you want?

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi jthomson 
      I'm sorry, I didn't understand the matrix part. Would that be a measure created?

  • Anonymous 

    you can try this

    Measure = 
    VAR _TBL=SUMMARIZE('Table','Table'[Item],"_count",DISTINCTCOUNT('Table'[Code]))
    return SUMX(_TBL,[_count])

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hey ryan_mayu 
      I tried to create this measure of yours here, but it gives me an error in the "return" part (unexpected expression). How can I create your measurement without this error happening to me?

  • mahoneypat's avatar
    mahoneypat
    Microsoft Employee

    You can just use this measure expression, replacing Table with your actual table name.

     

    Distinct Item and Code = COUNTROWS(SUMMARIZE(Table, Table[Item], Table[Code]))

     

    Regards,

    Pat

     

  • Hi,

    This measure works

    =SUMX(SUMMARIZE(VALUES(Data[Item]),Data[Item],"ABCD",DISTINCTCOUNT(Data[Code])),[ABCD])

    Hope this helps.