
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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;
- Tags:
- Group_Discussions
Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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);

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wladimir,
ao inves do
OUTER JOIN
usa
CONCATENATE

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Alessandro,
Apresentou os mesmos dados do Concatenate, segue em anexo o arquivo...ele está com uma pequena carga de dados...

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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);

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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??

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
