Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
Anonymous
Not applicable

Rank and Lookupvalue

Hello, I would appreciate your help with the following question:

I am trying to write DAX formula which would return number in the last column in below table. This is nth product's Volume sales where nth position is defined on Value rank: for example Product 1 is 6th in Value sales and as a result I want Volume Sales of 6th product ranked by Volume (both ranks are calculated with RANKX).

luka_zz_0-1602597789971.png

 

I am stuck with virtual tabels created by ADDCOLUMNS but I cannot run LOOKUPVALUE thru them.

Thank you in advance for your support.

Luka

1 ACCEPTED SOLUTION
lbendlin
Super User
Super User

Ok, I think this is one of the craziest formulas I have ever written.  Use at your own risk

 

 

VOL Sales based on VAL rank := 
var valr = rankx(all(Products[Product]),CALCULATE(sum(Products[Value Sales])))
var v = ADDCOLUMNS(ALL(Products[Product]),"sales",var p = Products[Product] return calculate(sum(Products[Volume Sales]),all(Products),Products[Product]=p))
var v2 = ADDCOLUMNS(v,"volr",var s=[sales] return CALCULATE(RANK.EQ(s,Products[Volume Sales]),all(Products)))
return CONCATENATEX(filter(v2,[volr]=valr),format([sales],"#"),"")

 

 

DAXformatter.com treatment :

 

 

VOL Sales based on VAL rank =
VAR valr =
    RANKX ( ALL ( Products[Product] ), CALCULATE ( SUM ( Products[Value Sales] ) ) )
VAR v =
    ADDCOLUMNS (
        ALL ( Products[Product] ),
        "sales",
            VAR p = Products[Product]
            RETURN
                CALCULATE (
                    SUM ( Products[Volume Sales] ),
                    ALL ( Products ),
                    Products[Product] = p
                )
    )
VAR v2 =
    ADDCOLUMNS (
        v,
        "volr",
            VAR s = [sales]
            RETURN
                CALCULATE ( RANK.EQ ( s, Products[Volume Sales] ), ALL ( Products ) )
    )
RETURN
    CONCATENATEX ( FILTER ( v2, [volr] = valr ), FORMAT ( [sales], "#" ), "" )

 

I leave the Totals as an exercise for you...

 

lbendlin_0-1602636497268.png

 

View solution in original post

2 REPLIES 2
lbendlin
Super User
Super User

Ok, I think this is one of the craziest formulas I have ever written.  Use at your own risk

 

 

VOL Sales based on VAL rank := 
var valr = rankx(all(Products[Product]),CALCULATE(sum(Products[Value Sales])))
var v = ADDCOLUMNS(ALL(Products[Product]),"sales",var p = Products[Product] return calculate(sum(Products[Volume Sales]),all(Products),Products[Product]=p))
var v2 = ADDCOLUMNS(v,"volr",var s=[sales] return CALCULATE(RANK.EQ(s,Products[Volume Sales]),all(Products)))
return CONCATENATEX(filter(v2,[volr]=valr),format([sales],"#"),"")

 

 

DAXformatter.com treatment :

 

 

VOL Sales based on VAL rank =
VAR valr =
    RANKX ( ALL ( Products[Product] ), CALCULATE ( SUM ( Products[Value Sales] ) ) )
VAR v =
    ADDCOLUMNS (
        ALL ( Products[Product] ),
        "sales",
            VAR p = Products[Product]
            RETURN
                CALCULATE (
                    SUM ( Products[Volume Sales] ),
                    ALL ( Products ),
                    Products[Product] = p
                )
    )
VAR v2 =
    ADDCOLUMNS (
        v,
        "volr",
            VAR s = [sales]
            RETURN
                CALCULATE ( RANK.EQ ( s, Products[Volume Sales] ), ALL ( Products ) )
    )
RETURN
    CONCATENATEX ( FILTER ( v2, [volr] = valr ), FORMAT ( [sales], "#" ), "" )

 

I leave the Totals as an exercise for you...

 

lbendlin_0-1602636497268.png

 

Anonymous
Not applicable

It sure is crazy but it works 😀

Thank you for your support.

Best regards,

Luka

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors