Quando comecei a utilizar o Power BI (PBI) realizei as tarefas da mesma forma que as fazia no Excel, ou seja, quando tinha que fazer algum resumo de dados com alguns cálculos diferentes dos que estão disponíveis por defeito criava novas colunas na base de dados ou novas tabelas.
Penso que esta transição de um modo de trabalho no Excel em que temos de ter toda a nossa informação visível numa célula (com utilização de fórmulas ou introdução directa) condiciona a nossa abordagem quando temos um software como o Power BI que nos permite ter cálculos que apenas são realizados quando invocados, mesmo que não estejam visíveis para o utilizador.
Com o desenvolver das minhas capacidades vim a descobrir que muitas das colunas/tabelas que criava para os meus cálculos auxiliares não eram necessárias pois o motor do DAX permitia efectuar esses cálculos auxiliares sem ter que criar mais informação na minha base de dados.
Isto fez-me ler um pouco mais sobre as melhores práticas e cheguei a conclusão que existem diversas opiniões sobre se é preferível criar medidas ou colunas, sendo que existem argumentos a favor e contra uma e outra.
Não quero entrar nessa “discussão” pois existe muito a dizer mas antes de podermos tomar a nossa opção entre a criação de medidas ou colunas temos de perceber a diferença entre as duas.
Colunas calculadas
Nos vários tipos de modelos (Power Pivot, Analysis Services Tabular, PBI) podemos acrescentar dados adicionais através de novas colunas. A criação das novas colunas (mais especificamente no PBI) pode ser realizado através do Power Query (M Language) ou DAX (para perceberem as diferençar referenciem-se ao post anterior Diferenças entre DAX e M).
Especificamente em DAX as colunas calculadas tem um contexto referenciado ao nível da linha, ou seja, a indicação directa de uma outra coluna na formula vai devolver o valor dessa outra coluna na mesma linha, e sem cálculos avançados não podemos ir buscar dados de outras linhas ou tabelas.
Outra questão relevante é que as colunas são calculadas no momento de processamento/actualização da base de dados e guardada no modelo, significando se tivermos cálculos complexos os mesmo vão ser realizados no processamento e não nas consultas significando uma melhor performance.
Por fim é importante perceber que ao serem colunas criadas na base de dados o tamanho físico dos ficheiros vai aumentar porque eu estou a guardar uma nova coluna com N elementos na tabela.
Medidas
As medidas em PBI são cálculos que só podem ser realizados em DAX e que nos permitem agregar a informação de acordo com o contexto das visualizações.
Essa agregação referida acontece quando não temos de passar pelo contexto da linha um exemplo prático o calculo de uma percentagem.
Considerando uma tabela com valores de vendas por cliente e quisermos saber a margem percentual que calculamos com a fórmula:
Margem % = (Venda – Custo )/ Venda
Ao efectuarmos o calculo através de uma coluna quando quisermos ter o total para todos os clientes não vamos conseguir o valor correto pois as opções de resumo SOMA / MÉDIA / MÍNIMO / MÁXIMO. Neste caso o calculo da margem tem de ser calculado através de uma medida que permite agregação de valores.
As explicações acima são muitos sucintas e provavelmente confusas (peço desculpa por isso) no entanto apenas quis aguçar a vossa curiosidade para dois recursos fundamentais no PBI as Colunas e as Medidas.
Para melhor entenderem estes conceitos aconselho os links abaixo: