cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper I
Helper I

Precio compra en función de la fecha del renglón relacionado

Buen día, tengo un modelo con el cual evaluo el costo de producir ciertos articulos tengo las tablas "Estructuras" que contiene el detalle de las ordenes de producción (Unidades producidas/insumos utilizados)  y la tabla "Compras" la cual contiene el detalle de las compras de insumos  (cantidades / importes / precios) y requiero obtener el precio de la ultima compra de cada elemento de acuerdo a la fecha de su producción como lo muestro en las imágenes:

Por ejemplo del producto AJON-011 para la producción del 03/12/2019 se tomaría el precio del 30/11/2019, para la producción del 15/01/2020 el precio que le corresponde es el del 14/01/2020 y asi sucesivamente con todos los productos

 

Intenté utilizar la siguiente medida sin embargo no puedo encontrar la lógica correcta para lograr el resultado esperado.

 

Ult CompraFe = 
VAR __id = MAX (Compras[KeyProducto] )
VAR __date = CALCULATE ( MAX( Compras[Fecha] ), ALLSELECTED ( Compras ),  Compras[KeyProducto] = __id ) 
RETURN CALCULATE ( MAX ( Compras[Unit] ), VALUES ( Compras[KeyProducto] ), Compras[KeyProducto] = __id, Compras[Fecha] = __date )

 

Agradezco de antemano su ayuda.

image.pngimage.png

3 ACCEPTED SOLUTIONS

Accepted Solutions
Highlighted
Super User VII
Super User VII

Re: Precio de compra basado en la fecha de línea relacionada

@RubenIdx en algún lugar los datos no son correctos, compruebe el tipo de datos de todas las columnas relacionadas utilizadas en esta medida. No puedo decir desde aquí dónde está el problema, pero sin duda es un problema de tipo de datos.






Did I answer your question? Mark my post as a solution.

Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.





View solution in original post

Highlighted
Microsoft
Microsoft

Re: Precio de compra basado en la fecha de línea relacionada

Hola @RubenIdx ,

Por favor, intente actualizar la fórmula como se muestra a continuación:

Ult CompraFe=
var kprod = CALCULATE(MAX('BDimensiones'[Kprod]), FILTER('BDimensiones','BDimensiones'[Prod]=SELECTEDVALUE ('DimEspejo'[Prod] )))
var Edate= SELECTEDVALUE('Estructuras'[Fecha])
var maxComDate = CALCULATE ( MAX ( 'Compras'[Fecha] ), Compras[KeyProducto] =kprod, 'Compras'[Fecha] <=Edate) 
RETURN 
CALCULATE ( MAX ( 'Compras'[Unit]), Compras[KeyProducto]= kprod, 'Compras'[Fecha] = maxComDate) 

Saludos

Rena

View solution in original post

Highlighted
Helper I
Helper I

Re: Precio de compra basado en la fecha de línea relacionada

Hola ! He modificado las relaciones de las tablas y la medida que me ha proporcionado funcionó a la perfección les comparto el modelo con las medidas sugeridas ya implementadas.

 

https://1drv.ms/u/s!Aux4yKXbJDBchD_YJvKc8P-JOb2p?e=m5cavq 

 

image.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

View solution in original post

9 REPLIES 9
Highlighted
Super User VII
Super User VII

Re: Precio de compra basado en la fecha de la línea relacionada

@RubenIdx puede pegar los datos de muestra en lugar de las imágenes.






Did I answer your question? Mark my post as a solution.

Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.





Super User VII
Super User VII

Re: Precio de compra basado en la fecha de la línea relacionada

@RubenIdx probar esta medida, puede ajustarla según sus necesidades. En un escenario como este tener dimensión de producto que enlace tanto a la compra como al precio va a ser el mejor diseño.

Production Value = 
VAR __p = SELECTEDVALUE ( Production[Id] )
VAR __d = SELECTEDVALUE ( Production[Date] )
RETURN 
CALCULATE ( MAX ( Purchase[Rate] ), Purchase[Id] = __p, Purchase[Date] <= __d ) * SUM ( Production[Prod] )






Did I answer your question? Mark my post as a solution.

Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.





Highlighted
Helper I
Helper I

