Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Como usar a funçao Máx() no QlikView?

Bom dia a todos,

Estou com um problemas em como desenvolver um Set Analysis pra fazer esse tipo de busca na expressão da minha tabela.

A tabela está separado em período e possui os grupos A,B,C... e preciso no que estou desenvolvendo

pegar os valores de maior quantidade desses períodos.

Por favor, desde já  agradeço.

Att.

Leopoldo T. Abe

1 Solution

Accepted Solutions
felipe_dutra
Partner - Creator
Partner - Creator

Leopoldo,

Assim não funciona, pois o Aggr() exige uma agregação como primeiro parâmetro.(Max(), Sum(), Count(), etc.)

Pelo que entendi, você precisa encontrar a maior "soma mensal de quantidade" por "classe", nos últimos 6 meses. Correto?

Tente...

Dimensão:

[Campo que traz as Classes]

Expressão:

Max(Aggr(Sum({<AnoMês={">=$(AnoMêsInício)<=$(AnoMêsFim)"}>}Qtde), [Campo que traz as Classes], AnoMês))


Altere o nome dos campos e veja como ficou.

Eu não sei nem se essas variáveis que você está usando estão apresentando o valor correto, então, se não funcionar, crie uma aplicação que simule essa e poste aqui para eu verificar.


Abs,

Felipe

View solution in original post

14 Replies
felipe_dutra
Partner - Creator
Partner - Creator

Leopoldo, a expressão abaixo te trará a maior qtde por período:

Aggr(Max(Qtde), Período)

Abs,

Felipe

Not applicable
Author

o meu período está expresso nessa fórmula que criei:

if(Período >=$(PeríodoInicial) and Período<=$(PeríodoFinal),'1')

teria como eu encaixar essa expressão na fórmula que me enviou?

Obrigado pela ajuda!

aderlanrm
Partner - Specialist
Partner - Specialist

Só complementando o que o Felipe disse.

Também pode ser Aggr(Max(Qtde), Período, Grupo), quando precisa agrupar por mais dimensões.

Porém, avalie a possibilidade de fazer isso no scrpit de carga, acredito que a performance será bem melhor.

Abraço.

Enviado pelo meu Phone

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Not applicable
Author

Muito obrigado!
Vou testar agora mesmo.

felipe_dutra
Partner - Creator
Partner - Creator

Leopoldo,

Você está tentando apresentar os valores de que forma?

Se você está definindo um período, talvez não precise usar mais a função aggr.

Se você quer a qtde máxima dentro do período descrito, tente usar isto:

Max({<Periodo={">=$(PeríodoInicial)<=$(PeríodoFinal)"}>}Qtde)

Se a expressão acima não resolver, tente esta agregação:

Aggr(Max({<Periodo={">=$(PeríodoInicial)<=$(PeríodoFinal)"}>}Qtde), Periodo)

Abs,

Felipe

Not applicable
Author

Bom Dia Felipe,

Tentei usar a formula:

Max({<Periodo={">=$(PeriodoInicial) <=$(Periodofinal)"}>} sum(Aggr(Quantidade)))

A quantidade preciso usar a fórmula sum(Aggr(Quantidade)) na expressão pra mostrar o resultado correto

e vejo que essa fórmula que deve estar atrapalhando...

No período eu uso uma fórmula pra pegar os 6 meses na dimensão do gráfico que é:

=if(CompetenciaSinistralidade >=$(CompInicial) and CompetenciaSinistralidade<=$(CompFinal)

,CompetenciaSinistralidade)

e preciso dela pra pegar apenas os 6 últimos meses da informação.

Obrigado e desculpe os transtornos.

felipe_dutra
Partner - Creator
Partner - Creator

Leopoldo,

Você não está usando a agregação avançada de forma correta.

Aggr(Expressão, Dim1, Dim2, ...)

Me explique melhor o que você está querendo calcular nesses últimos 6 meses e , se possível, poste um exemplo.

Abs,

Felipe

Not applicable
Author

Boa tarde,

A tabela gerada no QlikView é igual a primeira tabela, estou tendo problema em criar a outra que é o do exemplo em azul que pegue as quantidades de itens =MÁXIMO(C4;E4;G4;I4;K4;M4) no excel, e preciso criar uma fórmula que rode no QlikView.

E me desculpe na hora da informação da Agregração, estou usando a fórmula:

Sum(Aggr(QtdUtilizacao,Codigo do Item))

Obrigado pela atenção.

Leopoldo

resultado.jpg

felipe_dutra
Partner - Creator
Partner - Creator

Leopoldo,

Crie um gráfico do tipo tabela como descrito abaixo:

Dimensão:

[Código do Item] (Acredito que esse seja o campo que trás as classes 1, 2, ...) Se não for, alterar também o campo na expressão.

Expressão:

Max(Aggr(Sum({<CompetenciaSinistralidade={">=$(CompInicial) <=$(CompFinal)"}>}QtdUtilizacao), [Codigo do Item], CompetenciaSinistralidade))

Abs,

Felipe