Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Most repeated value on the same row, different columns

Hi all,

I'm trying to get the most repeaed value on the same row, but on different colums, any idia of how to do this?

My table:

NameID_1ID_2ID_3Result
aaXXX1XX3XXX1XX1
bbZZ2ZZ2 ZZ2
ccMM3  MM3

trying to get column "Result" counting the most repeated value on ID columns

 

Thanks!!

  • Hi,

    Please check the below picture and the attached pbix file.

     

     

    Result CC =
    VAR currentname = Data[Name]
    VAR idone = Data[ID_1]
    VAR idtwo = Data[ID_2]
    VAR idthree = Data[ID_3]
    VAR newtable =
    GENERATE (
    CALCULATETABLE ( VALUES ( Data[Name] ), Data[Name] = currentname ),
    CALCULATETABLE (
    UNION ( VALUES ( Data[ID_1] ), VALUES ( Data[ID_2] ), VALUES ( Data[ID_3] ) )
    )
    )
    VAR idonecount =
    COUNTROWS ( FILTER ( newtable, Data[ID_1] <> BLANK () && Data[ID_1] = idone ) )
    VAR idtwocount =
    COUNTROWS ( FILTER ( newtable, Data[ID_1] <> BLANK () && Data[ID_1] = idtwo ) )
    VAR idthreecount =
    COUNTROWS (
    FILTER ( newtable, Data[ID_1] <> BLANK () && Data[ID_1] = idthree )
    )
    VAR maxcount =
    MAX ( MAX ( idonecount, idtwocount ), idthreecount )
    RETURN
    SWITCH (
    maxcount,
    idonecount, Data[ID_1],
    idtwocount, Data[ID_2],
    idthreecount, Data[ID_3]
    )

2 Replies

  • Hi,

    Please check the below picture and the attached pbix file.

     

     

    Result CC =
    VAR currentname = Data[Name]
    VAR idone = Data[ID_1]
    VAR idtwo = Data[ID_2]
    VAR idthree = Data[ID_3]
    VAR newtable =
    GENERATE (
    CALCULATETABLE ( VALUES ( Data[Name] ), Data[Name] = currentname ),
    CALCULATETABLE (
    UNION ( VALUES ( Data[ID_1] ), VALUES ( Data[ID_2] ), VALUES ( Data[ID_3] ) )
    )
    )
    VAR idonecount =
    COUNTROWS ( FILTER ( newtable, Data[ID_1] <> BLANK () && Data[ID_1] = idone ) )
    VAR idtwocount =
    COUNTROWS ( FILTER ( newtable, Data[ID_1] <> BLANK () && Data[ID_1] = idtwo ) )
    VAR idthreecount =
    COUNTROWS (
    FILTER ( newtable, Data[ID_1] <> BLANK () && Data[ID_1] = idthree )
    )
    VAR maxcount =
    MAX ( MAX ( idonecount, idtwocount ), idthreecount )
    RETURN
    SWITCH (
    maxcount,
    idonecount, Data[ID_1],
    idtwocount, Data[ID_2],
    idthreecount, Data[ID_3]
    )

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi Kim, thanks for your help, it works perfectly!!!