Skip to content

About

Painel de BI: 10 anos da cadeia de soja e milho no Brasil (2015-2025) - Power BI, DAX, Python

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Soja & Milho no Brasil · 2015–2025

Painel de Business Intelligence — Power BI · DAX · Python

Power BI DAX Python Fontes Licença

Prévia do painel

TL;DR (EN). A Power BI portfolio project analysing ten years of Brazil's soybean & corn supply chain: production, export revenue, the dependency on China, the effect of FX and global interest rates, and the toll of El Niño / La Niña. Built on a star-schema model with ~40 DAX measures (period-aware KPIs), a small custom HTML/SVG visual I packaged as a .pbiviz, and a reproducible Python data pipeline over official public sources.


Sobre

Entre 2015 e 2025 o Brasil consolidou-se como o maior exportador mundial de soja e um dos maiores de milho. Este painel mede como esse crescimento aconteceu e quão exposto o resultado do setor ficou a três forças externas: a demanda da China, o câmbio e os juros globais e a variabilidade climática.

O projeto vai da coleta (scripts Python sobre APIs e séries históricas oficiais) até a apresentação (um painel de uma página, um carrossel para LinkedIn e a análise escrita).

Principais achados

Achado Números
1 Produção +71% em dez anos, mas ~2/3 vieram de área nova, não de produtividade soja: área +47%, produtividade +20%
2 Volume de soja recorde em 2025, receita menor: a exportação do complexo caiu de US$ 80,9 bi (2023) para US$ 61,5 bi (2025) preço internacional da soja voltou ao nível de 2015
3 Quem sustentou a renda em reais foi o câmbio (R$ 3,33 → R$ 5,59); a Selic a 15% encareceu o custeio —
4 79% da soja em grão exportada vai para a China — oscilou entre 82% (2018) e 68% (2022, guerra comercial) média da década ≈ 75%
5 El Niño / La Niña subtraíram ~64 Mt de safra desde 2016 cada fase forte custa 15–19 Mt

A frase que resume o painel:

"Em dez anos o Brasil quase dobrou a receita de exportação de grãos — mas ficou mais exposto: o resultado em dólar é ditado por câmbio e juros globais, três em cada quatro sacas de soja vão para a China, e o clima virou a maior fonte de volatilidade da oferta."

Análise completa em 01_Documentacao/03_Publicacao_LinkedIn.md.

O painel

Interativo por um único filtro. Um slicer de dCalendario[Ano] governa todos os visuais e cartões (produção, comércio, China e clima). Sem filtro, o painel mostra o período completo 2015–2025; ao selecionar anos, tudo recalcula para a janela.

  • 4 cartões de KPI — produção, receita de exportação, destino China, perda climática.
  • 4 gráficos — produção por safra (colunas empilhadas soja + milho, quebras climáticas marcadas); receita por ano; produção por estado (Top 8); participação da China (100% empilhado).
  • 1 frase-insight no rodapé.

Os visuais são renderizados por um custom visual HTML/SVG que empacotei (.pbiviz), com barras arredondadas e sparklines dentro dos cartões — importável sem conta Microsoft / sem AppSource. Código-fonte em 04_PowerBI/visual_AgroHtmlContent/.

Apresentação (LinkedIn)

Carrossel de 4 slides (1080×1080), pronto para exportar em PDF: 05_Design/Carrossel_LinkedIn.html · versão publicada ↗

Legenda, roteiro e checklist de publicação em 01_Documentacao/03_Publicacao_LinkedIn.md.

Estrutura do repositório

.
├── Painel_Soja_Milho_2015_2025.pbix     # o painel (Power BI Desktop)
│
├── 01_Documentacao/
│   ├── 01_Metodologia.md                # escopo, fontes, decisões de modelagem
│   ├── 02_Log_Validacao.md              # conferência dos números
│   └── 03_Publicacao_LinkedIn.md        # análise completa + legenda + como postar
│
├── 02_Dados_Brutos/                     # dados como baixados das fontes
│   ├── fetch_bcb.py                     # coleta câmbio, Selic, IPCA via API SGS do BCB
│   ├── conab_serie_historica_graos.txt  # CONAB — produção/área/produtividade
│   ├── secex_*.csv                      # SECEX / Comex Stat — exportação
│   └── cepea_*, bcb_*, *.md             # preços, macro, notas de pesquisa
│
├── 03_Dados_Tratados/                   # fatos limpos (esquema estrela)
│   ├── build_producao.py                # CONAB txt  -> fato_safra_uf / _brasil
│   ├── build_macro_anual.py             # BCB mensal -> fato_macro_anual
│   └── fato_*.csv
│
├── 04_PowerBI/
│   ├── build_modelo_powerbi.py          # monta o Agro_Soja_Milho_2015_2025.xlsx (15 abas)
│   ├── Agro_Soja_Milho_2015_2025.xlsx   # base modelada — fonte do .pbix
│   ├── Como_Montar_o_Modelo.md          # relacionamentos + medidas, passo a passo
│   ├── conectar_e_montar_modelo.ps1     # monta o modelo via TOM no .pbix aberto
│   ├── KPIs_Dinamicos.dax               # 10 medidas KPI (period-aware)
│   ├── Cartoes_e_Graficos_HTML.dax      # 9 medidas que retornam HTML/SVG
│   ├── ajustar_modelo_interativo.ps1    # ativa a relação-mestre + aplica os .dax
│   ├── Cartoes_e_Graficos_HTML.md       # guia do custom visual + slicers recomendados
│   ├── AgroHtmlContent.pbiviz           # o custom visual (importar)
│   └── visual_AgroHtmlContent/          # código-fonte do visual (TypeScript + pbiviz)
│
└── 05_Design/
    ├── Tema_PowerBI_Agro.json           # tema (paleta agro)
    ├── Referencias_Design.md            # direção visual
    └── Carrossel_LinkedIn.html          # carrossel de 4 slides

