Skip to main content
Announcements
NEW Customer Portal: Initial launch will improve how you submit Support Cases. FIND OUT MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Problemas con tablas en script

Buenos días,

     Tengo el siguiente problema, tengo datos repartidos en bases de datos diferentes por lo tanto tengo que cargarlos y luego vincularlos para lo que necesito. El conseguir los datos de diferentes bd en principio lo consigo haciendo las diferentes conexiones con el conector odbc para cada bd.

     El problema es al vincularlos luego, que me pasa algo que no entiendo. Pongamos que tengo mi tabla1(bd1), mi tabla2(bd2)

   tabla1:

      ID,dato1,dato2, dato3,etc.

    tabla2:

        ID,dato4,dato5,dato6,etc

  Luego quiero vincular ambas tablas cargando datos de una y haciendo el join que necesite con ellas

  TablaAux:

    load ID

    resident  tabla1;

   TablaFinal:

   join(TablaAux)

   load sum(dato4) as suma,ID,dato5

   resident tabla2

   group by ID,dato5;

 

   Pero el problema que tengo es que no se me crea ni la TablaAux (cuando consulto el visor de tablas al final de la carga del script), y no entiendo porque, cuando lo que hago es un simple load, para luego vincularlo con la información que necesito de la otra bd. ¿Alguien tiene alguna sugerencia de que puede fallar?

Muchas gracias de antemano

Un saludo

4 Replies
sorrakis01
Specialist
Specialist

Hola JOnay,

Prueba esto

TablaFinal:

   load sum(dato4) as suma,ID,dato5

   resident tabla2

   group by ID,dato5;

Join

TablaAux:

    load ID

    resident  tabla1;

Adáptalo a tus datos

Saludos,

Anonymous
Not applicable
Author

Buenas Jordi,

     Parece que de esta manera si funciona....pero no entiendo la lógica que tiene el qlikview.....porque en teoria de la otra forma tambien deberia hacerlo....¿conoces porque funciona esto así?

Un saludo

sorrakis01
Specialist
Specialist

Hola Jonay,

Quizás las tablas 1 y 2 te está haciendo un Join por defecto (dependiendo de los valolres) para ello pon NoConcatenate

ejemplo:

tabla1:

      ID,dato1,dato2, dato3,etc.

Noconcatenate

    tabla2:

        ID,dato4,dato5,dato6,etc

    TablaAux:

    load ID

    resident  tabla1;

   TablaFinal:

   join(TablaAux)

   load sum(dato4) as suma,ID,dato5

   resident tabla2

   group by ID,dato5;

Saludos,

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola Jonay:

Para ver la TablaAux tienes que hacer lo siquiente

Tabla1:

LOAD

     ID,dato1,dato2, dato3,etc.

Tabla2:

LOAD

        ID,dato4,dato5,dato6,etc

TablaAux:

Noconcatenate

Load *

resident  tabla1;

En algún punto a partir de aquí has de hacer un Drop Table Tabla1 para evitar la sintética.

Saludos

Joaquín