Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and a 50 percent discount on exams.
Get startedEarn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Eh
Tengo poco problema. en Power Bi necesito calcular la diferencia de precio del producto si el nombre del producto y la fecha de entrega son los mismos, pero el día del pedido es diferente. Y si el precio de los productos es el mismo que la fecha del último pedido, solo da cero o en blanco y si los productos tienen solo un pedido, en ese caso también lo da en blanco o cero.
Como se muestra en la imagen.
¡Gracias ya!
Solved! Go to Solution.
La lógica del mes es definitivamente diferente, debe proporcionar datos de muestra y el resultado deseado.
Si aún necesita ayuda, marque primero esta solución de caso y luego cree un nuevo hilo.
Saludos
equipo de soporte de la comunidad _Janey
@K1701346 , Crear una nueva columna como
nueva columna =
var _max = maxx(filter(Table, [product_name] = earlier([Product_name]) && [DeliveryDate] = EARLIER([DeliveryDate] ) && [OrderDate] < earlier([OrderDate])),[OrderDate])
devolución
maxx(filter(Table, [product_name] = earlier([Product_name]) && [DeliveryDate] = EARLIER([DeliveryDate] ) && [OrderDate] =_max),[Price]) -[Price]
Eh
gracias por la ayuda ahora!
Por alguna razón no puedo calcular un resultado confiable usando esa columna.
Agregué la instrucción if, pero aún así no conseguí que la columna funcionara.
a continuación se muestra cómo lo agregué.
nueva columna =
var _max = maxx(filter(Table, [product_name] = earlier([Product_name]) && [DeliveryDate] = EARLIER([DeliveryDate] ) && [OrderDate] < earlier([OrderDate])),[OrderDate])
devolución
IF(_max<>BLANK(),
maxx(filter(Table, [product_name] = earlier([Product_name]) && [DeliveryDate] = EARLIER([DeliveryDate] ) && [OrderDate] =_max),[Price]) -[Price])
Recibo un nuevo pedido cada semana del cual debo calcular el cambio de precio en comparación con el anterior.
Entonces, ¿cómo cambiar esa columna para calcular un cambio confiable?
se deben cumplir todas las mismas condiciones que mencioné al principio.
¿Qué pasaría si este problema se abordara desde una dirección diferente?
si la fecha de entrega se cambia a un número de mes. ¿Y el nuevo mes se deduce del anterior mismo mes?
por ejemplo, ¿cuenta el cambio del mes 1 al mes 1?
¿Puede aconsejar cómo hacerlo? O puede sugerir si tiene una solución más viable.
En ella, @K1701346
De acuerdo con su descripción, creo que puede crear una columna.
Así:
Column =
VAR a =
MAXX (
FILTER (
'Table',
[Customer] = EARLIER ( 'Table'[Customer] )
&& [product name] = EARLIER ( 'Table'[product name] )
&& [Delivery date] = EARLIER ( 'Table'[Delivery date] )
&& [order date] < EARLIER ( 'Table'[order date] )
),
[order date]
)
VAR b =
MAXX (
FILTER (
'Table',
[Customer] = EARLIER ( 'Table'[Customer] )
&& [product name] = EARLIER ( 'Table'[product name] )
&& [Delivery date] = EARLIER ( 'Table'[Delivery date] )
&& [order date] = a
),
[price]
)
RETURN
IF ( [price] = b || b = BLANK (), BLANK (), [price] - b )
Los pedidos posteriores buscarán automáticamente los pedidos de la semana anterior.
Saludos
equipo de soporte de la comunidad _Janey
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente
Esto funciona, pero imprimirá el mismo resultado más de una vez si se encuentran más coincidencias.
¿Qué pasa si olvida el cliente, los productos y las fechas de entrega? Y calcula el cambio de precio total en comparación con la semana anterior.
¿Cómo recomiendas hacer esto?
¡Muchas gracias ya!
No entiendo a qué te refieres, por qué hay múltiples coincidencias, ya he limitado las condiciones, uso la columna, no cambiará con tu contexto.
Mi punto anterior era que:
calcular el total semanal o mensual y menos el total de la semana o mes anterior.
Probar:
Total =
SUMX (
FILTER ( 'Table', [Order Date] = EARLIER ( 'Table'[Order Date] ) ),
[Price]
)
Difference =
VAR lastdate =
MAXX (
FILTER ( 'Table', [Order Date] <= EARLIER ( 'Table'[Order Date] ) ),
[Order Date]
)
VAR lastweektotal =
SUMX ( FILTER ( 'Table', [Order Date] = lastdate ), [Price] )
RETURN
IF ( lastweektotal = BLANK (), BLANK (), [Total] - lastweektotal )
Saludos
equipo de soporte de la comunidad _Janey
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente
¡Muchas gracias por su esfuerzo!,
Su diferencia de cálculo es 0 y la diferencia debe ser -192,9.
pero si cambio < de función más pequeña en esto a > que parezca así:
¿Creo que todavía hay algún problema?
y si quiero mostrar la diferencia en el gráfico de barras, ¿muestra que -192,9 varias veces?
¿Cómo cambio esto para medir y no calcular columun?
Ahora, si hago un gráfico de barras, muestra la misma diferencia en varios momentos
Difference =
VAR lastdate =
MAXX (
FILTER ( ALL('Table'), [Order Date] <= SELECTEDVALUE ( 'Table'[Order Date] ) ),
[Order Date]
)
VAR lastweektotal =
SUMX ( FILTER ( ALL('Table'), [Order Date] = lastdate ), [Price] )
RETURN
IF ( lastweektotal = BLANK (), BLANK (), SELECTEDVALUE ( 'Table'[Total] ) - lastweektotal )
Saludos
equipo de soporte de la comunidad _Janey
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente
Eh
¿Es esto un trabajo si quiero ver el cambio mensual?
Ejemplo si recibo cada semana una nueva lista de pedidos que muestra los pedidos del año y quiero ver el cambio mensual en el precio del producto?
La lógica del mes es definitivamente diferente, debe proporcionar datos de muestra y el resultado deseado.
Si aún necesita ayuda, marque primero esta solución de caso y luego cree un nuevo hilo.
Saludos
equipo de soporte de la comunidad _Janey
Conozco sus necesidades, se puede hacer. Pero no es lo mismo que tus necesidades originales. Espera mi respuesta.
Eh
porque puede haber más de una fila en la tabla con el mismo proveedor, producto y fecha de entrega, pero la fecha de pedido es diferente.
¡Y solo noto que la fecha de entrega puede cambiar en algunos de los casos! !
Opción 2:
¿Cómo se podría modificar la columna que envió para tenerla en cuenta, incluso si la fecha de entrega puede ser diferente?