Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
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 Dadose e Desenvolvedor
 (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