Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal boa tarde!
Tenho um campo carregado de um csv que desejo deixá-lo numérico e com no máximo 2 casas decimais (posteriormente será usado para o cálculo de outro campo), e para isso utilizei o seguinte:
num#( Histforecast, '0.00') as Forecast
A expressão funciona ok para quase todos os casos, mas para os números que possuem apenas uma casa decimal (ex: 1,3), não é aplicada essa tratativa e ele fica armazenado como texto. Consequentemente o campo calculado que se origina de uma divisão sobre esse campo, fica nulo.
Já tentei a utilização das funções Ceil(), Round() e Num(), além de tentar:
num#( Histforecast, '.') as Forecast
num#( Histforecast, '0,00') as Forecast
num#( Histforecast, '#.##') as Forecast
mas sem sucesso. Estou fazendo algo de errado nos parâmetros dessa função ou é realmente uma deficiência dela?
Exemplo do problema:
Mariana,
Isso resolve o problema:
Num(Num#(Histforecast,'#,##0.00','.',','),'#.##0,00',',','.') as Forecast
RESULTADO
Mariana,
Sugiro:
num(num#( Histforecast, '#.##0,00'),'#.##0,00') as Forecast
Thiago, não deu certo... A maioria dos valores ficaram nulos
O separador de decimais é ponto ou vírgula?
Teste assim então:
num(num#( Histforecast, '#,##0.00'),'#,##0.00') as Forecast
Também não deu certo.. Anexei o qvw pra dar uma olhada se conseguir...
Mariana,
Consegue mandar o csv?
Segue Thiago!
Mariana,
Isso resolve o problema:
Num(Num#(Histforecast,'#,##0.00','.',','),'#.##0,00',',','.') as Forecast
RESULTADO
Thiago obrigada, era isso mesmo que eu precisava!
Senpre à disposição.