Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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;
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);
Wladimir,
ao inves do
OUTER JOIN
usa
CONCATENATE
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.
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?
Alessandro,
Apresentou os mesmos dados do Concatenate, segue em anexo o arquivo...ele está com uma pequena carga de dados...
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);
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??
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