Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Not applicable

Transformar linhas em colunas

Ola pessoal boa tarde, eu denovo,

Preciso transformar linhas em colunas num script e depois concatenar os dados, função semelhante ao Group_concat do My SQL, alguém conhece no QV como fazer?

Explicando melhor para quem não conhece a função Group_concat do My SQL ela transforma linhas em colunas de acoro com o separados decimal.

Abaixo um exemplo:

Demonstrar somente em uma linha todos os códigos de produtos da categoria frios.

 Select Group_concat(codigo_produto) From produtos Where categoria = 'Frios';  
 Results 1,7,25,78... 

No meu caso o meu banco não é My SQL e tão pouco o meu select não tem essa função, alguém conhece algo parecido no QV?

Ou o mesmo que Transform do Access sem o Grou By. è possível ?

1 Solution

Accepted Solutions
Not applicable

Re: Transformar linhas em colunas

Bom dia!

Fiz um teste aqui..

Tabela:

load * inline

[COD,CATEGORIA,DESC

1,FRIOS,SALAME,

2,FRIOS,QUEIJO

3,DOCE,CHOCOLATE

4,DOCE,BALA

5,FRIOS,PRESUNTO

];

Minha_Tabela:

Load Concat(COD&',') as Teste

Resident Tabela

where CATEGORIA = 'FRIOS';

Espero que ajude!

4 Replies
aderlanrm
Valued Contributor

Re: Transformar linhas em colunas

Olá Weslley,

Dá uma olhada na função SubField:

subfield(S, ';' ,2) retorna 'cde' se S for 'abc;cde;efg'

subfield(S, ';' ,1) retornará NULL se S for um caractere vazio

subfield(S, ';' ,1) retornará um caractere vazio se S for ':'

Abraço.

Not applicable

Re: Transformar linhas em colunas

Bom dia!

Fiz um teste aqui..

Tabela:

load * inline

[COD,CATEGORIA,DESC

1,FRIOS,SALAME,

2,FRIOS,QUEIJO

3,DOCE,CHOCOLATE

4,DOCE,BALA

5,FRIOS,PRESUNTO

];

Minha_Tabela:

Load Concat(COD&',') as Teste

Resident Tabela

where CATEGORIA = 'FRIOS';

Espero que ajude!

Not applicable

Re: Transformar linhas em colunas

Perfeito o seu exemplo...

Tabela:

Rebeca Gums wrote:

Bom dia!

Fiz um teste aqui..

Tabela:

load * inline

[COD,CATEGORIA,DESC

1,FRIOS,SALAME,

2,FRIOS,QUEIJO

3,DOCE,CHOCOLATE

4,DOCE,BALA

5,FRIOS,PRESUNTO

];

Minha_Tabela:

Load Concat(COD&',') as Teste

Resident Tabela

where CATEGORIA = 'FRIOS';

Espero que ajude!

load * inline

    [COD,CATEGORIA,DESC

    1,FRIOS,SALAME,

    2,FRIOS,QUEIJO

    3,DOCE,CHOCOLATE

    4,DOCE,BALA

    5,FRIOS,PRESUNTO];

    Minha_Tabela:

Load

    Concat(COD&',') as Teste

Resident Tabela

    where CATEGORIA = 'FRIOS';

DROP Table Tabela;

Obrigado

Highlighted
Not applicable

Re: Transformar linhas em colunas

Ei!

Que bom que ajudou!

Att.

Rebeca