Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
eric1santos
Contributor III
Contributor III

Condições de Tabela

Bom dia, estou com dificuldade em obter um resultado específico diretamente na tabela.
Acredito que seja simples, abaixo eu tenho uma tabela com 3 colunas: chamado/ordem/data.

eric1santos_0-1613745672424.png

ela vem com todas as informações de atendimento por data, porém eu preciso apenas da última informação (último atendimento), conforme a tabela ao lado, como posso trazer desta forma na tabela? (não preciso dos campos vazios)

Labels (4)
1 Solution

Accepted Solutions
fernando_tonial
Partner - Specialist
Partner - Specialist

Acredito que não seja condição de tabela e sim uma agregação.

Você pode fazer de duas formas.

1) Agregando na tabela em leiaute, utilizando as funções de agregação MaxString(Ordem) e Max(Data) com a dimensão Chamado.

TodosDados:
Load * Inline [
Chamado, Ordem, Data
12345, OS-1234, 01/01/2021
12345, OS-1235, 02/01/2021
12345, OS-1236, 03/01/2021
23456, OS-2345, 01/01/2021
23456, OS-2346, 02/01/2021
23456, OS-2347, 03/01/2021
];

Resultado final.
AgregaçãoMax.png

 

 

 

 

2) Forma é uma agregação no momento da carga.

TodosDados:
Load * Inline [
Chamado, Ordem, Data
12345, OS-1234, 01/01/2021
12345, OS-1235, 02/01/2021
12345, OS-1236, 03/01/2021
23456, OS-2345, 01/01/2021
23456, OS-2346, 02/01/2021
23456, OS-2347, 03/01/2021
];

DadosAgrupados:
NoConcatenate
Load 
    Chamado		 AS chamado,
    MaxString(Ordem)	AS ordem,
    Date(Max(Data))	AS data
Resident TodosDados
Group by Chamado;

Drop Table TodosDados;

Resultado final apenas com as dimensões.

AgrupadoScript.png

Qual opção utilizar?
Isso depende de sua necessidade e regras de negócio.

Don't worry, be Qlik.
Tonial

Don't Worry, be Qlik.

View solution in original post

2 Replies
fernando_tonial
Partner - Specialist
Partner - Specialist

Acredito que não seja condição de tabela e sim uma agregação.

Você pode fazer de duas formas.

1) Agregando na tabela em leiaute, utilizando as funções de agregação MaxString(Ordem) e Max(Data) com a dimensão Chamado.

TodosDados:
Load * Inline [
Chamado, Ordem, Data
12345, OS-1234, 01/01/2021
12345, OS-1235, 02/01/2021
12345, OS-1236, 03/01/2021
23456, OS-2345, 01/01/2021
23456, OS-2346, 02/01/2021
23456, OS-2347, 03/01/2021
];

Resultado final.
AgregaçãoMax.png

 

 

 

 

2) Forma é uma agregação no momento da carga.

TodosDados:
Load * Inline [
Chamado, Ordem, Data
12345, OS-1234, 01/01/2021
12345, OS-1235, 02/01/2021
12345, OS-1236, 03/01/2021
23456, OS-2345, 01/01/2021
23456, OS-2346, 02/01/2021
23456, OS-2347, 03/01/2021
];

DadosAgrupados:
NoConcatenate
Load 
    Chamado		 AS chamado,
    MaxString(Ordem)	AS ordem,
    Date(Max(Data))	AS data
Resident TodosDados
Group by Chamado;

Drop Table TodosDados;

Resultado final apenas com as dimensões.

AgrupadoScript.png

Qual opção utilizar?
Isso depende de sua necessidade e regras de negócio.

Don't worry, be Qlik.
Tonial

Don't Worry, be Qlik.
eric1santos
Contributor III
Contributor III
Author

Fernando, muito obrigado, a primeira maneira já me atende a segunda forma de fazer fica como aprendizado. 

😄