Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Estou importando 5 tipos de planilhas sendo que algumas estão no formato numérico: 1,00 (com virgula) e outras estão no formato 1.00 (com ponto)
Tenho as seguintes definições no meu script:
SET ThousandSep=',';
SET DecimalSep='.';
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='R$ #.##0,00;(R$ #.##0,00)';
SET TimeFormat='hh:mm:ss';
SET DateFormat='DD/MM/YYYY';
SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';
SET MonthNames='jan;fev;mar;abr;mai;jun;jul;ago;set;out;nov;dez';
SET DayNames='seg;ter;qua;qui;sex;sáb;dom';
Gostaria de saber como faço para importar esses diferentes tipos de formatos.
Eu percebi que o SUM não funciona se eu não importar da forma correta.
add csv
Message was edited by: Marcio Morais
Testado com o script abaixo:
//Fonte: CSV
Tabela:
LOAD
Marca,
"Nome Fantasia",
"Data pedido",
"Data Pagamento",
"Data Estorno",
"Data Liberação",
"Data Prevista Pgto",
Lançamento,
"Ref. Pedido",
Entrega,
Tipo,
Status,
Num(Valor,'#.##0,##',',','.') as Valor,
Parcela,
"Meio Pgto",
"Modelo Financeiro"
FROM [lib://download/cc-demonstrativo-de-01-08-2018-a-31-08-2018.csv](txt, codepage is 28591, embedded labels, delimiter is ';', msq);
//Fonte: pasta de XML - peguei apenas algumas tags
XML_TEMP:
LOAD
"NFe/infNFe/Id" as ChaveNFe,
"NFe/infNFe/total/ICMSTot/vNF" as ValorNF,
"NFe/infNFe/det/prod/xProd" as NomeProduto,
"NFe/infNFe/ide/nNF" as NFe,
"NFe/infNFe/ide/dhEmi" as DtEmissao
FROM [lib://NFe/*.xml](XmlSimple, table is nfeProc);
XML:
LOAD
*,
Num#(ValorNF,'#,##0.##','.',',') as ValorNFe
Resident XML_TEMP;
Drop Table XML_TEMP;
Resultado:
Deixei as somas separadas apenas para facilitar a compreensão do resultado obtido.
Bastaria formatar o campo como numérico:
Num(SEU_CAMPO)
Você pode usar o comando
replace(campo, '.', ',') as campo
e substituir os . por , para deixar todos os campos numericos no mesmo formato.
Como eu faço para substituir o R$ junto com o . para , ?
SubField(Replace(campo,'.',','),'R$',2)
A replace funcionou legal porém eu não consigo fazer um simples SUM nesse campo.
sum(campo) ele retorna sempre = 0
Muito estranho isso. Isso só ocorre nesse campo.
Veja:
Num(SubField(Replace(campo,'.',','),'R$',2))
Não funcionou. O valor carregado na tabela ficou como -
Verifique com a função de interpretação:
Num#(SubField(Replace(campo,'.',','),'R$',2))
O valor normalizou na tabela porém o SUM não funciona