Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
joffremota
Partner - Contributor III
Partner - Contributor III

(Dúvida) Utilizando Above()

Bom dia!!

Como posso tratar para que o "Above()" considere a dimensão anterior ao filtro selecionado?

Ex.: Para calcular o Turnover, que determina a taxa média entre admissões e desligamentos em relação ao efetivo da empresa, utilizo a seguinte fórmula:

Turnover_Formula.jpg

A quantidade de funcionários é da referência anterior. Ou seja, se estamos no mês de Jan/2015, o efetivo considerado para cálculo é o de Dez/2014. Quando faço a seleção do ano 2015, no mês Jan/2015 eu queria que a função Above() pegasse o valor do mês Dez/2014 para apresentar o cálculo corretamente, mas o mesmo não ocorre.

Turnover_Above.png

Atualmente, quando utilizo o Above(), para ter acesso ao valor do mês Jan/2015, preciso que o mês Dez/2014 seja exibido, como pode ser visto no print abaixo.

Turnover_Above_002.png

A fórmula que estou utilizando na expressão é

=((Sum(Admissao_Contador) + Sum(Rescisao_Contador)) / 2) / Above(Sum(Funciona_Contador))

Alguma dica de como posso fazer com que a expressão considere a referência anterior, mesmo ela não fazendo parte do filtro feito?

3 Replies
nicolett_yuri

Joffre, você pode resolver esse caso com duas possíveis soluções:

  • Tratar os dados no script
  • Calendário AsOf

Veja um exemplo com AsOf: Calculando acumulados com tabelas "AsOf"

Veja um exemplo no script: Criação do campo Acumulado via Script

Existe uma terceira com a utilização de Set Analysis, vou procurar um exemplo, caso não encontre montarei um

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Joffre,

poderias criar um campo / tabela com esta informacao

ex:

concatenate (Movimentacao)

LOAD

      Funcionario,

       addmonths(Periodo,1)     as Periodo,

      Funcionario_Contador      as Funcionario_Contador_Mes_Anterior

Resident  Movimentacao ;

Assim, a quantidade de Dez/2014 com mais 1 mes sera Jan/2015. Bastaria somar o Funcionario_Contador_Mes_Anterior para ter a quantidade do mes anterior.

Claro que ainda poderias usar o Set analysis.

Um exemplo que tenho em um modelo de RH

Variavel   vUltimoMes

=date(AddMonths(makedate(max(Calendario_Ano_Ref),max(Calendario_Mes_Ref)),-1))

Expressao (somente tem os ativos do mes anterior.....faltaria o resto da expressao......)

=count({<Calendario_Periodo={'$(=vUltimoMes)'}>} distinct Folha_Qtde)

2015-10-28 12_57_35.jpg

furtado@farolbi.com.br
Clever_Anjos
Employee
Employee

Olá, já conseguiu resolver? Se sim, por favor marque uma das respostas como "Correta" para fechar o tópico e ajudar a manter a comunidade organizada.

  https://community.qlik.com/groups/qlikview-brasil/blog/2016/05/10/como-obter-ajuda