Sempre pensamos em diminuir os números de cliques que nossos clientes precisam executar para que possa chegar ao seu resultado desejado.
Imagine que seu cliente deseje que ao abrir seu painel, este já traga para ele as informações filtradas no período mais atual.
Isso é possível utilizando a função DAX HASONEFILTER.
Como funciona a função HASONEFILTER
HASONEFILTER, sempre retorna TRUE quando os valores filtrados diretamente em uma coluna equivalem a 1 (um). Caso essa situação não seja atendida, será retornado FALSE.
Criando a medida (Data Ref Ano Atual)
Essa medida padrão é criada para servir de referência nos cálculos das demais medidas criadas no decorrer do projeto.
Data Ref Ano Atual =
IF( // Efetuando a verificação lógica, para saber se através do HASONEFILTER, a condição solicitada está sendo atendida.
HASONEFILTER (D_Calendario[Ano]), // Verifica se está sendo passado algum filtro na coluna [Ano] da D_Calendario.
DATE(// Função responsável por retornar uma data específica no formato (yyyy,m,d).
ALLSELECTED (D_Calendario[Ano]), // Removendo todos os filtros do contexto de linhas e colunas atual e mantendo somente o filtro referente ao ano, retornando o ano do filtro.
12,31 // Fixando último dia do mês e último mês do ano para composição da data final.
), // Criando uma data a ser referenciada no filtro das medidas
DATE (// Função responsável por retornar uma data específica no formato (yyyy,m,d).
MAX (D_Calendario[Ano]), // Buscando o maior ano da tabela calendário, para retornar na composição da data.
12,31 // Fixando último dia do mês e último mês do ano para composição da data final.
)// Caso não tenha nenhum filtro aplicado, a data a ser referenciada na medida será a criada nesta condição.
)
Referenciando a medida padrão
Nesta parte vamos criar a medida e referenciar e medida padrão de tempo para que sempre seja fornecida a informação do ano atual caso não exista nenhum filtro selecionado: Medida =
VAR vDataRef = [Data Ref Ano Atual] // Criando variável para carregar a data a ser referenciada no cálculo.
Return
CALCULATE(
[Cálculo],
D_Calendario[ANO] = YEAR(vDataRef) // Equiparando o ano do cálculo com o ano extraído da data de referência gerada pela medida padrão.
) *Observação: Utilizada a função YEAR para extrair a data gerada pela função padrão, pois, como demonstrado, é gerada uma data com o uso da função DATE na medida padrão, para que caso haja a necessidade de efetuar uma comparação por data isso seja possível.
Vantagens dessa aplicação
A possibilidade de demonstrar de forma rápida todas as informações e comparações atualizadas para o período atual de forma rápida, reduzindo os cliques do cliente para executar filtros e trazer informações e comparações referente ao período atual, conforme imagens abaixo: