Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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".
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;
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?
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 ...
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?
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.
[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?
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";
Ainda não da certo, SQL e CONCATENATE ficam sublinhados em vermelho.
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";