Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola, Le agradecería su ayuda con la siguiente pregunta:
Estoy tratando de escribir la fórmula DAX que devolvería el número en la última columna de la tabla siguiente. Se trata del enésimo producto Ventas por volumen donde enésima posición se define en el rango de valor: por ejemplo, el producto 1 es el 6o en ventas de valor y, como resultado, quiero ventas por volumen del 6o producto clasificadas por volumen (ambas clasificaciones se calculan con RANKX).
Estoy atascado con tabels virtuales creados por ADDCOLUMNS, pero no puedo ejecutar LOOKUPVALUE a través de ellos.
Gracias de antemano por su apoyo.
Luka
Solved! Go to Solution.
Ok, creo que esta es una de las fórmulas más locas que he escrito. Usar bajo su propio riesgo
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],"#"),"")
tratamiento DAXformatter.com:
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], "#" ), "" )
Dejo los Totales como un ejercicio para ti...
Ok, creo que esta es una de las fórmulas más locas que he escrito. Usar bajo su propio riesgo
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],"#"),"")
tratamiento DAXformatter.com:
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], "#" ), "" )
Dejo los Totales como un ejercicio para ti...
Seguro que es una locura, pero funciona 😀
Gracias por su apoyo.
Saludos
Luka
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |