Você conhece todas as melhores práticas de modelagem de dados? Tem certeza? Se você está na dúvida, ou apenas ficou curioso, você precisa conhecer essa ferramenta que irá economizar horas dos seus desenvolvimentos de projetos e otimização de relatórios.
Tabular Editor
Acredito que este nome seja mais familiar para você. Com o Tabular Editor você pode manipular modelos tabulares editando modelos de dados, automatizando tarefas repetitivas com scripts ou analisar se o seu relatório está seguindo as boas práticas de desenvolvimento com o … BPA (Best Practices Analyzer)!
BPA: Best Practices Analyzer
O Analisador de Práticas Recomendadas é um conjunto de regras pré-configuradas no Tabular editor. Quando essas regras são executadas, a ferramenta entrega uma lista com as colunas e medidas que violam cada regra. As regras são divididas em cinco categorias para facilitar a organização. São elas:
Desempenho
Expressões DAX
Prevenção contra erros
Formatação
Manutenção
Com o BPA você pode por exemplo:
identificar medidas que estão utilizando “/” ao invés de DIVIDE
identificar medidas com as mesmas definições
listar medidas e colunas não utilizadas
listar tabelas sem relacionamentos, relacionamentos bidirecionais, ou de muitos para muitos
identificar se a dimensão calendário foi marcada como tabela de data
listar todas as tabelas e colunas calculadas
e muito mais. Você ainda pode editar o seu modelo de forma simples utilizando os scripts gerados pelo BPA rodando eles na janela de scripts avançados do Tabular Editor. Veremos um exemplo mais a frente.
Executar o BPA no Tabular Editor
Para executar o BPA você deve ter o Tabular editor instalado. Depois você deve abrir o Tabular editor e rodar o seguinte script na Janela de Scripts Avançados.
System.Net.WebClient w = new System.Net.WebClient();
string path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData);
string url = "https://raw.githubusercontent.com/microsoft/Analysis-Services/master/BestPracticeRules/BPARules.json";
string downloadLoc = path+@"\TabularEditor\BPARules.json";
w.DownloadFile(url, downloadLoc);
Depois, você deve fechar e abrir novamente o Tabular Editor. Então você verá o BPA disponível na aba Tools (Ferramentas), como mostra a imagem abaixo.
Depois disso, o BPA irá gerar uma lista com as regras violadas e os objetos (tabelas, colunas e medidas) que violam cada uma das regras estabelecidas. Caso a lista não carregue imediatamente basta utilizar o botão de refresh no canto superior direito. Na parte inferior da janela você pode ver o total de objetos e o total de regras violadas.
Edição em massa com scripts avançados
Agora vamos exemplificar um caso de edição em massa com as regras do BPA. Neste caso vamos desativar a opção IsAvailableInMdx para 271 colunas utilizando um script avançado.
Antes de rodarmos o script, veja a quantidade de memória necessária para armazenar a Hierarquia das colunas de todas as tabelas do modelo.
Para copiar o script, basta clicar com o botão direito sobre a regra na janela do BPA.
Então colamos o script na janela de scripts avançados no Tabular Editor.
Após rodar o script e atualizar o modelo, podemos analisar novamente a coluna “Hierarchy Size” no Dax Studio e notamos que ela diminui significativamente e foi zerada na maioria das tabelas e o tamanho do modelo diminuiu por consequência.
Editando as regras
O BPA foi projetado para permitir que você edite ou crie suas próprias regras conforme a necessidade da sua organização.
Aqui você poderá desativar as regras, editá-las ou criar novas regras
Quando utilizar o BPA
Você pode utilizar o BPA para auxiliar no seu processo de promoção e certificação de datasets e relatórios. Você pode também utilizá-lo para apontar os principais pontos a serem melhorados em um relatório que possui um alto consumo no seu ambiente Premium e que precise ser otimizado. Por fim, se a sua organização tiver um processo de CI/CD utilizando o Git, você pode integrar o BPA ao Azure Pipelines.
Conclusão
As regras aplicadas no BPA foram desenvolvidas a partir das melhores práticas conhecidas ao se trabalhar com modelos tabulares e por isso essa ferramenta é um excelente ponto de partida para tornar mais eficiênte a sua análise de modelos independente se o seu objetivo seja padronização, otimização ou desenvolvimento. Obrigado por ter chegado até aqui e eu, e a Dataside, nos colocamos a disposição para conversamos e ajudarmos você com esse processo. Até a próxima!
Excelente conteúdo Alan, estava justamente buscando um conteúdo como esse.