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.
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.
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?
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:
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:
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.