Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Tabela com várias linhas -> transformar em uma única linha

Boa noite pessoal.

Alguem poderia me ajudar.

Tenho a tabela abaixo, cadastro de telefones de clientes. Preciso transformar ele em uma tabela de uma linha por cliente:

Capturar.JPG

CDCLIENTE - CDTIPOTELEFONE - NUFONE - NUFONE - NUFONE

Exemplo acima: esse mesmo cliente tem 4 telefones, preciso criar uma tabela com uma unica linha por cliente e todos os seus telefones.

Se alguém puder me ajudar. Obrigado desde já.

8 Replies
mario_sergio_ti
Valued Contributor

Re: Tabela com várias linhas -> transformar em uma única linha

mario_sergio_ti
Valued Contributor

Re: Tabela com várias linhas -> transformar em uma única linha

Exemplo via expressão:

=Aggr( Concat(Distinct [NUFONE],' | '), [CDCLIENTE])


Mas é preferível que faça via script, conforme documento que mencionei acima.

Not applicable

Re: Tabela com várias linhas -> transformar em uma única linha

Oi Mario.

Fiz com este comando =AGGR(CONCAT(DISTINCT NUFONE,' | '), CDCLIENTE)

Resultado:

Capturar8.JPG

Só que eu preciso os telefones em colunas diferentes, separar os telefones por CDTIPOTELEFONE EM COLUNAS.

Capturar9.JPG

Tem como separar???

obrigado pela ajuda.

mario_sergio_ti
Valued Contributor

Re: Tabela com várias linhas -> transformar em uma única linha

Amigo, é possível resolver de algumas formas.

Já que está querendo resolver via expressão, segue:

Crie uma dimensão para cada CDTIPOTELEFONE existente.

Exemplo, dimensão;

Nome:

CDTIPOTELEFONE = 1

Expressão:

=If( CDTIPOTELEFONE = 1,

       Aggr( Concat( District [NUFONE], ' | '), [CDCLIENTE])

)

Not applicable

Re: Tabela com várias linhas -> transformar em uma única linha

Mario,

=if(CDTIPOTELEFONE = 1, AGGR(CONCAT(DISTINCT NUFONE),CDCLIENTE))

Não trás nada no gráfico - tabela simples.

Capturar11.JPG

mario_sergio_ti
Valued Contributor

Re: Tabela com várias linhas -> transformar em uma única linha

Ops, tem que ser via Set Analysis

AGGR(CONCAT({< CDTIPOTELEFONE={1} >} DISTINCT NUFONE),CDCLIENTE)
Not applicable

Re: Tabela com várias linhas -> transformar em uma única linha

Funcionou mario...

Agora mais uma pergunta...rsrsrs

Eu preciso que ele apareça em todas as linhas, figura abaixo. Ele está aparecendo somente na 1a linha desse cliente....

Só que o cliente tem vários títulos e parcelas. Obrigado pela ajuda Mario.

Capturar33.JPG

tudo isto aqui para eu gerar uma extração de dados em formato Excel.

mario_sergio_ti
Valued Contributor

Re: Tabela com várias linhas -> transformar em uma única linha

Adicione:

Aggr( Concat( {< [CDTIPOTELEFON]={1} >} Distinct [NUFONE], ' | '), [CDCLIENTE]) 


Como Dimensão e não como Expressão.