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: 
anderson_w
Contributor III
Contributor III

Função Firstsortedvalue não traz valores

Montei uma analise resumida do Cliente e trago a analise dos ÚLTIMOS Busca Valores de NF, Orçamento e Visita.

Uso uma Condição (Max (Data)) parágrafo trazer a última visita e depois o first (função) para trazer o tipo e o assunto que condiz com a última data.

= Firstsortedvalue ([Tipo fazer Contato],-Agr (MAX ({<dados = {'<= $ (Data)'}>} Data), Dados)) - Tipo

=Firstsortedvalue( Assunto,-AGGR(MAX({<Data = {'<=$(Data)'}>}Data), Data)) - ASSUNTO.

Problema:


O tipo e assunto não vem em todos os clientes, somente em alguns. A data vem em todos.


Labels (1)
3 Replies
aderlanrm
Partner - Specialist
Partner - Specialist

Fala Anderson, tudo bem?

Acho que deu problema no teu post, o texto está truncado, faltando palavras, fica confuso a leitura e o entendimento.

Eu tentei ler assim mesmo, e se entendi corretamente, você não precisa dessas funções para o resultado que quer, porém vai ser mais fácil se você anexar um QVW de exemplo.

Tente usar simplesmente o MAX nas expressões (Max, não MaxString) e o restante use como dimensão mesmo, também crie listas ou habilite o seletor dropdown nas colunas para facilitar as seleções, com isso terá o resultado esperado, acredito.

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)
anderson_w
Contributor III
Contributor III
Author

Alterei o texto Aderlan. Veja se ficou claro agora.

Clever_Anjos
Employee
Employee

A função FirstSortedValue possui um comportamento que confunde às vezes.

Se existirem dois registros que tenham o mesmo peso, no seu caso, se dois registros "empatarem" o valor Agr (MAX ({<dados = {'<= $ (Data)'}>} Data), Dados) a função retorna NULL.

Neste caso você deveria dar uma opção de 'desempate' quando dois registros empatarem.

Normalmente uso algo do tipo:  firstsortedvalue(valoraretornar, criterio1 + criterio2/10000) onde critério2 é o 'desempate'