Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá pessoal,
Tudo bem?
Estou importando a base da RAIS (em .txt) no Qlikview, acontece que o campo [Qtd Vínculos Ativos] que deveria ser número é importado como texto.
Visualizando a tabela, vejo que os dados importados que deveriam ser números estão como:
000000000000000
000000000000014
000000000000003
000000000000105
000000000000078
Criei dois campos com a função NUM(), mas não adiantou, os campos gerados ainda continuam com as tags $text e $ascii.
Alguma solução?
Obrigado!
LGMF
A resposta do Alexandros17 esta correta, mas para o caso do "000000000000000" é bom você trata-lo como 0. Você poderia trata-lo com um IF ou então com RangeSum.
RangeSum(Mid(myField,findoneof(myField,'123456789')),0) as myFieldNew
Tentou com num# ?
Nao pode ter algum campo com campo diferente de numeros?
Quem sabe criar uma flag com istext() e isnum() para tentar identificar se tem algum campo nao numerico.
load
...
Mid(myField,findoneof(myField,'123456789')) as myFieldNew
...
Try
Num(Right([Qtd Vinculoa Ativo],14)) as [Qtd Vinculoa Ativo]
A resposta do Alexandros17 esta correta, mas para o caso do "000000000000000" é bom você trata-lo como 0. Você poderia trata-lo com um IF ou então com RangeSum.
RangeSum(Mid(myField,findoneof(myField,'123456789')),0) as myFieldNew
Luiz.
Você queria em formato numérico. Segue uma alternativa.
Como podes ver, esta como numérico
Data:
LOAD
num(Evaluate(Numero)) as Numero;
LOAD * INLINE [
Numero
000000000000000
000000000000014
000000000000003
000000000000105
000000000000078
];
Se eu não estiver errado isto se deve ao fato do Qlik não interpretar campos maiores do que 14 como numéricos. Se diminuir para ate 14 posições o num() funciona.
Isso mesmo, qlikview interpreta apenas 14 posições!
MUITO obrigado pela ajuda, pessoal!
Abs.,
LGMF