Re: Precio de compra basado en la fecha de la línea relacionada

Gracias! anexo vinculo de descarga para el modelo.

https://1drv.ms/u/s!Aux4yKXbJDBchD5Ck4jQKVhSPFMq?e=0zqfN5 

Highlighted
Super User VII
Super User VII

Re: Precio de compra basado en la fecha de la línea relacionada

@RubenIdx probar esta medida

Production Value = 
VAR __p = SELECTEDVALUE ( Production[Id] )
VAR __d = SELECTEDVALUE ( Production[Date] )
VAR __maxPurchaseDate = CALCULATE ( MAX ( Purchase[Date] ), Purchase[Id] = __p, Purchase[Date] <= __d ) 
RETURN 
CALCULATE ( MAX ( Purchase[Rate] ), Purchase[Id] = __p, Purchase[Date] = __maxPurchaseDate ) * SUM ( Production[Prod] )





Did I answer your question? Mark my post as a solution.

Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.





Highlighted
Helper I
Helper I

Re: Precio de compra basado en la fecha de la línea relacionada

He probado la medida y al momento de escribirla no me marca errores sin embargo al agregarla a mi visulización me envia este mensaje

 

Error Message:
MdxScript(Model) (8, 93) Error de cálculo en la medida 'Estructuras'[Ult CompraFe]: Las operaciones de comparación DAX no admiten valores de comparación de tipo Text con valores de tipo Date. Considere la posibilidad de usar la función VALUE o FORMAT para convertir uno de los valores.

 

 

He revisado mis tablas y las columnas de fecha si están como fecha.

Highlighted
Super User VII
Super User VII

Re: Precio de compra basado en la fecha de línea relacionada

@RubenIdx en algún lugar los datos no son correctos, compruebe el tipo de datos de todas las columnas relacionadas utilizadas en esta medida. No puedo decir desde aquí dónde está el problema, pero sin duda es un problema de tipo de datos.






Did I answer your question? Mark my post as a solution.

Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.





View solution in original post

Highlighted
Microsoft
Microsoft

Re: Precio de compra basado en la fecha de línea relacionada

Hola @RubenIdx ,

Por favor, intente actualizar la fórmula como se muestra a continuación:

Ult CompraFe=
var kprod = CALCULATE(MAX('BDimensiones'[Kprod]), FILTER('BDimensiones','BDimensiones'[Prod]=SELECTEDVALUE ('DimEspejo'[Prod] )))
var Edate= SELECTEDVALUE('Estructuras'[Fecha])
var maxComDate = CALCULATE ( MAX ( 'Compras'[Fecha] ), Compras[KeyProducto] =kprod, 'Compras'[Fecha] <=Edate) 
RETURN 
CALCULATE ( MAX ( 'Compras'[Unit]), Compras[KeyProducto]= kprod, 'Compras'[Fecha] = maxComDate) 

Saludos

Rena

View solution in original post

Highlighted
Helper I
Helper I

Re: Precio de compra basado en la fecha de línea relacionada

Hola ! He modificado las relaciones de las tablas y la medida que me ha proporcionado funcionó a la perfección les comparto el modelo con las medidas sugeridas ya implementadas.

 

https://1drv.ms/u/s!Aux4yKXbJDBchD_YJvKc8P-JOb2p?e=m5cavq 

 

image.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

View solution in original post

Highlighted
Microsoft
Microsoft

Re: Precio de compra basado en la fecha de línea relacionada

Hola @RubenIdx ,

Si el problema se ha resuelto, ¿podría marcar el post útil como Respondido? Ayudará a otros miembros de la comunidad a encontrar la solución fácilmente si se enfrentan al problema similar con usted. Gracias.

Saludos

Rena

Helpful resources

Announcements
Get Ready for Power BI Dev Camp

Get Ready for Power BI Dev Camp

Don't miss the Power BI Dev Camp this week!

August Community Highlights

Check out a full recap of the month!

August 2020 CYST Challenge

Check out the winners of the recent 'Can You Solve These?' community challenge!

Experience what’s next for Power BI

Join us for an in-depth look at the new Power BI features and capabilities at the free Microsoft Business Applications Launch Event.