REFERÊNCIA DE MEDIDAS DAX - SIMULADO BAMAQ

Contexto

Este material reúne as principais medidas DAX e boas práticas utilizadas em produtos de Business Intelligence voltados à área de FP&A e Contabilidade. O conteúdo é baseado em um cenário com dados do Oracle EPM integrados ao Power BI.

Medidas DAX Essenciais


Dim_Tempo = 
ADDCOLUMNS (
    CALENDAR (DATE(2025,1,1), DATE(2025,12,31)),
    "Ano", YEAR([Date]),
    "Mês_Num", MONTH([Date]),
    "Mês", FORMAT([Date], "mmm")
)
Fato_EPM = 
UNION (
    SELECTCOLUMNS (EPM_Realizado, "Centro_Custo", EPM_Realizado[Centro_Custo], "Conta", EPM_Realizado[Conta], "Mês", EPM_Realizado[Mês], "Tipo", "Realizado", "Valor", EPM_Realizado[Valor]),
    SELECTCOLUMNS (EPM_Orçado, "Centro_Custo", EPM_Orçado[Centro_Custo], "Conta", EPM_Orçado[Conta], "Mês", EPM_Orçado[Mês], "Tipo", "Orçado", "Valor", EPM_Orçado[Valor])
)
Valor Realizado = 
CALCULATE(SUM(Fato_EPM[Valor]), Fato_EPM[Tipo] = "Realizado")

Valor Orçado = 
CALCULATE(SUM(Fato_EPM[Valor]), Fato_EPM[Tipo] = "Orçado")

Desvio Absoluto = 
[Valor Realizado] - [Valor Orçado]

Desvio Percentual = 
DIVIDE([Desvio Absoluto], [Valor Orçado], 0)

Cumprimento (%) = 
DIVIDE([Valor Realizado], [Valor Orçado], 0)

Acumulado Realizado = 
CALCULATE([Valor Realizado], 
    FILTER(ALL(Dim_Tempo), Dim_Tempo[Data] <= MAX(Dim_Tempo[Data]))
)

1. Diagnóstico do erro: “Os CSVs apresentavam inconsistências de separador e formatação numérica. Corrigi via Power Query (replace, promote headers, transform column types) e converti todos os valores para float.”

2. Garantia de qualidade: “Implementei validações de duplicidade e consistência entre o EPM Orçado e o Realizado, garantindo que cada centro de custo e conta tivessem correspondência 1:1.”

3. Modelagem: “Adotei um modelo estrela com Fato_EPM e dimensões (Tempo, DRE, Centro de Custo). Evitei relacionamentos bidirecionais para preservar performance e clareza no contexto de filtro.”

4. DAX: “As medidas foram criadas de forma desacoplada, com cálculos claros e reutilizáveis. Evitei FILTERs desnecessários e validei resultados com totais contábeis.”

5. Performance: “Para reprocessamento futuro, criaria um Dataflow com refresh incremental, evitando recarga completa dos CSVs.”

Boas Práticas - Resumão