Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Caros colegas,
Tenho uma tabela que mostra dados sumarizados que dependem do valor anterior. Sendo assim, janeiro de 2017 fica vazio porque a seleção atual é 2017 e ele depende do dado de dezembro/2016 (que não está selecionado e fica VAZIO) para ser calculado e mostrado.
Alguém tem uma solução para esse problema?
Lilia,
Além do que o pablolabbe mencionou, sugiro a troca das aspas simples por duplas:
Alt(Above(sum(QtdeEconomiaÁgua)),sum(TOTAL {<Ano=,MesAno = {"$(=date( addmonths(min(MesAno),-1),'MMM YYYY' ))"}>} QtdeEconomiaÁgua))
Abs e Sucesso!
Pode publicar uma tela do objeto para ilustrar o problema ?
Lilia,
Aqui tem uma expressão:
alt(Above(sum(Valor)),sum(TOTAL {<Ano=,MesAno = {'$(=date( addmonths(min(Mesano),-1),'MMM YYYY' ))'}>} Valor))
Explico:
o alt eu uso para testar se o resultado do above é nulo.
Se não for nulo, retorna o resultado da expressão do primeiro parâmetro
Se for nulo (caso da primeira linha, retorna o resultado da expressão do segundo parâmetro.
No segundo parâmetro uso o total para desprezar a dimensão de mes ano . Se eu não colocar ele inclui a linha do mes nao visivel.
Junto com isso uso um set analysis para obter o menor mes da seleção e pego o mes anterior.
Aplica-se a formatação de data pois o calculo retorna a data em formato numerico e para o filtro funcionar, o elemento do set analysis tem que estar no mesmo formato de data utilizado no campo.
Pablo,
Não resolveu ainda, está dando erro de sintaxe. ficou assim: alt(Above(sum(QtdeEconomiaÁgua)),sum(TOTAL {<Ano=,MesAno = {'$(=date( addmonths(min(Mesano),-1),'MMM YYYY' ))'}>} QtdeEconomiaÁgua))
mas exibe mensagem "errors in expression"
O campo é Mesano ou MesAno ? Creio que ai está o problema.
Você tem que respeitar a caixa das letras (alta ou baixa) por que o Qlik é sensível a letras maiusculas e minusculas no nome dos campos em expressões.
Lilia,
Além do que o pablolabbe mencionou, sugiro a troca das aspas simples por duplas:
Alt(Above(sum(QtdeEconomiaÁgua)),sum(TOTAL {<Ano=,MesAno = {"$(=date( addmonths(min(MesAno),-1),'MMM YYYY' ))"}>} QtdeEconomiaÁgua))
Abs e Sucesso!
Não precisa trocar por aspas duplas por que o elemento do conjunto não é uma pesquisa avançada, mas somente um único item que é a data.
Se utiliza aspas duplas quando usamos agregações, curingas ou intervalos para fazer pesquisa.
Tenho me baseado em Dates in Set Analysis. Mas vou passar a prestar mais atenção nisso, que ainda é uma dúvida minha - quando usar double quotes e quando não usar. Em geral, sei que para literais uso single quotes, e para buscas/expansões double quotes.
Ainda chego lá pablolabbe...
Se a expansão retorna somente um elemento, você pode usar single quote ou até mesmo não usar o single quote.
Exemplo;
sum ({<Ano = {'2018'}>} Vendas) - funciona com single quote
sum ({<Ano = {2018}>} Vendas) - funciona sem single quote
sum ({<Pais = {Brasil}>} Vendas) - funciona sem single quote
sum ({<Pais = {'Reino Unido'}>} Vendas) - Aqui precisa de single quote por que a string tem um espaço em branco.
sum ({<Ano = {$(=max(Ano)-1)}>} Vendas) - funciona sem single quote
sum ({<Ano = {"<=$(=max(Ano)-1)"}>} Vendas) - neste caso precisa de double quote por que tem operação de pesquisa de menor igual '<=' e não por causa da expansão de dolar.
Espero ter esclarecido