Forum Discussion
Anonymous
5 years agoNot 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 wher...
- 5 years ago
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
5 years agoSuper 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...
Anonymous
5 years agoNot applicable
It sure is crazy but it works 😀
Thank you for your support.
Best regards,
Luka