Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

undefined

Hi,

 

I have a requirement where I have to rank members based on the weight that they have. Like below image:

 

How can I calculate the weights and rank them based on that score? Thank you!

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi Anonymous ,

     

    Here I create a sample to have a test.

    M1 = 5* CALCULATE(SUM('Table'[Value]))
    M2 = 10* CALCULATE(SUM('Table'[Value]))

    ...

    M5 = 5* CALCULATE(SUM('Table'[Value]))

    Create a measure to calculate the rank.

    Rank = 
    VAR _SUMMARIZE =
        SUMMARIZE (
            ALL ( 'Table' ),
            'Table'[Member],
            "SUM_MEASURE",
                SWITCH ( [Member], "A", [M1] + [M2] + [M3], "B", [M1] + [M2], "C", [M1] + [M5] )
        )
    VAR _ADDRANK =
        ADDCOLUMNS (
            _SUMMARIZE,
            "RANK", RANKX ( _SUMMARIZE, [SUM_MEASURE],, DESC, DENSE )
        )
    RETURN
        SUMX ( FILTER ( _ADDRANK, [Member] = MAX ( 'Table'[Member] ) ), [RANK] )

    Result is as below.

     

    Best Regards,
    Rico Zhou

     

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

     

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    Here I create a sample to have a test.

    M1 = 5* CALCULATE(SUM('Table'[Value]))
    M2 = 10* CALCULATE(SUM('Table'[Value]))

    ...

    M5 = 5* CALCULATE(SUM('Table'[Value]))

    Create a measure to calculate the rank.

    Rank = 
    VAR _SUMMARIZE =
        SUMMARIZE (
            ALL ( 'Table' ),
            'Table'[Member],
            "SUM_MEASURE",
                SWITCH ( [Member], "A", [M1] + [M2] + [M3], "B", [M1] + [M2], "C", [M1] + [M5] )
        )
    VAR _ADDRANK =
        ADDCOLUMNS (
            _SUMMARIZE,
            "RANK", RANKX ( _SUMMARIZE, [SUM_MEASURE],, DESC, DENSE )
        )
    RETURN
        SUMX ( FILTER ( _ADDRANK, [Member] = MAX ( 'Table'[Member] ) ), [RANK] )

    Result is as below.

     

    Best Regards,
    Rico Zhou

     

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