Eventualmente, na profissão de analista de dados, nos deparamos em situações em que precisamos realizar manutenção em modelagens que foram desenvolvidos por terceiros, ou continuar o desenvolvimento do projeto com este modelo de dados.
O maior desafio neste sentido é: como avaliar, se familiarizar, identificar regras, e quais as relações de um modelo de dados totalmente desconhecido?
Ainda mais desafiador é, realizar todas estas ações sem a documentação do projeto.
No artigo anterior, abordamos como realizar a documentação de projetos utilizando a ferramenta externa Model Documenter. Neste, veremos como esta mesma ferramenta poderá auxiliar a identificar indícios de problemas de modelagens, desenvolvimento e boas práticas em projetos desconhecidos, através de alguns exemplos.
Todo o processo de instalação e utilização da ferramenta já foi abordado no artigo anterior, se você está se deparando com este primeiro, sugiro a leitura através deste link.
Uma vez tendo o novo arquivo PBIX gerado pelo Model Documenter, vamos analisar alguns indícios de um modelo com problemas.
Tela PQ Parameters
É evidenciado nas literaturas como uma boa prática e recomenda-se a utilização de parâmetros no PowerQuery.
Com a utilização desta funcionalidade, o processo de manutenção futura em caso de troca de fontes de dados, filtros específicos ou configurações avançadas se tornam mais simples.
Neste caso abaixo, observa-se que nenhum parâmetro foi criado.
![](https://static.wixstatic.com/media/e6496e_6208a8d517e242009e3ddabbbd6b7673~mv2.png/v1/fill/w_245,h_90,al_c,q_85,enc_auto/e6496e_6208a8d517e242009e3ddabbbd6b7673~mv2.png)
Tela Tables
De imediato, observa-se duas informações importantes neste relatório, existem 6 tabelas que são resultados da opção de auto date/time habilitada e 14 tabelas calculadas via DAX. Estes dois pontos podem gerar impactos significativos em termos de performance e tamanho do modelo de dados.
![](https://static.wixstatic.com/media/e6496e_2432cf889c014e2aaf1b4c0f9fa4e3fb~mv2.png/v1/fill/w_175,h_130,al_c,q_85,enc_auto/e6496e_2432cf889c014e2aaf1b4c0f9fa4e3fb~mv2.png)
Tela Columns
Semelhante às análises da tela tables, na tela columns, observa-se uma elevada quantidade de colunas calculadas via DAX.
Não é proibido criar colunas calculadas, porém, recomenda-se que sejam feitas apenas em questões pontuais.
Neste caso, temos 70 colunas calculadas, o que representa aproximadamente 43% do total de colunas do modelo. Será que há realmente necessidade, ou uma etapa de tratamento e modelagem no PowerQuery substituiria essa situação?
![](https://static.wixstatic.com/media/e6496e_b845bd9073a845d8baef5b478c3db5cf~mv2.png/v1/fill/w_243,h_175,al_c,q_85,enc_auto/e6496e_b845bd9073a845d8baef5b478c3db5cf~mv2.png)
Outra observação importante que esta tela nos permite inferir é a cardinalidade das colunas.
A cardinalidade refere-se à quantidade de valores únicos presente em uma coluna, quanto maior a cardinalidade, maior será o tamanho desta coluna e por consequência, maior será o tamanho da tabela.
Neste sentido, pode-se avaliar a tipagem das colunas, e a criação de colunas repetidas no modelo. Na imagem abaixo, observa-se que existem 6 tabelas idênticas, nomeadas de forma distintas:
![](https://static.wixstatic.com/media/e6496e_2a95e5e8af784a58897b8caebb429e48~mv2.png/v1/fill/w_373,h_397,al_c,q_85,enc_auto/e6496e_2a95e5e8af784a58897b8caebb429e48~mv2.png)
Tela de Relacionamentos
Nesta Tela, para este exemplo, identificamos de forma imediata problemas de relacionamento entre as tabelas.
Observa-se pelos cartões que existem 6 relacionamentos com cardinalidade Muitos-para-Muitos:
![](https://static.wixstatic.com/media/e6496e_4f5cadb5a1bd400bb47812837ca2733b~mv2.png/v1/fill/w_241,h_173,al_c,q_85,enc_auto/e6496e_4f5cadb5a1bd400bb47812837ca2733b~mv2.png)
Nos itens anteriores vimos alguns exemplos de avaliações que podem auxiliar a diagnosticar um modelo de dados desconhecido.
Existem no mercado outras ferramentas externas que possibilitam este mesmo tipo de análise, porém o Model Documenter as gera de forma automática e simplificada.
Outros tipos de análises podem ser feitas pelo analista para complementar o seu diagnóstico, conforme mencionado no artigo de documentação de modelos, o Model Documenter gera um PBIX contendo os mais diversos tipos de informações sobre o conjunto/modelo de dados, e aqui cabe a criatividade e curiosidade do analista para investigar ainda mais a fundo o modelo e ter uma real noção do quanto de energia e tempo será necessário para corrigir problemas, dar manutenção ou realizar novos desenvolvimentos a partir de um modelo desconhecido.