Precio de búsqueda dentro del rango de fechas

Un usuario Pregunto ✅

Remon Kissen

Hola,

Soy un principiante con Power BI y tengo una pregunta. Los datos en mi ejemplo son ficticios.

En nuestra empresa hacemos cada 2 semanas un cálculo de precio de costo. Este cálculo del precio de coste es la base para el cálculo de los precios de venta. En general, los precios de venta y los precios de costo se fijan por un período de 2 semanas. Pero si una receta cambia, podría ser posible recibir un nuevo cálculo de costos, dentro del período de 2 semanas. El precio de costo está activo hasta la próxima fecha de activación de ese número de artículo.

Necesito hacer coincidir el precio de costo del producto con la fecha de entrega de la tabla de transacciones.

Este ejemplo se parece mucho a esta publicación de blog:

https://community.powerbi.com/t5/Desktop/Lookup-Price-within-Date-Range-by-delivered-Date/mp/112365…

La única diferencia es que no tengo [To Date]. ¿Es necesario crear en el Editor de consultas una columna? [From Date] y [To Date]? Si es así, cómo tengo que hacerlo.

Muchísimas gracias,

Remón

Precio de Costo de Tabla

Número de artículo Precio de coste Fecha de activacion

1000

31,98

18-2-2020

1000

32,17

2-3-2020

1000

31,16

9-3-2020

1000

34,00

11-3-2020

2000

31,98

18-2-2020

2000

32,25

9-3-2020

2000

32,50

11-3-2020

3000

31,11

18-2-2020

3000

31,15

2-3-2020

3000

31,25

9-3-2020

Tabla de hechos Transacciones de ventas

Fecha de entrega Número de artículo Cantidad de ventas

18-02-2020

1000

10

19-02-2020

1000

10

20-02-2020

1000

10

09-03-2020

1000

10

10-03-2020

1000

10

18-02-2020

2000

10

19-02-2020

2000

10

11-03-2020

3000

10

12-03-2020

3000

10

13-03-2020

3000

10

vivran22

En respuesta a Remon Kissen

@RemonKissen

Puedes intentar esto:

Agregue una columna de índice en la publicación de la tabla de precios de costo ordenándola por número de artículo y fecha de activación

1.JPG

Agregar dos columnas calculadas

Para hasta la fecha:

Till Date = 
 VAR _TillDate = 
    LOOKUPVALUE(dtCostPrice[Activation date],dtCostPrice[Item Number],dtCostPrice[Item Number],dtCostPrice[Index],dtCostPrice[Index] + 1)
VAR _Result = 
    IF(ISBLANK(_TillDate),TODAY(),_TillDate)
RETURN
_Result

2.JPG

Por precio de costo:

Cost Price = 
CALCULATE(
    MAX(dtCostPrice[Cost Price]),
    FILTER(
        dtCostPrice,
        dtCostPrice[Activation date] <= dtSales[Delivery Date]
        && dtCostPrice[Till Date] >= dtSales[Delivery Date]
        && dtCostPrice[Item Number] = dtSales[Item Number]
    )
    
)

3.JPG

¡Salud!
Vivek

si te sirve márcalo como solución
Felicitaciones sería una cereza en la parte superior 🙂 (¡Presiona el botón de pulgares arriba!)
Si no es así, comparta datos de muestra junto con los resultados esperados (preferiblemente un archivo de Excel y no una imagen)

https://www.vivran.in/

Conectar en LinkedIn

vivran22

Hola @RemonKissen,

También puede lograr esto usando Power Query.

He usado Merge Queries: primero para obtener la última fecha de cada artículo y luego para obtener el costo de la última fecha

Resultado:

Capturar.JPG

Puede encontrar el archivo pbix de muestra aquí

¡Salud!
Vivek

si te sirve márcalo como solución
Felicitaciones sería una cereza en la parte superior 🙂 (¡Presiona el botón de pulgares arriba!)
Si no es así, comparta datos de muestra junto con los resultados esperados (preferiblemente un archivo de Excel y no una imagen)

https://www.vivran.in/

Conectar en LinkedIn

Remon Kissen

