Power BI para finanças
Gestão de Projetosintermediário~40 min
13.3 Power BI para Finanças
📊 Visão Geral
O Power BI é a principal ferramenta de Business Intelligence da Microsoft, essencial para profissionais de FP&A criarem dashboards interativos, automatizarem relatórios e democratizarem o acesso a dados financeiros.
🎯 Por que Power BI em FP&A?
Benefícios
| Benefício | Descrição |
|---|---|
| Self-service | Usuário cria próprios relatórios |
| Tempo real | Dados atualizados automaticamente |
| Interatividade | Drill-down, filtros, slicers |
| Compartilhamento | Publicar na web ou Teams |
| Integração | Conecta com 100+ fontes de dados |
Casos de Uso em FP&A
✅ Dashboard de Resultados (DRE)
✅ Acompanhamento Real vs Orçado
✅ Análise de Vendas e Margem
✅ Fluxo de Caixa e Tesouraria
✅ KPIs e Scorecards
✅ Relatório para Diretoria/Board📐 Arquitetura do Power BI
Componentes
┌─────────────────────────────────────────────────────────┐
│ POWER BI ECOSYSTEM │
├─────────────────┬─────────────────┬─────────────────────┤
│ Power BI │ Power BI │ Power BI │
│ Desktop │ Service │ Mobile │
│ (Desenvolvimento)│ (Publicação) │ (Consumo) │
└─────────────────┴─────────────────┴─────────────────────┘
│ │ │
└────────────────┼──────────────────┘
│
┌───────────┴───────────┐
│ FONTES DE DADOS │
├───────────────────────┤
│ Excel, SQL, SAP, APIs │
│ SharePoint, Dataverse │
└───────────────────────┘Fluxo de Trabalho
1. CONECTAR: Importar dados de fontes
2. TRANSFORMAR: Limpar e modelar (Power Query)
3. MODELAR: Criar relacionamentos e medidas (DAX)
4. VISUALIZAR: Construir dashboards
5. PUBLICAR: Compartilhar no Power BI Service
6. ATUALIZAR: Agendar refresh automático🔢 Power Query para FP&A
Transformações Essenciais
// Remover colunas desnecessárias
Table.RemoveColumns(Source, {"Coluna1", "Coluna2"})
// Filtrar linhas
Table.SelectRows(Source, each [Ano] >= 2024)
// Criar coluna calculada
Table.AddColumn(Source, "Margem", each [Receita] - [Custo])
// Unpivot (transformar colunas em linhas)
Table.UnpivotOtherColumns(Source, {"Conta"}, "Mês", "Valor")
// Agrupar dados
Table.Group(Source, {"Categoria"}, {{"Total", each List.Sum([Valor])}})Exemplo: Consolidar Múltiplos Arquivos
let
// Caminho da pasta com arquivos Excel
Pasta = Folder.Files("C:\Dados\Financeiro"),
// Filtrar apenas Excel
FiltrarExcel = Table.SelectRows(Pasta, each Text.EndsWith([Name], ".xlsx")),
// Importar conteúdo
ImportarConteudo = Table.AddColumn(FiltrarExcel, "Dados", each
Excel.Workbook([Content]){[Name="DRE"]}[Data]),
// Expandir tabelas
ExpandirDados = Table.ExpandTableColumn(ImportarConteudo, "Dados",
{"Conta", "Jan", "Fev", "Mar", "Abr", "Mai", "Jun"}),
// Limpar
RemoverColunas = Table.SelectColumns(ExpandirDados,
{"Name", "Conta", "Jan", "Fev", "Mar", "Abr", "Mai", "Jun"})
in
RemoverColunas📊 DAX para Finanças
Medidas Essenciais
// Receita Total
Receita Total = SUM(Fato_Vendas[Valor])
// Receita Acumulada no Ano (YTD)
Receita YTD = TOTALYTD([Receita Total], Calendario[Data])
// Receita Mesmo Período Ano Anterior
Receita AA = CALCULATE([Receita Total], SAMEPERIODLASTYEAR(Calendario[Data]))
// Variação vs Ano Anterior
Var vs AA = DIVIDE([Receita Total] - [Receita AA], [Receita AA], 0)
// Margem EBITDA
Margem EBITDA = DIVIDE([EBITDA], [Receita Total], 0)
// % Participação
% Participação = DIVIDE([Receita Total], CALCULATE([Receita Total], ALL(Dim_Produto)), 0)Medidas de Orçamento
// Real vs Orçado
Real = SUM(Fato_Real[Valor])
Orçado = SUM(Fato_Orcado[Valor])
// Variação Absoluta
Var Absoluta = [Real] - [Orçado]
// Variação Percentual
Var % = DIVIDE([Real] - [Orçado], [Orçado], 0)
// Atingimento
Atingimento = DIVIDE([Real], [Orçado], 0)
// Forecast (Real + Orçado restante)
Forecast =
CALCULATE([Real], Calendario[Data] <= TODAY()) +
CALCULATE([Orçado], Calendario[Data] > TODAY())Time Intelligence
// Mês Anterior
MoM =
VAR MesAtual = [Receita Total]
VAR MesAnterior = CALCULATE([Receita Total], PREVIOUSMONTH(Calendario[Data]))
RETURN DIVIDE(MesAtual - MesAnterior, MesAnterior, 0)
// Média Móvel 3 Meses
Media Movel 3M =
AVERAGEX(
DATESINPERIOD(Calendario[Data], MAX(Calendario[Data]), -3, MONTH),
[Receita Total]
)
// Rolling 12 Meses
Rolling 12M =
CALCULATE(
[Receita Total],
DATESINPERIOD(Calendario[Data], MAX(Calendario[Data]), -12, MONTH)
)📈 Visuais para FP&A
Dashboard de DRE
Estrutura recomendada:
┌─────────────────────────────────────────────────────────┐
│ DEMONSTRAÇÃO DE RESULTADOS - Janeiro/2025 │
├──────────────┬──────────────┬──────────────────────────┤
│ │ │ │
│ KPI Cards │ KPI Cards │ Gráfico Waterfall │
│ Receita │ EBITDA │ (Bridge de DRE) │
│ │ │ │
├──────────────┴──────────────┼──────────────────────────┤
│ │ │
│ Tabela Matriz │ Gráfico de Linha │
│ (DRE detalhada) │ (Evolução mensal) │
│ Real | Orçado | Var% │ │
│ │ │
├─────────────────────────────┴──────────────────────────┤
│ Slicers: Ano | Mês | Unidade │
└─────────────────────────────────────────────────────────┘Visuais Recomendados
| Visual | Uso em FP&A |
|---|---|
| Card | KPIs principais |
| Matrix | DRE, Balanço |
| Waterfall | Bridge de variação |
| Line Chart | Evolução temporal |
| Combo Chart | Receita (barras) + Margem (linha) |
| Gauge | Atingimento de meta |
| Treemap | Composição de receita/custo |
Formatação Condicional
Para destacar variações:
- Positivo > 5%: Verde
- Entre -5% e 5%: Amarelo
- Negativo < -5%: Vermelho
Configurar em: Formato > Formatação condicional > Cor do plano de fundo🏭 Modelo de Dados Financeiro
Estrutura Estrela (Star Schema)
┌─────────────┐
│ Dim_Tempo │
│ (Calendário)│
└──────┬──────┘
│
┌─────────────┐ ┌───────┴───────┐ ┌─────────────┐
│ Dim_Conta │────│ Fato_DRE │────│ Dim_Empresa │
│ (Plano de │ │ (Valores) │ │ (Unidades) │
│ Contas) │ └───────┬───────┘ └─────────────┘
└─────────────┘ │
┌──────┴──────┐
│ Dim_Cenário │
│ (Real/Orç) │
└─────────────┘Tabela Calendário
Calendario =
ADDCOLUMNS(
CALENDAR(DATE(2020,1,1), DATE(2030,12,31)),
"Ano", YEAR([Date]),
"Mês", MONTH([Date]),
"Nome Mês", FORMAT([Date], "MMMM"),
"Mês Abrev", FORMAT([Date], "MMM"),
"Trimestre", "Q" & QUARTER([Date]),
"Ano-Mês", FORMAT([Date], "YYYY-MM"),
"Semana", WEEKNUM([Date]),
"Dia Semana", WEEKDAY([Date])
)🔄 Atualização de Dados
Opções de Refresh
| Método | Frequência | Custo |
|---|---|---|
| Manual | Sob demanda | Gratuito |
| Agendado | 8x/dia (Pro) | Pro License |
| Incremental | Apenas novos | Premium |
| DirectQuery | Tempo real | Gateway |
Configurar Gateway
1. Baixar e instalar Power BI Gateway
2. Configurar fonte de dados no Gateway
3. No Power BI Service: Dataset > Settings > Gateway
4. Agendar refresh: Settings > Scheduled Refresh✅ Checklist de Dashboard
Design
- [ ] Hierarquia visual clara (do geral ao detalhe)
- [ ] Cores consistentes (evitar muitas cores)
- [ ] Títulos claros em cada visual
- [ ] Legendas quando necessário
- [ ] Responsivo para diferentes telas
Performance
- [ ] Modelo de dados otimizado (star schema)
- [ ] Colunas calculadas vs medidas (usar medidas)
- [ ] Filtros no Power Query (não no DAX)
- [ ] Quantidade de visuais por página (< 10)
- [ ] Tamanho do dataset controlado
Funcionalidade
- [ ] Slicers relevantes e bem posicionados
- [ ] Drill-through configurado
- [ ] Tooltips personalizados
- [ ] Bookmarks para navegação
- [ ] Botões de navegação
🛠️ Template Power BI
O template 13.3_dashboard_financeiro.pbix inclui:
- Página DRE - Resultado por mês/trimestre
- Página Orçamento - Real vs Orçado
- Página Vendas - Análise por produto/região
- Página Fluxo de Caixa - Entradas e saídas
- Página Indicadores - KPIs e metas
💡 Dicas Práticas
- Comece pelo modelo de dados - Bom modelo = fácil DAX
- Use medidas, não colunas calculadas - Melhor performance
- Crie tabela de calendário - Essencial para time intelligence
- Padronize nomes - Convenção clara (Dim_, Fato_, Med_)
- Documente medidas - Use descrições no DAX
📚 Recursos de Aprendizado
Cursos Gratuitos
- Microsoft Learn (oficial)
- YouTube: Guy in a Cube, SQLBI
- Power BI Community
Certificação
- PL-300: Power BI Data Analyst
Comunidade
- Power BI Community Forum
- r/PowerBI (Reddit)
- LinkedIn Groups
🔗 Guias Relacionados
Dúvida neste guia? O consultor conhece este conteúdo e a Biblioteca.Perguntar ao Consultor