Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
marciomgm
Creator
Creator

Converter formato numérico planilha excel

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

1 Solution

Accepted Solutions
Thiago_Justen_

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:

Capturar.PNG

Deixei as somas separadas apenas para facilitar a compreensão do resultado obtido.

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago

View solution in original post

20 Replies
Thiago_Justen_

Bastaria formatar o campo como numérico:

Num(SEU_CAMPO)

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
giovanneb
Creator II
Creator II

Você pode usar o comando

replace(campo, '.', ',') as campo

e substituir os . por , para deixar todos os campos numericos no mesmo formato.

marciomgm
Creator
Creator
Author

Como eu faço para substituir o R$ junto com o . para , ?

Thiago_Justen_

SubField(Replace(campo,'.',','),'R$',2)

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
marciomgm
Creator
Creator
Author

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.

Thiago_Justen_

Veja:

Num(SubField(Replace(campo,'.',','),'R$',2))

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
marciomgm
Creator
Creator
Author

Não funcionou. O valor carregado na tabela ficou como -

Thiago_Justen_

Verifique com a função de interpretação:

Num#(SubField(Replace(campo,'.',','),'R$',2))

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
marciomgm
Creator
Creator
Author

O valor normalizou na tabela porém o SUM não funciona