Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
antoniovilla
Contributor
Contributor

Vincular dos tablas por fecha

Tengo 2 tablas de Hechos: Envíos y Facturas.

En la tabla Envíos, muestra claves de producto y cantidades enviadas, por Año y Mes

En la tabla Facturas, muestra claves de producto y cantidades facturadas, por Año y Mes.

 

El tema es, las claves de producto de la tabla ENVÍOS, NO son iguales a las claves de producto de la tabla FACTURAS, pero SÍ corresponden las de ENVÍOS a FACTURADAS y viceversa, por ejemplo:

De la tabla ENVIOS, la clave 80, corresponde a las claves 1 y 2 de la tabla FACTURAS;

De la tabla ENVIOS, las claves 320 y 321, corresponden a la clave 242 de la tabla FACTURAS.

Motivo por el cual hice una tabla intermedia, cargando un template, donde se vea la correspondecia de claves en ambas tablas. Ya vinculé ambas tablas: ENVÍOS y FACTURAS, con la tabla intermedia. Pero me hace falta vincular fechas, para que en cuanto seleccione un año y mes, afecte a ambas tablas. Porque por ahora, la fecha (Año y Mes), se encuentran por separado y con diferente nombre para no crear una llave sintética. En la tabla ENVÍOS los campos se llaman (Año, Mes) y en la tabla Facturas (Facturas.Año, Facturas.Mes). Lo que necesito es únicamente dejar un campo de Año y uno solo de Mes, pero que afecten a ambas tablas. Gracias 

Labels (8)
1 Reply
ignacioroman
Contributor II
Contributor II

tienes 2 opciones.

1 Hacer un join: cargas la tabla facturas, le haces un left join con la tabla intermedia y luego un left join con la tabla envíos (para esto, los campos mes y año deben ser iguales en la tabla envíos y factura y clave factura y clave envíos debe llamarse igual en las 3 tablas). Esto es entendiendo que las claves son únicas (un ID). Ahora, si la "clave" es una característica que se puede repetir (por ejemplo, 2 facturas diferentes, del mismo mes, mismo año y misma clave de producto) debes pasar a la solución 2.

Con esto, te va a quedar una base de datos así:

Año - Mes - Clave factura - Clave envío

 

2 Hacer un concatenado:  cargas la primera tabla (supongamos "Facturas"), abajo pones left join y cargas la tabla intermedia (el campo "Clave factura" debe tener el mismo nombre en ambas tablas). Abajo pones "concatenate", y cargas la segunda tabla y luego un left join a la tabla intermedia nuevamente (el campo "Clave envío" debe tener el mismo nombre en ambas). Los campos "año" y "mes" deben tener el mismo nombre, y los campos "clave", deben tener distinto nombre ("clave envío" y "clave factura" por ejemplo).

Con esto te quedará una tabla igual a la de arriba, que tendrá la información de las 2 tablas (puedes agregarle un campo que se llame por ejemplo "Tipo de movimiento" y al primero le pones "Factura" y al segundo "envío"

Saludos.