Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

União de 3 tabelas

Olá Pessoal,

Estou desenvolvendo (ou pelo menos tentando) uma view no QLIK SENSE no qual preciso juntar dados de 3 tabelas distintas(VENDAS, PREVISÃO DE VENDAS E COMPRAS), a informação pode ou não estar nas 3 tabelas e a visualização é feito através de data. Preciso que ele una as 3 tabelas. Só que ele está embaralhando a informação, alguém tem idéia do que estou fazendo de errado?

LINKTABLE:

LOAD

    %CHAVE_PRODUTO,

    Year(dDATA) as ANO,

    Month(dDATA)   as MES,

    MonthName(dDATA) as PERIODO,

    DATE(dDATA) as DATA  

  

Resident VENDAS;

OUTER JOIN (LINKTABLE)

LOAD

   %CHAVE_PRODUTO,

    Year(dDATA_C_PREV) as ANO,

    Month(dDATA_C_PREV)   as MES,

    MonthName(dDATA_C_PREV) as PERIODO,

    DATE(dDATA_C_PREV) as DATA

Resident COMPRAS;

OUTER JOIN (LINKTABLE)

LOAD

  %CHAVE_PRODUTO,

    Year(dDATA_PREV) as ANO,

    Month(dDATA_PREV)   as MES,

    MonthName(dDATA_PREV) as PERIODO,

    DATE(dDATA_PREV) as DATA

Resident PREV_VENDAS;

1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Wladimir,

eu estava pensando que você estava trabalhando nas tabelas (VENDAS / COMPRAS / PREV_VENDAS) mas na realidade estava sendo criada a linked table.

Estava com chave sintética.

2016-01-12 18_12_07.jpg

Eu criei os QVDs e modifiquei a carga para juntas as 3 tabelas..... Segue modelo para ser analisado visto que nao sei se ficou como queria ou nao....

O script ficou assim.....

Movimento:

//COMPRAS

LOAD

    cPRODUTO_COMP,

    nFILIAL_COMP,

    nPEDIDO_COMP,

    nITEM_COMP,

    cQUANT_COMP,

    dDATA_C_EMI,

    dPERIODO_C_EMI,

    dDATA_C_PREV,

    dPERIODO_C_PREV,

    %COD_PRODUTO,

    %CHAVE_PRODUTO

