Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Syndicate_Admin
Administrator
Administrator

Cómo calcular la diferencia de precio del producto

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!

image.jpg

1 ACCEPTED SOLUTION

@K1701346

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

View solution in original post

16 REPLIES 16
Syndicate_Admin
Administrator
Administrator

@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.

vjaneygmsft_0-1645602419044.png

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!

@K1701346

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:

98779D49-B544-4CF9-87CD-6C569C369BBC.jpeg

calcular el total semanal o mensual y menos el total de la semana o mes anterior.

@K1701346

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.

171C952E-E294-470F-9306-CE6E0CF9921E.jpeg

  

pero si cambio < de función más pequeña en esto a > que parezca así:

75B7ABBF-B015-49F9-979A-68B19C2DDDB9.jpeg



¿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?

En ella, @K1701346

Cambie '<=' por '<'.

vjaneygmsft_0-1645611976614.png

¿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

@K1701346

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?

@K1701346

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

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?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.