DP-600: criar e gerir colunas calculadas eficientes
Nesta lição prática do DP-600 vou ensinar-te a criar e gerir colunas calculadas (Calculated Columns) em modelos semânticos do Power BI/Fabric. Esta competência é importante no exame porque as colunas calculadas afetam a modelagem, a coerência dos dados e o desempenho; na prática permitem resolver necessidades de negócio sem tocar nas fontes.
O que precisas de saber
Uma coluna calculada é uma coluna adicionada à tabela do modelo que é avaliada row-by-row (por linha) usando DAX. Ao contrário das medidas, as colunas calculadas armazenam valores no modelo (persistidos) e são úteis para categorização, chaves compostas, flags e transformações que serão usadas em filtros ou relacionamentos.
Exemplo simples: adicionar uma coluna YearMonth baseada numa coluna Date:
YearMonth = FORMAT(Sales[Date], "YYYY-MM")
Importante distinguir colunas calculadas de medidas e de colunas geradas na origem (Power Query):
- Colunas calculadas (DAX) são avaliadas no motor do modelo e armazenadas, aumentando o tamanho do modelo.
- Medidas (DAX) são calculadas dinamicamente consoante o contexto de filtro e não armazenadas.
- Transformações em Power Query são aplicadas antes de carregar os dados e reduzem o custo de armazenamento e cálculos no modelo.
Como funciona / Na prática
Passos para criar e gerir colunas calculadas de forma eficiente:
- Determina se é realmente necessária: pergunta se o valor precisa de ser persistido para relacionamentos, índices ou filtros de nível de linha. Se for apenas uma agregação ou dependente do contexto, usa uma medida.
- Prefere Power Query quando possível: se a transformação pode ser feita na extração/transformação (por exemplo, parsing, mudança de tipo, junções estáticas), faz-no em Power Query para reduzir o tamanho do modelo.
- Escreve DAX eficiente: usa funções com contexto de linha leves e evita iteradores quando não são necessários. Funções como RELATED, LEFT/RIGHT, FORMAT, YEAR são menos custosas do que iteradores como SUMX quando usados indevidamente.
- Evita duplicação de dados: não dupliques colunas existentes; em vez disso cria vistas semânticas ou relações que tirem partido de colunas já presentes.
- Testa e valida: verifica valores nulos, tipos e desempenho com amostras maiores antes de aplicar à tabela completa.
Exemplo prático: criar uma coluna de Segmento de Clientes a partir de RFM simplificado.
Recency = DATEDIFF(Customer[LastPurchaseDate], TODAY(), DAY)
Frequency = Customer[PurchaseCount]
Monetary = Customer[LifetimeValue]
CustomerSegment =
SWITCH(
TRUE(),
Customer[Recency] <= 30 && Customer[Monetary] > 1000, "Top",
Customer[Recency] <= 90 && Customer[Frequency] > 5, "Active",
"Other"
)
Notas práticas sobre o exemplo:
- CALCULA Recency/Monetary/Frequency como colunas calculadas se esses valores não existirem na origem ou não puderem ser calculados em Power Query.
- O uso de TODAY() torna a coluna dependente do momento do processamento — isso significa que precisa de recálculo periódico (por exemplo, agendamento de atualização).
- Se os valores mudarem frequentemente, considera migrar para medidas ou recalcular na origem para evitar custo de armazenagem e manutenção.
Erros comuns
- Usar colunas calculadas onde deveria haver medidas: criar colunas para cálculos que dependem do contexto (ex.: percentagens dinâmicas) aumenta o modelo e causa resultados errados.
- Ignorar impacto no tamanho do modelo: colunas calculadas armazenadas podem inflacionar o ficheiro .pbix; usa Power Query quando possível.
- Funções DAX ineficientes: uso excessivo de iteradores (SUMX, FILTER) em colunas calculadas para operações simples pode degradar o desempenho e atrasar o processamento de atualização.
Como praticar
Pratica com conjuntos de dados de exemplo (por exemplo, Adventure Works ou os exemplos do Power BI) e cria cenários onde tens de transformar dados na modelagem. Usa o Power BI Desktop ou Fabric semantic models para experimentar colunas calculadas e ver o impacto no tamanho e desempenho.
Para preparar-te para o exame, utiliza o Practice Assessment OFICIAL e gratuito da Microsoft e a Study Guide oficial (ambos gratuitos). Estes recursos ajudam-te a verificar as áreas medidas e a identificar onde praticar mais; não contêm perguntas de exame reais — servem para avaliação de competências.
Em resumo
- Colunas calculadas são persistidas no modelo e úteis para categorias, chaves e flags por linha.
- Prefere Power Query para transformações sempre que possível para reduzir tamanho e carga computacional.
- Escolhe entre coluna calculada e medida conforme necessidade de persistência e contexto de filtro.
- Testa desempenho e impacto no tamanho do modelo; evita iterações DAX desnecessárias.