Forum Discussion

addicted87's avatar
addicted87
Icon for Helper I rankHelper I
5 years ago
Solved

Rank by expenses

Hey @all,

 

yet another problem:

 

I'd like to calculate a rank for a supplier by expenses in comparison to the competitors.

There are 5 suppliers (A,B,C,D,E) in 6 regions (R1,R2,R3,R4,R5,R6) producing 10 products (P1,P2...P10). Each supplier produces each product in each region.

 

Now I need a table, where I just want to show up the combination of region and product (I created a combined column regions_product and the rank of supplier A. I dont need the other ranks of the competitors, just the rank for supplier A in each row

 

 

For Example:

 

Region_ProductRank supplier A
R1_P12
R1_P25
R1_P35
R1_P41
......

 

 

Well, if I put the supplier in this table as well and select one special region_product combination, my current formula works:

 

rank by expenses =

RANKX(

            CALCULATETABLE(ALLSELECTED(table1[Region_Product];table1[supplier]));sum(table1[expenses))

 

Hope anyone can help me. THX 😉

  • Hi addicted87 ,

     

    Create a column as below:

    Rankx = 
    IF('Table'[Supplier]="A",RANKX(FILTER('Table','Table'[Region]=EARLIER('Table'[Region])&&'Table'[Supplier]=EARLIER('Table'[Supplier])),'Table'[Value],,ASC,Dense),BLANK())

    And you will see:

    For the related sample .pbix file,pls see attached.

     

    Best Regards,
    Kelly

    Did I answer your question? Mark my post as a solution!

2 Replies

  • you're holding the problem wrong. What you actually want to do is calculate the rank by supplier for the other categories. Product and region are irrelevant for the issue - the measure will take care of them for you.

    What you cannot drop is the data for the other suppliers. If you do that then the ranking will no longer work as you would only compare supplier a to themselves.

     

    Please provide sample data in usable format (not as a picture).

  • v-kelly-msft's avatar
    v-kelly-msft
    Icon for Community Support rankCommunity Support

    Hi addicted87 ,

     

    Create a column as below:

    Rankx = 
    IF('Table'[Supplier]="A",RANKX(FILTER('Table','Table'[Region]=EARLIER('Table'[Region])&&'Table'[Supplier]=EARLIER('Table'[Supplier])),'Table'[Value],,ASC,Dense),BLANK())

    And you will see:

    For the related sample .pbix file,pls see attached.

     

    Best Regards,
    Kelly

    Did I answer your question? Mark my post as a solution!