Qlik Community

Ask a Question

Brasil

Announcements
Our next Qlik Insider session will cover new key capabilities. Join us August 11th REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 
Santana90
Contributor II
Contributor II

Função com Seleção conforme o Filtro (Segmentação)

Pessoal, bom dia!

Como faço para incluir dentro da Função o critério  ano ao selecionar uma segmentação de dados, pois a função abaixo está travada no ano de 2018.

O objetivo é, ao realizar o filtro pela segmentação de dados (Ano), o critério mude de acordo com o filtro

Receita Atual = sum({<Ano = {2018}>} Receita) 

Desde já, obrigado!

2 Solutions

Accepted Solutions
Hermann
Contributor
Contributor

Santana90, bom dia!

Pelo que entendi, você setar o valor de uma variável com o dado selecionado pelo usuário em um campo chamado Ano. Normalmente, crio uma função com o seguinte código:

=Num(if(GetFieldSelections(Ano), GetFieldSelections(Ano), Year(Now())))

Portanto, se o usuário selecionar um data no Filtro Ano, ele respeitará o GetFieldSelections, caso nenhuma data seja selecionada pelo usuário, ele populará a variável com o Ano Atual.

Espero que tenha ajudado.

View solution in original post

fernando_tonial
Partner
Partner

Olá,

Nesse caso recomendo fazer o Set Analysis utilizando a função Max().

Receita Atual = sum({<Ano = {$(=Max(Ano))}>} Receita)
Receita Anterior = sum({<Ano = {$(=(Max(Ano)-1))}>} Receita) = Saída: 2017

Assim, quando não houver seleção de ano, pegará o maior ano disponível no aplicativo e quando selecionado o ano de 2019 o ano anterior será o 2018.

Don't worry, be Qlik.
Tonial. 

View solution in original post

6 Replies
vandrecarlos
Contributor III
Contributor III

Bom dia, amigo!

 

O seu SetAnalysis está travando o ano 2018. Caso você deseje que o usuário filtre o ano e ele não fique mais fixo como 2018, altere o seu SetAnalysis conforme abaixo.

 

Receita Atual = sum(Receita) 

Santana90
Contributor II
Contributor II
Author

Bom dia, Vandrecarlos

Mas não vai me atender desta forma, pois preciso calcular o ano anterior e o atual.

Por exemplo,

Ao selecionar o ano de 2018 na segmentação, para o Anterior Anterior ele já considera 2017 e assim por diante.

Receita Atual = sum({<Ano = {2018}>} Receita)
Receita Anterior = sum({<Ano = {2018-1}>} Receita) = Saída: 2017

At,

Hermann
Contributor
Contributor

Santana90, bom dia!

Pelo que entendi, você setar o valor de uma variável com o dado selecionado pelo usuário em um campo chamado Ano. Normalmente, crio uma função com o seguinte código:

=Num(if(GetFieldSelections(Ano), GetFieldSelections(Ano), Year(Now())))

Portanto, se o usuário selecionar um data no Filtro Ano, ele respeitará o GetFieldSelections, caso nenhuma data seja selecionada pelo usuário, ele populará a variável com o Ano Atual.

Espero que tenha ajudado.

View solution in original post

Santana90
Contributor II
Contributor II
Author

Hermann, boa tarde!

Boa!!! Resolvido, obrigado pela ajuda!!!

fernando_tonial
Partner
Partner

Olá,

Nesse caso recomendo fazer o Set Analysis utilizando a função Max().

Receita Atual = sum({<Ano = {$(=Max(Ano))}>} Receita)
Receita Anterior = sum({<Ano = {$(=(Max(Ano)-1))}>} Receita) = Saída: 2017

Assim, quando não houver seleção de ano, pegará o maior ano disponível no aplicativo e quando selecionado o ano de 2019 o ano anterior será o 2018.

Don't worry, be Qlik.
Tonial. 

View solution in original post

Santana90
Contributor II
Contributor II
Author

Show, fernando_tonial!!!