Uma etapa importante ao desenvolver um relatório de BI é garantir que todas as medidas e colunas presentes no relatório estão realmente sendo utilizadas. Portanto, uma boa prática ao final de cada desenvolvimento é conferir as tabelas e deletar o que não estiver sendo aproveitado, reduzindo o tamanho do relatório, assim como o tempo de carregamento e atualização.
O desafio reside no fato de que em relatórios extensos pode ser difícil identificar quais medidas e colunas não estão sendo usadas e, mesmo depois de identificá-las, pode ser um trabalho árduo otimizar o relatório deletando-as manualmente.
Com o objetivo de auxiliar os analistas nessa tarefa, irei compartilhar uma nova ferramenta externa do Power BI denominada Measure Killer, desenvolvida por Gregor Brunner.
Measure Killer é uma ferramenta externa com versão gratuita, que pode ser baixada pelo site da Brunner Bi, ou pela loja oficial da Microsoft, e instalada ao Power BI para ser utilizada em qualquer relatório.
Site da Brunner Bi: https://en.brunner.bi/
Documentação e instalação do Measure Killer: https://en.brunner.bi/measurekiller
Ao realizar o download, deve-se atentar a melhor versão para a correta utilização, pois existem duas versões diferentes para versão gratuita.
Uma versão "admin" e uma versão "non-admin" ou portátil. Para poder instalar a versão admin, o usuário deve ter direitos de administrador no sistema. Mas basicamente as duas versões funcionam exatamente da mesma forma. A única desvantagem da versão "não administrativa", é que o Measure Killer não será adicionado automaticamente às "Ferramentas externas" no Power BI Desktop.
Já as versões pagas, versão Basic e versão Enterprise, oferecem funcionalidades a mais em comparação com a versão gratuita, como executar em conjuntos de dados compartilhados, suporte técnico, dentre outros listados na imagem abaixo:
Ao instalar o Measure Killer, basta seguir os passos abaixo para otimizar seu relatório:
1. Navegar até o menu de ferramentas externas (External Tools) dentro do Power BI e abrir o Measure Killer
2. Escolher a opção “Start (Free version)” para executar a ferramenta como versão gratuita.
3. Escolher a opção “Single Report Dataset” para utilizar a ferramenta no pbix trabalhado.
4. A página inicial do Measure Killer será aberta, então é necessário selecionar a opção “Execute” para executar a ferramenta no relatório trabalhado.
5. O Measure Killer irá analisar todas as medidas e colunas presentes no relatório, para identificar as que não estão sendo utilizadas.
6. Para facilitar a interpretação dos resultados, é possível gerar um gráfico comparativo entre medidas e colunas utilizadas e não utilizadas. Basta selecionar a opção “Plot unused vs used”. Também é possível importar o resultado para arquivo Excel, selecionando a opção “Document Results”.
7. As medidas e colunas grifadas de vermelho serão as que não estão sendo utilizadas no relatório, para filtrar a visualização com apenas as não utilizadas, selecione a opção “Filter unused”.
8. Para realizar a otimização das medidas não utilizadas, selecione a opção “Kill unused measures”. Três opções serão oferecidas, sendo respectivamente: deletar todas as medidas não utilizadas, selecionar quais medidas não utilizadas serão deletadas, e gerar um script C# para o Tabular Editor.
8.1 Como o Measure Killer é uma ferramenta nova, e ainda está na versão 0.9.2 no momento da escrita deste artigo, as duas primeiras opções de deletar as medidas não utilizadas diretamente pelo Measure Killer podem apresentar falhas, sendo necessário executar este processo diversas vezes.
8.2 Portanto, a melhor opção será a de gerar um script C# para ser utilizado dentro do Tabular Editor. Este script será gerado na parte esquerda da ferramenta, disponível para ser copiado.
9. Após copiar o scritp gerado, basta abrir o Tabular Editor, colar em “Advanced Scripting”, e aplicar dentro do relatório.
10. Feito isso, o relatório agora está otimizado, com todas as medidas não utilizadas deletadas. Ao executar novamente o Measure Killer e gerar o gráfico de comparação, teremos apenas medidas que estão efetivamente sendo utilizadas.
11. Para realizar a otimização das colunas não utilizadas, selecione a opção “Kill unused columns”. O Measure Killer irá abrir um gerador de código M, onde ao selecionar a opção “Choose a table”, irá aparecer todas as tabelas do relatório que possuem colunas não utilizadas.
11.1. Ao escolher uma tabela, selecione a opção “Copy Text” para copiar o código M.
12. Com o código M copiado, abra o Power Query, entre no Editor Avançado desta mesma tabela, e cole este novo código, substituindo o antigo. Uma nova etapa será adicionada ao final deste código, eliminando todas as colunas não utilizadas na tabela.
13. Repita este mesmo processo para todas as tabelas mapeadas pelo Measure Killer, até eliminar todas as colunas não utilizadas do relatório. Feito isso, o relatório agora está otimizado, com todas as colunas não utilizadas deletadas. Ao executar novamente o Measure Killer e gerar o gráfico de comparação, teremos apenas colunas que estão efetivamente sendo utilizadas.
Após realizar todas as etapas, garantimos a otimização do relatório de BI, melhorando a performance, aumento a velocidade de atualização dos dados, e principalmente o aumento de qualidade para a experiência do usuário.
Que top , @mateus.gomes ! Parabéns pelo excelente artigo, com toda certeza este artigo ficará salvo como favorito, muito necessário! 😎