Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
guilherme_rigon
Contributor III
Contributor III

Como relacionar duas fontes de dados?

Olá,

Preciso relacionar os campos de uma tabela excel com os campos de um servidor oracle. A empresa trocou de sistema, então todos os dados de outubro de 2015 para trás estão em excel e a partir de novembro de 2015 está no oracle. Como posso relacionar as duas fontes?

Exemplo: o campo de vendas na planilha Excel está como "Vlr.total" e no oracle está como "VLRTOT".

10 Replies
nicolett_yuri

Guilherme, se as datas não se cruzam, então você pode concatenar as tabelas das fontes diferentes, mas mantendo a mesma nomenclatura de campos (basta criar um alias para que eles fiquem iguais), por exemplo:

Tabela:

LOAD

    "Vlr.total" as VLRTOT

FROM Planilha.xlsx....

CONCATENATE

SQL SELECT VLRTOT FROM tabela;

guilherme_rigon
Contributor III
Contributor III
Author

Preciso relacionar os campos deste script:

[Explend Final]:

LOAD [CNPJ/CPF],

    [Nome do Cliente],

    [Cidade],

    [UF],

    [Telefone],

    [Código doVendedor],

    [Nome do Vendedor],

    [Código doProduto],

    [Apresentação],

    [Preço Lista],

    [Preço comDesconto],

    [Quantidade],

    [Vlr.Total],

    [Nota Fiscal],

    [Marca]

