Qlik Community

Ask a Question

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
Become an analytics expert with Qlik's new 15 week course: Applied Data Analytics using Qlik Sense. READ MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
airobles
Contributor II
Contributor II

Como cargar dos Tablas al mismo QVD

Hola Todos, espero me puedan ayudar.

Debido a una migración que tuve de un BasedeDatos, tengo que accesar a dos ODBC con la misma tabla, estas debo unirlas en un mismo QVD, para después realizar un LOAD y manejar los datos, anexo script que realizo.

// Conexión primera tabla hacia archivo TABLA_GENERAL_CDRS.QVD

ODBC CONNECT TO RAORED;

TABLA_GENERAL_CDRS:

QUALIFY *;

SQL SELECT CENTRAL,

    FECHA,

    HORA,

    MID(FECHA,1,4) AS AÑO,

    MID(FECHA,5,2) AS MES,

    MID(FECHA,7,2) AS DIA,

    RECORDTYPE,

    REGISTROS

FROM RAORED.`tabcon_cdrs_sum`;

UNQUALIFY *;

STORE TABLA_GENERAL_CDRS INTO TABLA_GENERAL_CDRS.QVD;

DROP TABLE TABLA_GENERAL_CDRS;

// Conexión segunda tabla hacia mismo archivo TABLA_GENERAL_CDRS.QVD

ODBC CONNECT TO RAOREDNEW;

TABLA_GENERAL_CDRS:

QUALIFY *;

SQL SELECT CENTRAL,

    FECHA,

    HORA,

    MID(FECHA,1,4) AS AÑO,

    MID(FECHA,5,2) AS MES,

    MID(FECHA,7,2) AS DIA,

    RECORDTYPE,

    REGISTROS

FROM RAORED.`tabcon_cdrs_sum`;

UNQUALIFY *;

STORE TABLA_GENERAL_CDRS INTO TABLA_GENERAL_CDRS.QVD;

DROP TABLE TABLA_GENERAL_CDRS;

/// La segunda carga elimina todo el registro de la primera, necesito la información de ambas para proceder con el LOAD

1 Solution

Accepted Solutions
Not applicable

Tendras un screenshot del mensaje de error o la aplicacion test para probarlo?

Para ser mas pulcro en la parte del codigo puedes hacer esto:

TABLA_GENERAL_CDRS_LOAD:

QUALIFY *;

UNQUALIFY PERIODO, MES;

LOAD

    FECHA,

     AÑO,

     MES,

     DIA,

     HORA,

     MAKEDATE(AÑO,MES,DIA)                           AS      PERIODO, 

     WEEKDAY(MAKEDATE(AÑO,MES,DIA))      AS      DIA_SEMANA,

     WEEK(MAKEDATE(AÑO,MES,DIA))              AS      SEMANA,

     CENTRAL,

     RECORDTYPE,

     REGISTROS

FROM

D:\Revenue\Personal\TABLA_GENERAL_CDRS.QVD

(qvd);

UNQUALIFY *;

Saludos!

View solution in original post

5 Replies
Not applicable

Antes de la segunda tabla usa concatenate y comenta las lineas de store ,qualify y drop de la primera:

// Conexión primera tabla hacia archivo TABLA_GENERAL_CDRS.QVD

ODBC CONNECT TO RAORED;

TABLA_GENERAL_CDRS:

//QUALIFY *;

SQL SELECT CENTRAL,

    FECHA,

    HORA,

    MID(FECHA,1,4) AS AÑO,

    MID(FECHA,5,2) AS MES,

    MID(FECHA,7,2) AS DIA,

    RECORDTYPE,

    REGISTROS

FROM RAORED.`tabcon_cdrs_sum`;

UNQUALIFY *;

//STORE TABLA_GENERAL_CDRS INTO TABLA_GENERAL_CDRS.QVD;

//DROP TABLE TABLA_GENERAL_CDRS;

// Conexión segunda tabla hacia mismo archivo TABLA_GENERAL_CDRS.QVD

ODBC CONNECT TO RAOREDNEW;

//TABLA_GENERAL_CDRS:

//QUALIFY *;

Concatenate (TABLA_GENERAL_CDRS)

SQL SELECT CENTRAL,

    FECHA,

    HORA,

    MID(FECHA,1,4) AS AÑO,

    MID(FECHA,5,2) AS MES,

    MID(FECHA,7,2) AS DIA,

    RECORDTYPE,

    REGISTROS

FROM RAORED.`tabcon_cdrs_sum`;

//UNQUALIFY *;

STORE TABLA_GENERAL_CDRS INTO TABLA_GENERAL_CDRS.QVD;

DROP TABLE TABLA_GENERAL_CDRS;

airobles
Contributor II
Contributor II
Author

Gracias Raul,

la union de ambas tablas al  QVD la realiza correctamente,pero después hago un LOAD para relacionar muchas tablas en base a Periodo ( fecha ) y mes , esta ya no reconoce los campos

TABLA_GENERAL_CDRS_LOAD:

QUALIFY *;

UNQUALIFY PERIODO, MES;

LOAD  TABLA_GENERAL_CDRS.FECHA,

     TABLA_GENERAL_CDRS.AÑO,

     TABLA_GENERAL_CDRS.MES AS MES,

     TABLA_GENERAL_CDRS.DIA,

     TABLA_GENERAL_CDRS.HORA,

     MAKEDATE(TABLA_GENERAL_CDRS.AÑO,TABLA_GENERAL_CDRS.MES,TABLA_GENERAL_CDRS.DIA) AS PERIODO,

     WEEKDAY(MAKEDATE(TABLA_GENERAL_CDRS.AÑO,TABLA_GENERAL_CDRS.MES,TABLA_GENERAL_CDRS.DIA)) AS DIA_SEMANA,

     WEEK(MAKEDATE(TABLA_GENERAL_CDRS.AÑO,TABLA_GENERAL_CDRS.MES,TABLA_GENERAL_CDRS.DIA)) AS SEMANA,

     TABLA_GENERAL_CDRS.CENTRAL, 

     TABLA_GENERAL_CDRS.RECORDTYPE,

     TABLA_GENERAL_CDRS.REGISTROS

FROM

D:\Revenue\Personal\TABLA_GENERAL_CDRS.QVD

(qvd);

UNQUALIFY *;

Not applicable

Tendras un screenshot del mensaje de error o la aplicacion test para probarlo?

Para ser mas pulcro en la parte del codigo puedes hacer esto:

TABLA_GENERAL_CDRS_LOAD:

QUALIFY *;

UNQUALIFY PERIODO, MES;

LOAD

    FECHA,

     AÑO,

     MES,

     DIA,

     HORA,

     MAKEDATE(AÑO,MES,DIA)                           AS      PERIODO, 

     WEEKDAY(MAKEDATE(AÑO,MES,DIA))      AS      DIA_SEMANA,

     WEEK(MAKEDATE(AÑO,MES,DIA))              AS      SEMANA,

     CENTRAL,

     RECORDTYPE,

     REGISTROS

FROM

D:\Revenue\Personal\TABLA_GENERAL_CDRS.QVD

(qvd);

UNQUALIFY *;

Saludos!

View solution in original post

airobles
Contributor II
Contributor II
Author

Gracias Raul,

Al eliminar el nombre de la Tabla,  cargó la información correctamente, el LOAD lo tenía así porque cargaba varias tablas y load con campos similares para poder identificarlas.

Saludos

Not applicable

De nada Alejandro!.

Recuerda marcar como contestada la pregunta dando clic en "Correct answer"

Saludos!

RAMZ