Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola
Quiero suma acumulativamente los valores de ID de posición (para 2019&2020),solo para los artículos que nunca tuvieron tipo de transacción 0 o 9.
Para aclarar, si un elemento determinado tiene incluso una fila con el tipo de transacción 0 o 9, se deben excluir todas las filas de este elemento.
Además, cada fila que tiene BLANK en la columna QTY también deben excluirse.
Estas dos condiciones anteriores no son dependientes.
Quiero decir, si el elemento en particular no tiene filas con el tipo de transacción 0 o 9, sin embargo, tiene algunas filas con BLANK en la columna QTY, solo se deben excluir las filas con BLANK, no todas las filas de este elemento.
Me doy cuenta de que podría parecer que no tiene mucho sentido, pero traté de simplificar realmente mi caso, tanto como sea posible.
Debajo del archivo de ejemplo.
https://drive.google.com/file/d/1sl4SrIB4DGfe8xUh-K50FCMEn1i4Rh3_/view?usp=sharing
Mi problema es, ¿cómo escribir una medida DAX para este caso?
Gracias de antemano.
Solved! Go to Solution.
Hola @pawelj795 ,
Un cambio y debería funcionar:
TransactionType09 =
VAR _transactiontype09 = CALCULATE(COUNTROWS(Sheet1),FILTER(ALL(Sheet1),Sheet1[ItemID] = MAX(Sheet1[ItemID]) && Sheet1[Transaction Type] IN {0,9}))
RETURN
SWITCH(TRUE(),
_transactiontype09 > 0, BLANK(),
SWITCH(TRUE(),
MAX(Sheet1[QTY]) <> BLANK(), 1,
0)
)
_______________
Si ayudé, por favor acepte la solución y dar felicitaciones! 😀
Hola @pawelj795 ,
Según mi opinión, desea calcular la suma de Valores cuando el Tipo de transacción no es 0 y 9 y el QTY no está en blanco, ¿verdad?
Puede usar la siguiente fórmula:
Measure =
CALCULATE (
SUM ( Sheet1[Value] ),
FILTER (
'Sheet1',
'Sheet1'[Transaction Type] <> 0
&& 'Sheet1'[Transaction Type] <> 9
)
)
- CALCULATE (
SUM ( Sheet1[Value] ),
FILTER (
'Sheet1',
'Sheet1'[Transaction Type] <> 0
&& 'Sheet1'[Transaction Type] <> 9
&& 'Sheet1'[QTY] = BLANK ()
)
)
¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, cargue algunas muestras de datos insensibles y la salida esperada.
Saludos
Eyelyn Qin
Gracias @lkalawski.
Casi estamos allí, su medida la elección correctamente de artículos, pero las sumas son incorrectas, ¿podría verificar?
actualizar.
Sé lo que está mal, su medida no incluye filas con QTY < 0 -> tal vez sea mi culpa porque no agreí ese tipo de filas a mi muestra. (por cierto, cuando qty <0 es ajuste)
¿Cómo modificar sus medidas?
Hola @pawelj795 ,
Un cambio y debería funcionar:
TransactionType09 =
VAR _transactiontype09 = CALCULATE(COUNTROWS(Sheet1),FILTER(ALL(Sheet1),Sheet1[ItemID] = MAX(Sheet1[ItemID]) && Sheet1[Transaction Type] IN {0,9}))
RETURN
SWITCH(TRUE(),
_transactiontype09 > 0, BLANK(),
SWITCH(TRUE(),
MAX(Sheet1[QTY]) <> BLANK(), 1,
0)
)
_______________
Si ayudé, por favor acepte la solución y dar felicitaciones! 😀
¿Alguien puede ayudarme?
hacia arriba
Hola @pawelj795
Puede hacer la primera parte con estas dos medidas:
TransactionType09 =
VAR _transactiontype09 = CALCULATE(COUNTROWS(Sheet1),FILTER(ALL(Sheet1),Sheet1[ItemID] = MAX(Sheet1[ItemID]) && Sheet1[Transaction Type] IN {0,9}))
RETURN
SWITCH(TRUE(),
_transactiontype09 > 0, BLANK(),
1)Sum of Value = CALCULATE(Sum(Sheet1[Value]), FILTER(Sheet1,[TransactionType09] = 1))
Sin embargo, no entiendo la segunda parte.
Si el artículo no tiene 0 o 9 en el campo de tipo de transacción (como se muestra en la figura anterior), agregamos solo los valores con QTY rellenado? Para ese caso, sería Suma (Valor) 10? ¿Excluimos los artículos que tienen 0 o 9 en total, o los sumamos?
¿Podría dar un ejemplo?
_______________
Si ayudé, por favor acepte la solución y dar felicitaciones! 😀
Gracias por su respuesta.
Exactamente, en su caso la suma debe ser 10,
¿Excluimos los artículos que tienen 0 o 9 en total, o los sumamos?
Sí, excluimos todos los artículos, que tienen incluso una transacción con 0 o 9.
Utilice esta medida y Sum de la publicación anterior:
TransactionType09 =
VAR _transactiontype09 = CALCULATE(COUNTROWS(Sheet1),FILTER(ALL(Sheet1),Sheet1[ItemID] = MAX(Sheet1[ItemID]) && Sheet1[Transaction Type] IN {0,9}))
RETURN
SWITCH(TRUE(),
_transactiontype09 > 0, BLANK(),
SWITCH(TRUE(),
MAX(Sheet1[QTY]) > 0, 1,
0)
)
Me di cuenta de que hay duplicados en la tabla que subió, así que tenlo en cuenta al comprobar los totales.
_______________
Si ayudé, por favor acepte la solución y dar felicitaciones! 😀
.