FROM [lib://Documents/Explend Final.xlsx]

(ooxml, embedded labels, table is [Explend Final]);

[Sheet1]:

LOAD [Data da Venda],

    [Mês],

    [Ano],

    [Nota Fiscal]

FROM [lib://Documents/Explend Final.xlsx]

(ooxml, embedded labels, table is Sheet1);

Com estes:

[TGFCAB]:

LIB CONNECT TO 'Oracle_192.168.1.250';

[TGFCAB]:

LOAD NUNOTA,

    NUMNOTA,

    month([DTNEG]) as Mês,

    year([DTNEG]) as Ano,

    day([DTNEG]) as dia,

    CODPARC,

    CODTIPOPER,

    CODVEND,

    QTDVOL,

    CODNAT,

    VLRNOTA;

[TGFCAB]:

SELECT "NUNOTA",

    "NUMNOTA",

    "DTNEG",

    "CODPARC",

    "CODTIPOPER",

    "CODVEND",

    "QTDVOL",

    "CODNAT",

    "VLRNOTA"

FROM "JIVA"."TGFCAB";

[TGFITE]:

LIB CONNECT TO 'Oracle_192.168.1.250';

[TGFITE]:

LOAD NUNOTA,

    CODPROD,

    QTDNEG,

    VLRUNIT,

    VLRTOT,

    QTDCONFERIDA,

    QTDFAT;

[TGFITE]:

SELECT "NUNOTA",

    "CODPROD",

    "QTDNEG",

    "VLRUNIT",

    "VLRTOT",

    "QTDCONFERIDA",

    "QTDFAT"

FROM "JIVA"."TGFITE";

[TGFPRO]:

LIB CONNECT TO 'Oracle_192.168.1.250';

[TGFPRO]:

LOAD CODPROD,

    DESCRPROD,

    MARCA;

[TGFPRO]:

SELECT "CODPROD",

    "DESCRPROD",

    "MARCA"

FROM "JIVA"."TGFPRO";

[TGFPAR]:

LIB CONNECT TO 'Oracle_192.168.1.250';

[TGFPAR]:

LOAD CODPARC,

    NOMEPARC,

    CODCID;

[TGFPAR]:

SELECT "CODPARC",

    "NOMEPARC",

    "CODCID"

FROM "JIVA"."TGFPAR";

[TSICID]:

LIB CONNECT TO 'Oracle_192.168.1.250';

[TSICID]:

LOAD CODCID,

    UF as CODUF,

    NOMECID;

[TSICID]:

SELECT "CODCID",

    "UF",

    "NOMECID"

FROM "JIVA"."TSICID";

[TSIUFS]:

LIB CONNECT TO 'Oracle_192.168.1.250';

[TSIUFS]:

LOAD CODUF,

    UF as [TSIUFS.UF],

    DESCRICAO;

[TSIUFS]:

SELECT "CODUF",

    "UF",

    "DESCRICAO"

FROM "JIVA"."TSIUFS";

[TGFTOP]:

LIB CONNECT TO 'Oracle_192.168.1.250';

[TGFTOP]:

LOAD CODTIPOPER,

    DESCROPER,

    TIPMOV;

[TGFTOP]:

SELECT "CODTIPOPER",

    "DESCROPER",

    "TIPMOV"

FROM "JIVA"."TGFTOP";

[TGFNAT]:

LIB CONNECT TO 'Oracle_192.168.1.250';

[TGFNAT]:

LOAD CODNAT,

    DESCRNAT;

[TGFNAT]:

SELECT "CODNAT",

    "DESCRNAT"

FROM "JIVA"."TGFNAT";

[TGFVEN]:

LIB CONNECT TO 'Oracle_192.168.1.250';

[TGFVEN]:

LOAD CODVEND,

    APELIDO;

[TGFVEN]:

SELECT "CODVEND",

    "APELIDO"

FROM "JIVA"."TGFVEN";

Como ficaria?

viniciusroteli
Contributor III
Contributor III

Creio que você utilize da forma como o Yuri descreveu acima e as tabelas menores como:

[TGFVEN]:

SELECT "CODVEND",

    "APELIDO"

FROM "JIVA"."TGFVEN";

Crie Mapas e carregue eles nas tabelas conforme suas ocorrências ...

guilherme_rigon
Contributor III
Contributor III
Author

Preciso relacionar estes campos:

data da venda = DTNEG

código de vendedor = CODVEND

vlr.total = VLRTOT

Marcar = MARCA

Cidades = NOMECID

Nome do cliente = NOMEPARC

Código do produto = CODPROD

preço com desconto = VLRUNIT

Quantidade = QTDNEG

Como ficaria o script?

nicolett_yuri

Guilherme, para alterar o nome dos campos basta utilizar o "as NOVOCAMPO" após a leitura deste campo.

Ex:

[Explend Final]:

LOAD

    [Quantidade] as QTDNEG

FROM [lib://Documents/Explend Final.xlsx]

(ooxml, embedded labels, table is [Explend Final]);

Identifique qual a tabela que o excel vai complementar e utilize o CONCATENATE para juntar as duas tabelas.

guilherme_rigon
Contributor III
Contributor III
Author

[Explend Final]:

LOAD

    [Quantidade] as QTDNEG

FROM [lib://Documents/Explend Final.xlsx]

(ooxml, embedded labels, table is [Explend Final])

CONCATENATE

SQL SELECT QTDNEG FROM "JIVA"."TGFITE";

LIB CONNECT TO 'Oracle_192.168.1.250';

Não está carregando. O que está errado?

nicolett_yuri

Sua linha de conexão esta sendo criada após a tentativa de select, tente fazer assim:


LIB CONNECT TO 'Oracle_192.168.1.250';


[Explend Final]:

LOAD

    [Quantidade] as QTDNEG

FROM [lib://Documents/Explend Final.xlsx]

(ooxml, embedded labels, table is [Explend Final])

CONCATENATE

SQL SELECT QTDNEG FROM "JIVA"."TGFITE";

guilherme_rigon
Contributor III
Contributor III
Author

Ainda não da certo, SQL e CONCATENATE ficam sublinhados em vermelho.

nicolett_yuri

Faltou ponto e vírgula no final da leitura da planilha.

LIB CONNECT TO 'Oracle_192.168.1.250';


[Explend Final]:

LOAD

    [Quantidade] as QTDNEG

FROM [lib://Documents/Explend Final.xlsx]

(ooxml, embedded labels, table is [Explend Final]);

CONCATENATE

SQL SELECT QTDNEG FROM "JIVA"."TGFITE";