Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Cómo obtener datos de 2 BD

Buenas a tod@s,

Necesito hacer una comparativa del presupuesto de gastos entre distintos años. Para ello, necesito recuperar datos de diferentes bases de datos, una por cada año, aunque todas son similares en cuanto a columnas, tipos de datos, etc.

¿Cómo podría hacer esto? No sé bien la forma correcta de conectarme a diferentes bases de datos, ni tampoco cómo podría luego diferenciar entre el datos de la tabla1 y el de la tabla2. ¿Alguna ayuda?

Muchas gracias

1 Solution

Accepted Solutions
alexis_garcia
Creator II
Creator II

Ahhh, vale.

En principio depende de "orígenes de datos" donde están los controladores ODBC o OLE DB dependiendo de la BD a la que te conectes, en Inicio, busca "Orígenes de datos" y configura "DNS de Sistema" con el servidor donde está alojada la BD y user y pass; Prueba la conexión.

Una vez ya validado lo anterior, en el script de Qlikview, en "Conectar" se crea la conexión a la BD que has creado antes el enlace.

Y una vez conectado, le das a "Select" y puedes seleccionar las tablas que deseas.

Un saludo.

View solution in original post

16 Replies
gartigas
Contributor II
Contributor II

Hola Miguel,

Asumo que en cada una de las tablas no dispones del campo "Fecha" o bien "Año".

Si es así...

Yo comenzaría agregando en el script de carga (de cada tabla) por ejemplo:

Load  2014 as año,

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

Esto lo haría en cada tabla, con su correspondiente valor para el año.

Si las tablas son identicas, se van a concatenar automáticamente.

luego ya tienes los datos cargado, con el agregado del campo "año".

Por favor,,, si esto no se ajusta a lo que necesitas... aclara mejor los datos que tienes.

saludos.gustavo

Not applicable
Author

Hola Gustavo,

Gracias por tu respuesta, pero creo que no me he explicado bien antes. Intentaré ser algo más concreto.

Tengo que conectarme a una BD. En esa base de datos, tengo una tabla que contiene un campo Año (2014 por ejemplo), otro Presupuesto, otro Ingresos y otro Gastos. Con esos datos, hago una gráfica de barras en la que se muestren esas 3 últimas columnas como expresiones, siendo la dimensión el año.

Ahora tengo otra BD, exactamente igual que la anterior, a la que también me tengo que conectar. Y de ahí recuperaré de nuevo una tabla idéntica a la del caso anterior, con la única diferencia es que el año será 2013, y por supuesto los valores del resto de columnas serán diferentes. La idea es mostrar en la gráfica los datos de 2013 vs los de 2014.

Soy muy nuevo en esto de QlikView, y aunque pueda parecer obvio, no sé bien cómo se hace para conectarme a 2 bases de datos distintas, y para obtener luego datos de ambas.

Espero que ahora me haya explicado mejor.

Gracias.

alexis_garcia
Creator II
Creator II

Hola Migue Angel,

yo veo dos posibles soluciones:

1º opción: Renombrar los campos de Fechas de cada BD con el mismo nombre ( Año, Mes, Dia, Hora, Minutos ), así se uniría y podrías usar esa fecha como dimensión para representar todos los años.

2º opción: Añadir un "Calendario Maestro" para unir las fechas.( Ponlo en el buscador que hay varios ejemplos ).

Un saludo.

Not applicable
Author

A ver, creo que no me estoy explicando bien, o que le he dado más vueltas de la cuenta. Lo que necesito es:

1) Conectarme a una Base de Datos A, y obtener una serie de datos --> HECHO

2) Conectarme a una Base de Datos B, y obtener una serie de datos --> Necesito Ayuda

3) Mezclar en una misma gráfica datos de A y B

Saludos,

alexis_garcia
Creator II
Creator II

Claro, como te comento, los datos de las 2 BD tendrás que unirlos de alguna forma.

Por lo que te propongo que unas Fecha y Hora ( BD1 ) con Fecha y Hora ( BD2 ) poniéndoles el mismo a los campos de fecha y hora, con lo que así, si haces unas gráfica puedes utilizar fecha y hora y poner cualquiera de las 2 expresiones de cualquier BD.

Un saludo.

gartigas
Contributor II
Contributor II

Hola Miguel;

Para ver si entendí mejor...

Necesitarías algo así?

En este caso... estoy sumando llamadas "Ingresadas"...

Aplico el Set Analysis...

Ambas expresiones son:

=Sum ({$<Año={2013}>}[Total Llam.])

=Sum ({$<Año={2014}>}[Total Llam.])

Por supuesto que ambas DB son idénticas... y utilizo en la dimensión el campo "Mes"

Es mas o menos esto lo que necesitas...?

saludos.gustavo

Not applicable
Author

Hola Gustavo,

Si, más o menos eso es lo que quiero sacar. Pero mi duda venía mucho antes de la representación, y es a nivel de script, sobre cómo conectarme a dos BD distintas y recuperar datos de ambas

alexis_garcia
Creator II
Creator II

Hola Miguel Angel,

has probado lo que te comenté? Entiendes lo que te digo de unir las fechas y horas de las 2 BD ?

Así podrás usarlas como dimensiones en cualquier gráfica y hacer las comparaciones que comentas.

O utilizarlas en "Set Análisis".

Un saludo.

Not applicable
Author

Hola Alexis,

A ver, lo de unir los datos no es un problema, porque además las columnas se llaman exactamente igual, así que puedo concatenar ambas tablas y sacar los datos. Lo que necesito saber es cómo poner en el script que se conecte a una base de datos, sacar de ahí los campos que necesite, y luego conectarme luego a otra base de datos distinta, y sacar de nuevo los campos que necesite