O processo de fazer a modelagem de dados para um cubo tabular envolve principalmente identificar o escopo do negócio para extrair o real significado por traz dos dados que evidenciam a situação de um processo de negócio. Neste primeiro momento a preocupação fica restrita a encontrar os limites que definem o assunto que o modelo de dados busca suportar. Superando essa fase, iniciamos um estágio mais técnico, onde algumas configurações precisam ser realizadas para garantir um modelo de dados mais eficiente.
A primeira e mais importante recomendação é: buscar a desmoralização das dimensões e a criação de um modelo estrela. Isso é importante porque resulta em um modelo mais simples, tanto para o usuário navegar entre os atributos quanto para o desenvolvedor criar as medidas em DAX. Entre outras práticas não menos importantes estão:
Não trazer chaves primárias ou colunas date/time com horário para o modelo, se for necessário utilizar o horário, separar em outra coluna. Isso aumenta o tamanho do modelo significativamente por causa do método de armazenamento colunar do Power BI.
Desabilitar a opção auto date/time do Power BI. Essa opção que cria internamente tabelas com intervalos de Datas, máximo e mínimo para cada coluna de data do modelo, caso uma das colunas esteja com uma data muito antiga, as tabelas de datas irão impactar no tamanho da base de dados sem necessidade.
Crie sempre a sua própria tabela de datas: Existe diversas formas de criar sua própria tabela com intervalos de datas contínuos. Pode ser via script sql, por um arquivo em excel, usando a linguagem M no Power Query ou usando DAX. O ponto importante aqui é garantir que ela atenda 100% dos intervalos de datas do seu modelo e tenha o ano completo, começando no primeiro dia do primeiro ano e terminando no último dia do maior ano. Isso é importante para o funcionamento das funções de tempo.
Remover todas as colunas não utilizadas: Manter no modelo apenas o que for usado para análise e relacionamento, ou seja, idealmente o modelo deve ter apenas chaves estrangeiras e colunas utilizadas em medidas na tabela de fatos. Nas dimensões, apenas os atributos utilizados para análise.
Não criar colunas calculadas apenas para suportar um cálculo de uma medida, utilize ou funções iterativas e variáveis. Isso é importante porque cada nova coluna calculada criada o modelo de dados precisam ser pré-processados, prejudicando a performance do modelo.
Oculte todas as chaves estrangeiras: A princípio a única função delas é manter o relacionamento, por isso, não deixe que elas fiquem visíveis.
Definir corretamente os tipos de dados para cada atributo: Não utilize decimal quando não for necessário. Defina para colunas de localização como município, estados, lat-long, as categorias corretas.
Não utilize as colunas numéricas para fazer a agregações. Crie sempre uma medida, isso é importante porque alguns recursos como transição de contexto em colunas calculadas, ou o recurso calculation groups não funcionam a menos que inclua a coluna dentro de uma função calculate. Mas se for usar as colunas numéricas para agregação, define previamente todas as formas de sumarização e desabilite a agregação para colunas numéricas como ano que não precisam.
Não utilize relacionamento bidirecional. Esse tipo de relacionamento pode causar referência circular no modelo. Esse tipo de relacionamento físico também impacta na forma como o conceito de tabelas expandidas funciona. Para contornar isso e fazer uma medida receber um filtro que não está chegando por falta de relacionamento bidirecional, use o modificador de contexto CROSSFILTER.
Identifique se existem chaves na tabela de fatos que não possuem valor correspondente nas dimensões. Apesar do Power BI fazer o tratamento destes casos adicionando um valor Blank na dimensão, isso pode gerar distorções quando usamos a funções VALUES ou DISTINCT, ou dúvidas quando o atributo é usado como slice.
Use sempre a função DIVIDE para evitar erros quando houver divisões por Zero.
Utilize nomes claros para atributos. Os nomes padronizados e autoexplicativos podem melhorar muito a experiência de construção e análise do modelo.
Estas são apenas algumas das muitas coisas que podemos fazer para melhorar a experiência de análise e construção de modelos tabular.
Nenhum comentário:
Postar um comentário