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

Unión de documentos .QVW

Hola a todos! tal como lo indica el título, quiero hacer una unión entre entre 3 documentos qlikview que tengo.

Supongamos que la empresa tiene 3 sucursales y tengo 1 documento para cada sucursal, ya que tengo 3 bases de datos en SQL.

Cada documento contiene exactamente lo mismo, las mismas tablas, los mismos campos, etc. Lo único que cambia son los datos obviamente. Ahora bien, como hago para unir toda  esta información de manera tal pueda crear un 4to. documento con los movimientos de la empresa en su conjunto???.

Ejemplo a pequeña escala:

Sucursal 1:

Clientes:

LOAD

Id_Cliente,

Nombre,

Activo

from ....

Ventas:

LOAD

Id_Ventas,

Cantidad,

Precio,

from...

Artículos:

LOAD

Id_Ventas,

Id_Articulo,

Nombre_Articulo,

from...

Vendedores:

LOAD

Id_Vendedor,

Id_Ventas,

Id_Cliente,

Nombre_Vendedor,

from....

Sucursal 2:

Clientes:

LOAD

Id_Cliente,

Nombre,

Activo

from ....

Ventas:

LOAD

Id_Ventas,

Cantidad,

Precio,

from...

Artículos:

LOAD

Id_Ventas,

Id_Articulo,

Nombre_Articulo,

from...

Vendedores:

LOAD

Id_Vendedor,

Id_Ventas,

Id_Cliente,

Nombre_Vendedor,

from....

Sucursal 3:

Clientes:

LOAD

Id_Cliente,

Nombre,

Activo

from ....

Ventas:

LOAD

Id_Ventas,

Cantidad,

Precio,

from...

Artículos:

LOAD

Id_Ventas,

Id_Articulo,

Nombre_Articulo,

from...

Vendedores:

LOAD

Id_Vendedor,

Id_Ventas,

Id_Cliente,

Nombre_Vendedor,

from....

*******************************

Las tablas en las 3 sucursales son idénticas. Como las unifico para ver todo en un mismo documento?

puedo crear una tabla "Sucursales" para elegir los datos de qué sucursal quiero ver?

Gracias desde ya...

2 Replies
ecolomer
Master II
Master II

Dos opciones:

a) Generar el 4º documento leyendo las 3 bases de datos concatenando cada tabla para que sea cada una de ellas la misma como suma de las tres

Sería así:

Clientes:

// ---- Sucursal 1

LOAD

Id_Cliente,

Nombre,

Activo

from ....

//--- Sucursal 2

Clientes:

LOAD

Id_Cliente,

Nombre,

Activo

from ....

//--- Sucursal 3

Clientes:

LOAD

Id_Cliente,

Nombre,

Activo

from ....

Si los nombres son iguales QV generará una sóla tabla de clientes que será la agregación de las tres. Si no fueran exactamente iguales debes utilizar la sentencia CONCATENATE

Y así sucesivamente con todas las tablas.

b) Generar un fichero QV partiendo del 1º que en su carga lea el 2º (debe ser la primera sentencia). Ahora tendremos 2 sucursales juntas. repetir el proceso partiendo del tercero, leyendo el fichero QV generado anteriormente. Como la carga de un fichero QV ya generado es muy rápida, esta opción suele ser mucho mas veloz.

Aquí tienes un ejemplo de como cargar un fichero QV en otro. Recuerda que debe ser la primera sentencia.

p03.png

ssanchez
Partner - Contributor III
Partner - Contributor III

Hola Walterlh:

Puedes crear un campo 'Sucursal' en la tabla de hechos (Ventas) de forma que se rellene de forma única en cada documento. Al unir las tablas permitiría al usuario seleccionar la sucursal y por tanto los datos exclusivos de esa sucursal o todas ellas para consolidar datos:

    

Ventas1:

     'Sucursal 1'     as Sucursal,

     ...

Si además generas archivos QVD de cada tabla que se una al modelo puedes concatenarlas en el cuarto documento con una carga muy rápida y un script sencillo:

En cada documento original:    

store Ventas1 into Ventas1.qvd (qvd);

En el cuarto documento:

     Ventas:

     Load * from Ventas1.qvd (qvd);

     concatenate (Ventas) load * from Ventas2.qvd (qvd);

     concatenate (Ventas) load * from Ventas3.qvd (qvd);

En cuanto al diseño del cuarto documento puede ser idéntico a los anteriores porque el modelo de datos no cambia sólo se añade un campo adicional que permite al usuario seleccionar la sucursal.

Espero que te sea útil.

Un saludo