Search code examples
powerbidaxdata-analysispowerbi-desktopmeasure

DAX/PowerBI Rank taking a variable/parameter into account


I'm working on a ranking/scoring system and I'm missing the PERCENTRANK.INC function in powerBI. Instead I have worked out below formula which is the closest I can get.

Score =
DIVIDE (
    RANKX (
        FILTER ( 'Table', NOT ( ISBLANK ( [Sold amounts] ) ) ),
        [Sold amounts],
        ,
        ASC
    ) - 1,
    COUNTROWS ( FILTER ( 'Table', NOT ( ISBLANK ( [Sold amounts] ) ) ) ) - 1
)

I really want to have the formula to take the type of "Fruit" into account in my scoring/ranking. In short each fruit should be scored separately, with a range per fruit sold.

Could this somehow be done with a variable (VAR)?

Example of data:

Data example


Solution

  • This should work.

    Score = 
    VAR fruit = 'Table'[Fruit]
    VAR filteredTable = FILTER ( 'Table', NOT ( ISBLANK ( [Sold amount] ) ) && 'Table'[Fruit] = fruit)
    
    RETURN
    DIVIDE (
        RANKX (
            filteredTable,
            [Sold amount],
            ,
            ASC
        ) - 1,
        COUNTROWS ( filteredTable ) - 1
    )
    

    enter image description here