FROM [lib://tmp/COMPRAS.qvd] (qvd);

concatenate

// VENDAS

LOAD

    D2_COD,

    D2_EMISSAO,

    dPERIODO_VEND,

    dDATA,

    qPRODUTO,

    %COD_PRODUTO,

    %CHAVE_PRODUTO

FROM [lib://tmp/VENDAS.qvd] (qvd);

concatenate

// Prev_Vendas

LOAD

    nFILIAL_PREV,

    nVENDEDOR_PREV,

    nDATA_PREV,

    dDATA_PREV,

    dPERIODO_PREV,

    %COD_PRODUTO,

    //cPRODUTO,

    %CHAVE_PRODUTO

FROM [lib://tmp/PREV_VENDAS.qvd] (qvd);

PRODUTOS:

LOAD

    %GRUPO,

     nPRODUTO,

     cGRAMATURA,

     cLARGURA,

     cCOMPRIMENTO,

     nFORMATO,

     cFLSMIL,

     nTIPO_PRODUTO,

     nCARACT,

     cFABRIC,

     nFAMILIA,

     nMODELO,

     %COD_PRODUTO,

     cPRODUTO

FROM [lib://tmp/PRODUTOS.qvd] (qvd);

ESTOQUE:

LOAD

     %TIPO_EST,

     %COD_FILIAL,

     %COD_PRODUTO,

     %VENDAS,

     ESTOQUE,

     QTD_ESTOQUE,

     QTD_EMPENHO,

     QTD_PEDIDOS,

     TIPO_ESTOQUE

FROM [lib://tmp/ESTOQUE.qvd] (qvd);

RESERVAS:

LOAD

    %VENDAS,

    QTD_RESERVA

FROM [lib://tmp/RESERVAS.qvd] (qvd);

furtado@farolbi.com.br

View solution in original post

7 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Wladimir,

ao inves do

OUTER JOIN



usa



CONCATENATE



furtado@farolbi.com.br
Not applicable
Author

Oi Alessandro,

Eu tentei também com CONCATENATE, porém, a informações não ficaram corretas....ele deveria fazer uma "timeline" com todas as datas contidas nas 3 tabelas, mas não acontece isso...Como pode notar na imagem, ele está bagunçando  as datas.

Sem título.jpg

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Wladimir,

se voce quiser ter as colunas na mesma linha das datas, podes usar o

JOIN

Tens como disponibilizar um modelo (reduzido) para melhor te ajudar?

furtado@farolbi.com.br
Not applicable
Author

Alessandro,

Apresentou os mesmos dados do Concatenate, segue em anexo o arquivo...ele está com uma pequena carga de dados...

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Wladimir,

eu estava pensando que você estava trabalhando nas tabelas (VENDAS / COMPRAS / PREV_VENDAS) mas na realidade estava sendo criada a linked table.

Estava com chave sintética.

2016-01-12 18_12_07.jpg

Eu criei os QVDs e modifiquei a carga para juntas as 3 tabelas..... Segue modelo para ser analisado visto que nao sei se ficou como queria ou nao....

O script ficou assim.....

Movimento:

//COMPRAS

LOAD

    cPRODUTO_COMP,

    nFILIAL_COMP,

    nPEDIDO_COMP,

    nITEM_COMP,

    cQUANT_COMP,

    dDATA_C_EMI,

    dPERIODO_C_EMI,

    dDATA_C_PREV,

    dPERIODO_C_PREV,

    %COD_PRODUTO,

    %CHAVE_PRODUTO

FROM [lib://tmp/COMPRAS.qvd] (qvd);

concatenate

// VENDAS

LOAD

    D2_COD,

    D2_EMISSAO,

    dPERIODO_VEND,

    dDATA,

    qPRODUTO,

    %COD_PRODUTO,

    %CHAVE_PRODUTO

FROM [lib://tmp/VENDAS.qvd] (qvd);

concatenate

// Prev_Vendas

LOAD

    nFILIAL_PREV,

    nVENDEDOR_PREV,

    nDATA_PREV,

    dDATA_PREV,

    dPERIODO_PREV,

    %COD_PRODUTO,

    //cPRODUTO,

    %CHAVE_PRODUTO

FROM [lib://tmp/PREV_VENDAS.qvd] (qvd);

PRODUTOS:

LOAD

    %GRUPO,

     nPRODUTO,

     cGRAMATURA,

     cLARGURA,

     cCOMPRIMENTO,

     nFORMATO,

     cFLSMIL,

     nTIPO_PRODUTO,

     nCARACT,

     cFABRIC,

     nFAMILIA,

     nMODELO,

     %COD_PRODUTO,

     cPRODUTO

FROM [lib://tmp/PRODUTOS.qvd] (qvd);

ESTOQUE:

LOAD

     %TIPO_EST,

     %COD_FILIAL,

     %COD_PRODUTO,

     %VENDAS,

     ESTOQUE,

     QTD_ESTOQUE,

     QTD_EMPENHO,

     QTD_PEDIDOS,

     TIPO_ESTOQUE

FROM [lib://tmp/ESTOQUE.qvd] (qvd);

RESERVAS:

LOAD

    %VENDAS,

    QTD_RESERVA

FROM [lib://tmp/RESERVAS.qvd] (qvd);

furtado@farolbi.com.br
Not applicable
Author

Alessandro, Muito Obrigado pelo esforço!

Deu certo com relação a carga, porém, a Data (Mês/Ano) precisam ser linkados de forma unificada entre os 3 QVDs, afim de conseguir visualizar as vendas já realizadas, as previsões de vendas e as compras que serão utilizadas para realizarmos uma Previsão de Compra, baseado em o que vendeu,Giro de estoque, previsão de vendas, e o que já foi colocado de pedido de compra.

Conseguiu entender o problema todo??

Capturar.JPG

Not applicable
Author

Alessandro,

Consegui achar o problema na concatenação de Datas, graças a sua ajuda é claro.

Muito grato pela atenção e por compartilhar de sua experiência.

Att,

Wladimir