Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
liliaarantes
New Contributor

Como calculo a primeira linha de uma tabela que depende de dados não exibidos?

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?

Tags (1)
1 Solution

Accepted Solutions
thiago_justen
Valued Contributor III

Re: Como calculo a primeira linha de uma tabela que depende de dados não exibidos?

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!

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
13 Replies
pablolabbe
Valued Contributor II

Re: Como calculo a primeira linha de uma tabela que depende de dados não exibidos?

Pode publicar uma tela do objeto para ilustrar o problema ?

liliaarantes
New Contributor

Re: Como calculo a primeira linha de uma tabela que depende de dados não exibidos?

tabela qlik.PNG

pablolabbe
Valued Contributor II

Re: Como calculo a primeira linha de uma tabela que depende de dados não exibidos?

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,

liliaarantes
New Contributor

Re: Como calculo a primeira linha de uma tabela que depende de dados não exibidos?

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"

pablolabbe
Valued Contributor II

Re: Como calculo a primeira linha de uma tabela que depende de dados não exibidos?

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.

thiago_justen
Valued Contributor III

Re: Como calculo a primeira linha de uma tabela que depende de dados não exibidos?

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!

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
pablolabbe
Valued Contributor II

Re: Como calculo a primeira linha de uma tabela que depende de dados não exibidos?

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.

https://help.qlik.com/pt-BR/sense/November2017/Subsystems/Hub/Content/ChartFunctions/SetAnalysis/set...

thiago_justen
Valued Contributor III

Re: Como calculo a primeira linha de uma tabela que depende de dados não exibidos?

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‌...

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
pablolabbe
Valued Contributor II

Re: Como calculo a primeira linha de uma tabela que depende de dados não exibidos?

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