Modelo de dados

Esquema estrela com dois eixos de tempo que precisam conviver:

Eixo Tabela Alimenta
Ano-safra (2014/15…2024/25) dSafra produção (fSafra), perdas de clima (fEventosClima)
Ano-calendário (2015…2025) dCalendario exportação, câmbio/juros, China, preços

A relação dSafra[AnoColheita] → dCalendario[Ano] (ativa) conecta os dois — como ano-colheita = ano-calendário (safra 2024/25 → colheita 2025), um único slicer de dCalendario[Ano] filtra o painel inteiro.

Medidas organizadas em pastas de exibição (_Medidas): 1 Producao, 2 Comercio Exterior, 3 China, 4 Clima, 5 Macro, 9 CARTOES (KPIs dinâmicos), 0 HTML (visuais). Detalhe em 04_PowerBI/Guia_Cartoes_Graficos_DAX.md.

Stack técnico

  • Power BI Desktop — modelo estrela, ~40 medidas DAX, KPIs period-aware (ALLSELECTED, context transition, REMOVEFILTERS, TREATAS).
  • Python 3 (urllib, csv, openpyxl) — coleta e transformação reprodutíveis.
  • PowerShell + TOM (Tabular Object Model) — montagem/ajuste do modelo por script.
  • TypeScript + powerbi-visuals-tools — o custom visual Agro HTML Content.
  • HTML + SVG — cartões, gráficos e o carrossel.

Como reproduzir

1. Pipeline de dados (requer Python 3 + pip install openpyxl):

python 02_Dados_Brutos/fetch_bcb.py          # baixa séries do Banco Central
python 03_Dados_Tratados/build_producao.py   # CONAB -> fatos de safra
python 03_Dados_Tratados/build_macro_anual.py # BCB mensal -> macro anual
python 04_PowerBI/build_modelo_powerbi.py     # gera Agro_Soja_Milho_2015_2025.xlsx

2. Power BI — abrir Painel_Soja_Milho_2015_2025.pbix. Para montar o modelo do zero a partir do Excel, seguir 04_PowerBI/Como_Montar_o_Modelo.md (ou rodar conectar_e_montar_modelo.ps1 com o .pbix aberto).

3. Cartões e gráficos HTML — importar 04_PowerBI/AgroHtmlContent.pbiviz (Inserir → Importar um visual de um arquivo), aplicar KPIs_Dinamicos.dax e Cartoes_e_Graficos_HTML.dax. O script ajustar_modelo_interativo.ps1 faz os dois de uma vez. Guia completo em 04_PowerBI/Cartoes_e_Graficos_HTML.md.

Fontes de dados

Todas oficiais e públicas:

Bloco Fonte
Produção, área, produtividade CONAB — série histórica
Exportação (volume e valor) SECEX / Comex Stat — MDIC
Produção por estado IBGE — PAM / SIDRA
Câmbio, Selic, IPCA Banco Central do Brasil — API SGS
Preços ao produtor CEPEA-ESALQ/USP
El Niño / La Niña (ONI) NOAA — Climate Prediction Center
Preços internacionais, juros EUA World Bank, Federal Reserve

Lista com data de extração na aba Fontes do Excel e em 01_Documentacao/01_Metodologia.md.

Notas e limitações

  • Perdas por clima são estimativas — a diferença entre a produtividade tendencial esperada e a realizada nas safras de El Niño / La Niña de intensidade moderada a forte. É ordem de grandeza, não um número oficial.
  • Consolidado em milhões de toneladas e por cultura; não separa 1ª/2ª safra de milho nem detalha preços em saca de 60 kg — próximos passos possíveis.
  • Extração dos dados: setembro de 2026. Os valores dos cartões refletem essa data.
  • Escopo é diagnóstico dos últimos dez anos, não projeção.

Licença

Código, scripts, medidas DAX e documentação sob MIT. Os dados originais pertencem às instituições citadas — consulte os termos de uso de cada fonte.

Autor

Vitor Rafaeli bueno — projeto de portfólio em análise de dados / BI.

About

Painel de BI: 10 anos da cadeia de soja e milho no Brasil (2015-2025) - Power BI, DAX, Python

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages