Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
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á.

Labels (1)
8 Replies
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo, segue resolução;

Concatenar linhas/registros via Script ou via Expressão

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Exemplo via expressão:

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


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

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
Not applicable
Author

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
Partner - Specialist
Partner - Specialist

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])

)

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
Not applicable
Author

Mario,

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

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

Capturar11.JPG

mario_sergio_ti
Partner - Specialist
Partner - Specialist

Ops, tem que ser via Set Analysis

AGGR(CONCAT({< CDTIPOTELEFONE={1} >} DISTINCT NUFONE),CDCLIENTE)
Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
Not applicable
Author

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
Partner - Specialist
Partner - Specialist

Adicione:

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


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

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti