Esta semana no Youtube da Curbal foi apresentado um vídeo sobre como identificar se alguém estaria a dar os primeiros passos em DAX. Apesar de falarmos em regras, tratam-se basicamente de boas práticas. Estas práticas, a meu ver, são essenciais para que os nossos modelos e relatórios de Power BI consigam ser facilmente escalado e atualizados.
Ao ver o vídeo apercebi-me que a maior parte das “regras” que apresenta eu fui apanhando ao longo do tempo, vejam abaixo as que não conhecem e se aplicam alguma nos vossos modelos.
- As colunas calculadas e as medidas têm notações diferentes:
- Colunas calculadas apresentam o nome da tabela antes – Table[ColumnName]
- Medidas são apresentadas unicamente com o seu nome – [Measure]
- Como os dois tipos de cálculo se comportam de forma diferente convêm percebermos visualmente no nosso código a que tipo de cálculo nos referimos
- Utilizar medidas em detrimento de colunas calculadas
- Devemos nos nossos modelos optar pela criação de medidas e se não conseguirmos devemos optar pela criação de uma coluna calculada
- Este ponto tem sido amplamente discutido nos diversos fóruns e blogs, uma vez que se colocam problemas de desempenho e dimensionamento do modelo, mas será uma das regras
- Utilizar medidas explicitas
- Nas visualizações podemos utilizar colunas ou medidas para apresentarmos os nossos dados quando utilizamos uma coluna do nosso modelo estamos a utilizar uma medida implícita, uma vez que a agregação é realizada de acordo com os tipos de dados.
- Quando criamos medidas estamos a criar medidas explicitas, além de poderem ser utilizadas nos cálculos mais complexos também funcionam para os mais simples.
- Formatar as vossas fórmulas de DAX
- Quando iniciamos com o DAX temos tendência a escrever as fórmulas corridas, tal como no Excel, no entanto devemos sempre indentar as nossas formulas.
- Um site muito útil e fácil de utilizar é o Dax Formatter by SQLBI, basta fazer copy+paste das vossas formulas e formatar o código.
- Comentar as fórmulas de DAX
- Ao criarmos as nossas medidas sabemos qual o objetivo dos parâmetros, funções e fórmulas utilizadas, no entanto passado algum tempo dados por nós a tentar perceber um código antigo, devemos então utilizar comentários no nosso código para memória futura.
- Os comentários podem ser adicionados com // antes do texto ou então iniciando o comentário com /* e terminando com */ para texto longo com várias linhas
- Criar um modelo estrela (Star Schema)
- A criação avulsa de diversas tabelas tem inerente problemas de compreensão, desempenho e análise, pelo que deveremos criar um modelo o mais parecido com o Star Schema.
- Veja o post do SQLBI sobre a importância deste modelo.
- Encontrar o esquema estrela ideal
- Esta “regra” está relacionada com a anterior, as tabelas deverão ser criadas de modo a otimizar o modelo estrela seja através da agregação de tabelas com os mesmos dados, unpivot ou pivot de tabelas, agregação de linhas de dados, entre outros passos.
- Evitar a relações bidirecionais
- As relações bidirecionais trazem complexidade ao modelo e na maior parte das vezes os resultados obtidos não estão corretos, isto deve-se ao fato dos filtros funcionarem nas duas direções.
- Se for necessário utilizar as relações bidirecionais deverá optar-se por criar uma medida com a função CROSSFILTER que permite definir a direção dos filtros.
- Utilização de nomenclaturas “normais” (tabela, colunas, medidas)
- Na criação dos modelos devemos utilizar nomes que sejam facilmente percetíveis para todos, nomes que sejam utilizados no dia-a-dia.
- Por exemplo se estamos a trabalhar com uma tabela de vendas não deveremos chamar tbl_sales ou tbl_fact o nome para esta tabela deveria ser sales.
São algumas regras não escritas mas que são muito úteis.
Fiquem com o link do vídeo original abaixo.