Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
andre_tonini
Creator II
Creator II

Load no Postgresql

Pessoal,

       O banco de dados foi alterado, de Firebird para Postgresql porém estou revendo os cenários para adequação mas fiquei na duvida pois utilizo no LOAD*, o calendário mas não funciona o Load*, no postgresql - alguem sabe como resolver?

       

ODBC CONNECT TO PostgreSQL30;

// ------- Viagem --------- //

LOAD *,

    YEAR(DT_EMISSAO) AS ANO_FAT,

    MONTH(DT_EMISSAO) AS MES_FAT,    

    DAY(DT_EMISSAO) AS DIA_FAT,

    DATE(DT_EMISSAO) AS DATA_FAT;

       

SQL SELECT

A.NR_VIAGEM,

A.NR_VIAGEM_SEQ,

A.CD_VEICULO,

A.CD_MOTORISTA,

A.DT_SAIDA,

A.DT_RETORNO,

A.KM_SAIDA,

A.KM_RETORNO,

A.MM_OBSERVACAO,

A.FL_BLOQUEADA,

A.HM_SAIDA,

A.HM_RETORNO,

B.NM_MOTORISTA,

C.NR_ORDEM,

C.PC_COMISSAO,

C.VL_BASE_COMISSAO,

C.VL_COMISSAO,

D.CD_SITUACAO,

D.VL_TOTAL AS VL_FRETE,

D.CD_LOC_COLETA AS LOCAL_COLETA,

D.CD_LOC_EMISSAO,

D.CD_LOC_ENTREGA AS LOCAL_CHEGADA,

D.QT_PESO_FRETE,

D.CD_NATCARGA,

D.DT_EMISSAO,

D.NR_CONHEC AS NR_CONHEC_VIAG,

D.SR_CONHEC AS SR_CONHEC_VIAG

FROM VIAGEM A LEFT JOIN MOTORISTA B ON

              A.CD_MOTORISTA = B.CD_MOTORISTA

             

              LEFT OUTER JOIN CONHECTOVM C ON

              A.NR_VIAGEM = C.NR_VIAGEM AND

              A.NR_VIAGEM_SEQ = C.NR_VIAGEM_SEQ

             

              LEFT OUTER JOIN CONHECTO D ON

              C.NR_ORDEM = D.NR_ORDEM   

                                    

WHERE D.DT_EMISSAO > '31.12.2009' AND D.CD_SITUACAO <> '3';

Labels (1)
16 Replies
Thiago_Justen_
MVP
MVP

Uma pergunta (pode até ser idiota), mas esse campo DT.DT_EMISSAO existe na base mesmo?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
andre_tonini
Creator II
Creator II
Author

Oi Thiago...Sim esse campo DT_EMISSAO existe, inclusive se eu não colocar o LOAD ele trás esse campo do banco.

Att

André Tonini

Thiago_Justen_
MVP
MVP

Sendo assim, faça um teste:

VIAGEM_TEMP:

SQL SELECT

A.NR_VIAGEM,

A.NR_VIAGEM_SEQ,

A.CD_VEICULO,

A.CD_MOTORISTA,

A.DT_SAIDA,

A.DT_RETORNO,

A.KM_SAIDA,

A.KM_RETORNO,

A.MM_OBSERVACAO,

A.FL_BLOQUEADA,

A.HM_SAIDA,

A.HM_RETORNO,

B.NM_MOTORISTA,

C.NR_ORDEM,

C.PC_COMISSAO,

C.VL_BASE_COMISSAO,

C.VL_COMISSAO,

D.CD_SITUACAO,

D.VL_TOTAL AS VL_FRETE,

D.CD_LOC_COLETA AS LOCAL_COLETA,

D.CD_LOC_EMISSAO,

D.CD_LOC_ENTREGA AS LOCAL_CHEGADA,

D.QT_PESO_FRETE,

D.CD_NATCARGA,

D.DT_EMISSAO,

D.NR_CONHEC AS NR_CONHEC_VIAG,

D.SR_CONHEC AS SR_CONHEC_VIAG

FROM VIAGEM A LEFT JOIN MOTORISTA B ON

              A.CD_MOTORISTA = B.CD_MOTORISTA

          

              LEFT OUTER JOIN CONHECTOVM C ON

              A.NR_VIAGEM = C.NR_VIAGEM AND

              A.NR_VIAGEM_SEQ = C.NR_VIAGEM_SEQ

          

              LEFT OUTER JOIN CONHECTO D ON

              C.NR_ORDEM = D.NR_ORDEM

                                  

WHERE D.DT_EMISSAO > '31.12.2009' AND D.CD_SITUACAO <> '3';

VIAGEM:

LOAD

    *,

    YEAR(DT_EMISSAO) AS ANO_FAT,

    MONTH(DT_EMISSAO) AS MES_FAT,   

    DAY(DT_EMISSAO) AS DIA_FAT,

    DATE(DT_EMISSAO) AS DATA_FAT

Resident VIAGEM_TEMP;

DROP TABLE VIAGEM_TEMP;

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
andre_tonini
Creator II
Creator II
Author

Olá Thiago, bom dia.

         Então fiz o teste e retornou o erro como segue ilustração.

1.png

att,

André Tonini

Ricardo_Gerhard
Employee
Employee

Bom dia Andre,

   Faça a carga como comentado com SQL Select e depois o load residente com o nome do campo carregado.

   Talvez ele esteja sendo carregado como D.DT_EMISSAO

Ricardo Gerhard
OEM Solution Architect
LATAM
andre_tonini
Creator II
Creator II
Author

Olá Ricardo,

         Muito obrigado era isso mesmo, o que acontece é que o campo DT_EMISSAO estava sendo carregado como dt_emissao(minusculo) dai fiz essa substituição e deu certo!

         Valeu pela força.

Att,

André Tonini

Ricardo_Gerhard
Employee
Employee

Maravilha.

Enjoy.

Ricardo Gerhard
OEM Solution Architect
LATAM