Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
thamyribas
Partner - Contributor II
Partner - Contributor II

Decodificando arquivo txt com MID

Boa tarde,

  Sou nova no mundo qlik e estou com uma dificuldade, preciso decodificar um arquivo txt que está nesse formato (

201611111  1100000161110011010441000112.69168787000130.08593322000507760111020101218091993022411108 1052         22222

)

Cada número ou sequência de número significa algo, então preciso separar esses caracteres e renomeá los. Estou utilizando o comando MID para selecionar a posição do caracter e filebasename() para o arquivo ser aleatório já que são 4 arquivos diferentes a serem carregados e decodificados. atualmente está nesse formado:

// Parte 1 - Identificação e Controle

LOAD

    Right( filebasename(), 4) as Ano,

  Mid( filebasename(), 7, 2) as Trimestre,

  Mid(filebasename(),6,2) as UF,

    Mid(filebasename(),8,2) as Capital,

  Mid(filebasename(),10,2) as RM_Ride,

    Mid(filebasename(),12,9) as UPA,

    Mid(filebasename(),21,7) as Estrato,

    Mid(filebasename(),28,2) as V1008,

    Mid(filebasename(),30,2) as V1014,

    Mid(filebasename(),32,1) as V1016,

    Mid(filebasename(),33,1) as V1023,

    Mid(filebasename(),34,16) as V1027,

    Mid(filebasename(),50,16) as V1028,

    Mid(filebasename(),66,9) as V1029,

    Mid(filebasename(),75,3) as posest

mas não está lendo os caracteres selecionados pelo MID, não dá erro no LOAD porém não gera os arquivos. Alguém pode me ajudar ou me dar uma melhor forma de decodificar esses arquivos?

Obrigada

Labels (2)
1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Thamiris,

No sense da para fazer parecido......quase la.... Ler txt.gif

furtado@farolbi.com.br

View solution in original post

8 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Thamiris,

mas voce deveria ter dentro do MID() e do RIGHT() o campo lido. Voce esta usando filebasename(), que nao tem a estrutura que voce passou acima.


Segue um exemplo  (usando os seus mids.....)

furtado@farolbi.com.br
Clever_Anjos
Employee
Employee

Filebasename() retorna o nome do arquivo, você precisa ler o conteúdo.

O "Wizard" do Qlikview faz isso pra você, basta ir clicando e separando as colunas, sempre precisar usar o MID()

registrofixo.gif

thamyribas
Partner - Contributor II
Partner - Contributor II
Author

Mas eu to fazendo no qlik sense, funciona da mesma forma?

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Thamiris,

No sense da para fazer parecido......quase la.... Ler txt.gif

furtado@farolbi.com.br
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

digo em relação ao wizard...

No script, a diferença seria a conexão.....mas o resto é igual....

furtado@farolbi.com.br
Clever_Anjos
Employee
Employee

99% igual, apenas o "FROM" que é um pouco diferente

thamyribas
Partner - Contributor II
Partner - Contributor II
Author

Muito obrigada, realmente essa função eu n conhecia, porém eu só consigo separar até o espaçamento 141, o 142 da erro na hora do carregamento, quando eu comento esse caracter ele roda sem erro.

  Existe essa limitação de carregamento de 142 carecteres no de vocês ou é só o meu? rs

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Podes disponibilizar o txt?

furtado@farolbi.com.br