Skip to main content
Announcements
Qlik Community Office Hours, March 20th. Former Talend Community users, ask your questions live. SIGN UP
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Dividir registro

Bom dia! Gostaria de saber se existe alguma solução para o seguinte problema:

Tenho uma tabela onde existem os campos: código, itens e valor, conforme exemplo abaixo:

Exemplo.png

Analisando o registro referente ao código 002, pode se notar que existem 2 itens separados por ";", o que preciso é dividir esse registro

para cada item, ou seja, teria que ficar conforme o outro exemplo abaixo:

Exemplo 2.png

Segue um aplicativo de exemplo caso queiram analisar. Qualquer duvida estou a disposição.

1 Solution

Accepted Solutions
nicolett_yuri

Marcos, utilize a função SubField(). Seu script ficaria mais ou menos assim:

LOAD

      SubField(Itens, ';') as Itens,

      Codigo,

      Valor

View solution in original post

9 Replies
nicolett_yuri

Marcos, utilize a função SubField(). Seu script ficaria mais ou menos assim:

LOAD

      SubField(Itens, ';') as Itens,

      Codigo,

      Valor

nicolett_yuri

Usando o seu exemplo:

Exemplo:

LOAD

  Codigo,

  SubField(Itens, ';') as Itens,

  Valor

INLINE [

    Codigo, Itens, Valor

    001, 11, 50

    002, 12;13, 100

   

];

nicolett_yuri

afurtado

Agora eu aprendi

Not applicable
Author

Obrigado Yuri! Funcionou aqui.

Not applicable
Author

Outro problema, teria alguma maneira de dividir o valor? Pois no caso ele apenas replicou os registros.

nicolett_yuri

Mas como seria essa divisão? Metade para cada? E se tiver três ou mais itens na mesma linha?

Not applicable
Author

No caso teria que dividir referente a quantidade de itens.

nicolett_yuri

Tente assim:

Valor / (SubStringCount(Itens, ';')+1) as ValorDividido

Not applicable
Author

Agora sim, funcionou perfeitamente! Obrigado mais uma vez Yuri.