Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola equipo,
Tengo la siguiente instrucción switch que devuelve el total incorrecto para la columna cuando se usa la medida [VALUE_CONSOLIDATED].
VALUE_PRE =
CALCULATE(
SUM(CADAGE[TOT_CO]),
KEEPFILTERS(
FILTER(
ALL(CADAGE[TIPTRA]),
OR(CADAGE[TIPTRA] = "A", CADAGE[TIPTRA] = "O")
)
),
KEEPFILTERS(
FILTER(
ALL(CADAGE[STATUS]),
OR(CADAGE[STATUS] = "7", CADAGE[STATUS] = "8")
)
),
KEEPFILTERS(CADAGE[CIRURG_OCO] = "S"),
KEEPFILTERS(ISBLANK(CAPNOT[TOTNOT])),
ALL(DCALENDARIO[DATE]),
USERELATIONSHIP(CADAGE[DATAGE], DCALENDARIO[DATE])
)
VALUE_POS =
CALCULATE(
[NF Venda],
KEEPFILTERS(ISBLANK(CAPNOT[NUMENF])),
KEEPFILTERS(ITENOT[NOTAFI] = "S"),
REMOVEFILTERS(DCALENDARIO[DATE]),
USERELATIONSHIP(CADAGE[DATAGE], DCALENDARIO[DATE])
)
VALUE_CONSOLIDATED =
SWITCH(
TRUE(),
OR(ISBLANK([VALUE_POS]), [VALUE_POS] = 0), [VALUE_PRE],
OR(NOT(ISBLANK([VALUE_POS])), [VALUE_POS] <> 0), [VALUE_POS]
)
Enlace para el pbix: https://1drv.ms/u/s!AmkJoDOzgc2c_XDXm6ypQuMk5cBq?e=W0EbMr
Tks por adelantado!!!
Solved! Go to Solution.
Dado que [VALUE_POS] no está en blanco o cero, eso es lo que devuelve.
Si desea la suma sobre las filas de la tabla, debe iterar en ese nivel de granularidad.
VALUE_CONSOLIDATED =
SUMX (
VALUES ( TABLENAME[AGENDA] ),
SWITCH (
TRUE (),
OR ( ISBLANK ( [VALUE_POS] ), [VALUE_POS] = 0 ), [VALUE_PRE],
OR ( NOT ( ISBLANK ( [VALUE_POS] ) ), [VALUE_POS] <> 0 ), [VALUE_POS]
)
)
VALUE_CONSOLIDATED =
SUMX (
VALUES ( TABLENAME[AGENDA] ), -- TABLENAME[AGENDA]
IF ( IF( ISBLANK([VALUE_POS]), 0, [VALUE_POS]) <> 0, [VALUE_POS], [VALUE_PRE])
)
VALUE_CONSOLIDATED =
SUMX (
VALUES ( TABLENAME[AGENDA] ), -- TABLENAME[AGENDA]
IF ( IF( ISBLANK([VALUE_POS]), 0, [VALUE_POS]) <> 0, [VALUE_POS], [VALUE_PRE])
)
Dado que [VALUE_POS] no está en blanco o cero, eso es lo que devuelve.
Si desea la suma sobre las filas de la tabla, debe iterar en ese nivel de granularidad.
VALUE_CONSOLIDATED =
SUMX (
VALUES ( TABLENAME[AGENDA] ),
SWITCH (
TRUE (),
OR ( ISBLANK ( [VALUE_POS] ), [VALUE_POS] = 0 ), [VALUE_PRE],
OR ( NOT ( ISBLANK ( [VALUE_POS] ) ), [VALUE_POS] <> 0 ), [VALUE_POS]
)
)
¡Gracias, Alexis!
También funcionó con su sugerencia!!!
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |