Com o Power BI conseguimos criar diversos visuais e aplicar os filtros necessários conforme a necessidade de cada cliente e projeto.
Por padrão, conseguimos ver os filtros aplicados ao passar o mouse sobre determinado visual e, em seguida, sobre o ícone de filtro.
Todavia, essa não é a opção mais prática para os usuários, principalmente para aqueles que não têm tanta familiaridade com o Power BI. Além disso, caso optemos por desativar o cabeçalho dos visuais, essa possibilidade também será perdida.
Conseguimos contornar essa situação de uma maneira bem simples e diretamente no visual. E, para isso, é necessário apenas a utilização do Tabular Editor, uma ferramenta externa bem famosa.
Instalando o Tabular Editor
Primeiramente, vamos aprender como instalar o Tabular Editor.
1. Acesse o site https://github.com/TabularEditor/TabularEditor/releases
2. Desça um pouco a página até encontrar a seção “Assets” e, em seguida, clique para baixar
3. Após isso, basta instalar o programa normalmente.
4. Com a conclusão da instalação, abra o Power BI, vá em “Ferramentas Externas” e pronto, basta clicar no ícone do Tabular Editor.
Utilizando o script avançado para criar a medida de filtro
Primeiramente, importante ressaltar que o Tabular Editor é uma ferramenta mil e uma utilidades, que facilita bastante nosso dia a dia. Com ele conseguimos manipular e gerenciar as medidas, tabelas e colunas, por exemplo.
No caso desse artigo, vamos utilizar um (dos vários) scripts avançados do Tabular Editor, visando a criação de uma medida que conterá os filtros aplicados em determinados visuais.
Para isso, basta clicarmos no nome da tabela na qual a medida deverá ser salva. No caso, escolhi a tabela “Medidas”, que como o nome diz, contém todas as medidas criadas no relatório. E, em seguida, em “Advanced Scripiting”.
Agora, basta colarmos o seguinte código em C# que itera sobre todas as colunas do modelo, combinando o resultado de um bloco de código DAX para cada coluna. O bloco de código DAX verifica se a coluna tem filtros aplicados, conta quantos filtros foram aplicados e os combina em uma única string para exibir a seleção do usuário:
var dax = "VAR MaxFilters = 3 RETURN ";
var dumpFilterDax = @"IF (
ISFILTERED ( {0} ),
VAR ___f = FILTERS ( {0} )
VAR ___r = COUNTROWS ( ___f )
VAR ___t = TOPN ( MaxFilters, ___f, {0} )
VAR ___d = CONCATENATEX ( ___t, {0}, "", "" )
VAR ___x = ""{0} = "" & ___d
& IF(___r > MaxFilters, "", ... ["" & ___r & "" items selected]"") & "" ""
RETURN ___x & UNICHAR(13) & UNICHAR(10)
)";
// Loop through all columns of the model to construct the complete DAX expression:
bool first = true;
foreach(var column in Model.AllColumns)
{
if(!first) dax += " & ";
dax += string.Format(dumpFilterDax, column.DaxObjectFullName);
if(first) first = false;
}
// Add the measure to the currently selected table:
Selected.Table.AddMeasure("DumpFilters", dax);
E clicar no botão verde de play.
Obs: se quiser alterar o nome da medida, basta modificar a última linha do código antes de rodar o script.
Ao fazer isso, note que o próprio Tabular Editor já cria a medida na respectiva pasta.
Inicialmente, aparecerá esse ícone de interrogação mesmo. Para salvar a criação da medida e, consequentemente, remover a interrogação, basta salvarmos as alterações, no terceiro ícone do programa, conforme imagem abaixo. Pronto! Podemos fechar o Tabular Editor.
De volta ao Power BI
Voltando ao Power BI, verificamos que a medida realmente está aparecendo na tabela de Medidas. E agora basta incluí-la no campo de tooltip do visual.
Desse modo, o usuário consegue ver de maneira simples e rápida quais os filtros aplicados, garantindo uma análise mais assertiva dos dados!
Para quem quiser se aprofundar nas “mágicas” que o Tabular Editor nos permite fazer, deixo abaixo o link da documentação desse e de outros scripts bem úteis.
Até a próxima, pessoal! 🚀
Links úteis:
https://docs.tabulareditor.com/te2/Useful-script-snippets.html#create-dumpfilters-measure
https://www.sqlbi.com/articles/displaying-filter-context-in-power-bi-tooltips/