Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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.
Vale, pero con eso me conectaría a la primera base de datos. Hasta ahí todo controlado.
Ahora bien, para conectarme a la segunda base de datos, ¿consiste solo en repetir operación? Quiero decir: le doy a Conectar y a partir de ahí hago Select? Qué pasa con la primera? Seguiría estando conectado o solo hay una conexión activa a la vez? Si sigo conectado, puedo recuperar datos de ambas bases de datos? Como distinto los datos de una y los de otras si las tablas de ambas se llaman igual?
Puedes tener todas las conexiones a BD distintas que quieras.
Tendrías que hacer una nueva conexión en orígenes de datos que apunte al nuevo servidor y con el nuevo user y pass.
Y así ya podrías conectar desde el script y seleccionar las tablas.
Por otra parte, si las tablas se llaman igual, deberías hacer un JOIN, para crear una única tabla.
Un saludo.
Vale perfecto. Y solo una cosa más: cómo puedo distinguir entra las conexiones? Se le pone un alias o algo así? Me explico:
- Tengo una conexión a BD1. BD1 tiene una tabla T1, que tiene una columna llamada Año.
- Tengo otra conexión a BD2. BD2 tiene una tabla T1, que tiene una columna llamada Año.
¿Cómo podría indicar que quiero coger el campo Año de T2 y no el de T1? ¿Es posible?
Muchas gracias por tu ayuda.
Por lo que comentas, que las 2 BD son iguales, deberías de unir sus campos con JOIN, para que por ejemplo, el campo Año de una BD y de la otra, sean el mismo y así para todos los campos, para así poder filtrar o comparar entre distintas fechas.
Podrías comparar fechas con "Set Analysis", como el ejemplo que ha puesto Gustavo o en el propio foro hay muchos más ejemplos.
Un saludo.
Ok, muchas gracias por tu ayuda Alexis!!
Aquí estamos para ayudarnos.
Un placer.