Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
walterlh
Creator II
Creator II

Unificar fechas de distintas tablas

Hola a todos. Estoy trabajando en unas consultas que requieren comparar dos parámetros que utilizan diferentes fechas pero están ligadas una a otra por su naturaleza. Tengo 3 tablas similares a las siguientes:

productos:

LOAD

    id_producto,

     producto,

     fecha_cotizacion,

     precio

SQL Select *

FROM productos;


materia_prima:

LOAD

     id_materia_prima,

     materia_prima

     fecha_cotizacion,

     precio

SQL Select *

FROM materia_prima;


materia_prima_productos:

LOAD

     id_materia_prima_producto,

     id_materia_prima,

     id_producto

SQL Select *

FROM materia_prima_productos;

Lo que deseo hacer es un gráfico de lineas donde pueda poner dos ejes verticales (y) con los precios y uno horizontal (x ) donde pueda poner una escala de meses en común para mostrar la evolución o variación del precio de los productos y las materias primas relacionadas. La idea es comparar que cuando el precio de la materia prima varía considerablemente, el precio del producto lo debe hacer en una proporción similar.

Alguien me puede dar una mano?

Las relaciones de las tablas productos y materia_prima se da por la tabla materia_prima_productos. Por lo cual hacer un calendario maestro me crea un conflicto de relaciones circulares.

Gracias de antemano.


Una idea del gráfico que quiero hacer:

Captura.PNG

4 Replies
isorinrusu
Partner - Creator III
Partner - Creator III

Hola Marcelo,

Creo que lo podrías solucionar de la siguiente manera:

productos_y_mmpp:

LOAD

    id_producto,

    producto,

    fecha_cotizacion

SQL Select *

FROM productos;

Left join(productos_y_mmpp)

materia_prima_productos:

LOAD

    id_materia_prima_producto,

    id_materia_prima,

    id_producto

SQL Select *

FROM materia_prima_productos;

mmpp:

LOAD

    id_materia_prima,

    materia_prima

    fecha_cotizacion

SQL Select *

FROM materia_prima;


Left join(mmpp)

materia_prima_productos:

LOAD

    id_materia_prima_producto,

    id_materia_prima,

    id_producto

SQL Select *

FROM materia_prima_productos;

Concatenate(productos_y_mmpp)

Load * Resident mmpp;


Drop Table mmpp;


mmpp_precio:

LOAD

    id_materia_prima,

    precio                    as "precio mmpp"

SQL Select *

FROM materia_prima;


productos_precio:

LOAD

    id_producto,

    precio          as "precio producto"

SQL Select *

FROM productos;

Lo resultante son 3 tablas: una donde tienes los productos y materias primas, y otras dos con los precios de una y de otra. Entonces, en un gráfico ya puedes utilizar la fecha_cotización (que ahora es común), y usar dos expresiones: sum("precio mmpp") y sum("precio producto")

Esa es la idea, no sé si me habré equivocado en algún punto al hacerlo a ciegas.

Saludos,

Sorin.

walterlh
Creator II
Creator II
Author

Hola isorinrusu‌ante todo gracias por tomarte el tiempo de ayudarme. Estuve probando la idea que propones pero no he tenido buenos resultados. Principalmente porque los datos que devuelve son incorrectos, como que la relación que se crea entre las tablas no sería la correcta.

isorinrusu
Partner - Creator III
Partner - Creator III

Hola Marcelo,

¿Me puedes enviar un pantallazo de la tabla resultante?

walterlh
Creator II
Creator II
Author

Te paso una captura de como quedó y adjunto el QVW si quieres echarle un vistaso más fácil de entender.

Capturaw.PNG