Skip to main content
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.