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

Apresentar preço com maior ocorrência

Estou tendo uma dificuldade, eu utilizo count para contar a quantidade de vezes que um preço aparece, de acordo com o filtro que é feito. Após isso eu preciso apresentar o preço com maior ocorrência,alguém poderia me ajudar?

1 Solution

Accepted Solutions
felipe_dutra
Partner - Creator
Partner - Creator

Leonardo,

Como dito pelo Aderlan, se dois ou mais valores tiverem a mesma máxima frequência o valor retornado pela função será nulo. E como o valor de 15,99 aparece 4 vezes, na mesma frequência do valor 15,90, a função retornou nulo.

Solução:

Para apresentar somente o máximo valor, dentre os que apresentaram maior frequência:

Max({<Preço={"=Count({<Preço={'>0'}, Fabricante = {'WJTEY'}>} Preço)=$(=MAX(AGGR(Count({<Preço={'>0'}, Fabricante = {'WJTEY'}>} Preço), Preço)))"}>}Preço)

E para apresentar os valores com maior frequência, de forma concatenada:

Concat(DISTINCT{<Preço={"=Count({<Preço={'>0'}, Fabricante = {'WJTEY'}>} Preço)=$(=MAX(AGGR(Count({<Preço={'>0'}, Fabricante = {'WJTEY'}>} Preço), Preço)))"}>}Preço, ' | ', -Preço)

Abs,

Felipe

View solution in original post

6 Replies
fernando_tonial
Partner - Specialist
Partner - Specialist

Olá,

pode colocar um QVW de exemplo para entendermos melhor a solicitação.

Don't Worry, be Qlik.
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Leonardo, tudo bem?

Eu já fiz algo parecido para mostrar a frequência que os clientes são atendidos, acredito que seja a mesma lógica, correto?

Eu criei o calendário baseado na data de atendimento e fiz o "count" cliente, ou seja, assim pude criar diversas análises com essa métrica, inclusive uma tabela dinâmica para atendimentos por mês/ano com cliente nas linhas e mês/ano nas colunas, isso mostra a frequência de atendimento de cada cliente mês a mês, também pode ser usado um gráfico de dispersão etc.

No seu caso, acredito que possa obter o mesmo resultado colocando os preços nas linhas e o "tempo" nas colunas.

São muitas opções, sem dúvida um QVW de exemplo ajuda, como o Tonial sugeriu.

Abraço.

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

segue exemplo do QVW.

Na 1 tabela o Moda Preço está vindo nulo, mas ele deveria apresentar o 1 valor que está aparecendo na Preço Top 5 Concorrente.

aderlanrm
Partner - Specialist
Partner - Specialist

Talvez o Fernando Tonial tenha entendido, eu não entendi qual informação você quer ter com o uso do Mode, mas segundo o manual: "Se mais de um valor ocorrer com a mesma freqüência, retornará NULL.", então se tem 4 ocorrências, por isso está retornando nulo.

Abraço.

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)
felipe_dutra
Partner - Creator
Partner - Creator

Leonardo,

Como dito pelo Aderlan, se dois ou mais valores tiverem a mesma máxima frequência o valor retornado pela função será nulo. E como o valor de 15,99 aparece 4 vezes, na mesma frequência do valor 15,90, a função retornou nulo.

Solução:

Para apresentar somente o máximo valor, dentre os que apresentaram maior frequência:

Max({<Preço={"=Count({<Preço={'>0'}, Fabricante = {'WJTEY'}>} Preço)=$(=MAX(AGGR(Count({<Preço={'>0'}, Fabricante = {'WJTEY'}>} Preço), Preço)))"}>}Preço)

E para apresentar os valores com maior frequência, de forma concatenada:

Concat(DISTINCT{<Preço={"=Count({<Preço={'>0'}, Fabricante = {'WJTEY'}>} Preço)=$(=MAX(AGGR(Count({<Preço={'>0'}, Fabricante = {'WJTEY'}>} Preço), Preço)))"}>}Preço, ' | ', -Preço)

Abs,

Felipe

fernando_tonial
Partner - Specialist
Partner - Specialist

Olá Leandro,

Realmente o post do  fala exatamente o problema do Mode() e lhe dá a solução para o Maior Valor, mas pelo que entendi você quer o Menor Valor entre os de Maior Ocorrência.

Faça assim:

=Min({<Preço={"=Count({<Preço={'>0'}, Fabricante = {'WJTEY'}>} Preço)=$(=MAX(AGGR(Count({<Preço={'>0'}, Fabricante = {'WJTEY'}>} Preço), Preço)))"}>}Preço)

Abraços.

Tonial.

Don't Worry, be Qlik.