En respuesta a vivran22

Hola @vivran22 Vivek,

Gracias por tu rápida respuesta. Está cerca de la solución que estoy buscando. ¿Podría leer la explicación adicional que le di a @dax Zoe Zhi? Esto incluye el resultado requerido/deseado.

¡Salud!

Remón

vivran22

En respuesta a Remon Kissen

@RemonKissen

Puedes intentar esto:

Agregue una columna de índice en la publicación de la tabla de precios de costo ordenándola por número de artículo y fecha de activación

1.JPG

Agregar dos columnas calculadas

Para hasta la fecha:

Till Date = 
 VAR _TillDate = 
    LOOKUPVALUE(dtCostPrice[Activation date],dtCostPrice[Item Number],dtCostPrice[Item Number],dtCostPrice[Index],dtCostPrice[Index] + 1)
VAR _Result = 
    IF(ISBLANK(_TillDate),TODAY(),_TillDate)
RETURN
_Result

2.JPG

Por precio de costo:

Cost Price = 
CALCULATE(
    MAX(dtCostPrice[Cost Price]),
    FILTER(
        dtCostPrice,
        dtCostPrice[Activation date] <= dtSales[Delivery Date]
        && dtCostPrice[Till Date] >= dtSales[Delivery Date]
        && dtCostPrice[Item Number] = dtSales[Item Number]
    )
    
)

3.JPG

¡Salud!
Vivek

si te sirve márcalo como solución
Felicitaciones sería una cereza en la parte superior 🙂 (¡Presiona el botón de pulgares arriba!)
Si no es así, comparta datos de muestra junto con los resultados esperados (preferiblemente un archivo de Excel y no una imagen)

https://www.vivran.in/

Conectar en LinkedIn

Hola @RemonKissen,

Qué [from date] y [To date] ¿querías? Si es posible, ¿podría explicarlo en detalle? Por cierto, si es posible, ¿podría proporcionarme información más detallada (como el resultado esperado)?

Atentamente,
zoe zhi

Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Remon Kissen

En respuesta a dax

Hola @dax Zoe Zhi,

Gracias por tu pronta respuesta. Espero aclarar mi ejemplo, mi ejemplo espero que:

Número de artículo 1000, costo 31,98, fecha de activación 18-02-2020 está activo hasta la próxima actualización. En mi ejemplo, esto debería estar activo hasta el 01-03-2020. El 03-02-2020 está activo un nuevo precio de costo para el número de artículo 1000. Agregué una columna adicional, hasta la fecha en que el precio está activo. ¿Tengo que añadir una columna adicional? Si es así, ¿cómo tengo que hacerlo con el Editor de consultas?

Si se produjo una entrega de venta para el artículo número 1000, por ejemplo, en la fecha 19-02-2020, el precio de costo debería estar visible en la tabla de hechos «Nueva columna».

Gracias,

Remón

Precio de Costo de Tabla

Era la fecha de activación Nueva columna agregada
Número de artículo Precio de coste Partir de la fecha Hasta la fecha
1000 31,98 18-2-2020 1-3-2020
1000 32,17 2-3-2020 8-3-2020
1000 31,16 9-3-2020 10-3-2020
1000 34,00 11-3-2020 Hasta la próxima actualización…
2000 31,98 18-2-2020 8-3-2020
2000 32,25 9-3-2020 10-3-2020
2000 32,50 11-3-2020 Hasta la próxima actualización…
3000 31,11 18-2-2020 1-3-2020
3000 31,15 2-3-2020 8-3-2020
3000 31,25 9-3-2020 Hasta la próxima actualización…

Tabla de hechos Transacciones de ventas

Nueva columna
Fecha de entrega Número de artículo Cantidad de ventas Precio de coste
18-02-2020 1000 10 31,98
19-02-2020 1000 10 31,98
20-02-2020 1000 10 31,98
09-03-2020 1000 10 31,16
10-03-2020 1000 10 31,16
18-02-2020 2000 10 31,98
19-02-2020 2000 10 31,98
11-03-2020 3000 10 31,25
12-03-2020 3000 10 31,25
13-03-2020 3000 10 31,25

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *