Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: 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";