Dashboard Game Sales — Como foi feito (explicado fácil)
Pensa que você tem 16 mil jogos de videogame e quer saber: "qual gênero vende mais? que plataforma manda? Japão joga diferente do mundo?". Aqui montei um painel no Power BI que responde isso em 1 tela, com 3 cliques.
O que é isso, em uma frase?
É um painel no Power BI que mostra, em formato visual, as vendas de 16.598 jogos publicados nas últimas 4 décadas. Filtros: gênero, plataforma, ano, região (NA/EU/JP/Outras).
Por que importa? Porque planilha de 16k linhas ninguém abre. Dashboard interativo, com filtro, com KPI no topo — isso é o que decisão executiva precisa. E o BI também serve pro candidato a job: mostra que sabe traduzir dado em narrativa.
Do CSV ao dashboard
1 · Desenhar antes de codar — no Figma. Eu não abro o Power BI sem antes saber o layout. Cor, hierarquia, KPI no topo, gráficos abaixo. Decisão de design é mais barata em mockup do que na ferramenta.
2 · Power Query — limpar e tipar. Importo o CSV, promovo headers, e na mão tipo cada coluna. Inferência automática erra: Year vinha como texto, NA_Sales com vírgulas em vez de pontos.
let
Fonte = Csv.Document(File.Contents("vgsales.csv"), [Encoding=65001]),
Promoted = Table.PromoteHeaders(Fonte, [PromoteAllScalars=true]),
Tipados = Table.TransformColumnTypes(Promoted, {
{"Year", Int64.Type},
{"NA_Sales", type number},
{"Global_Sales", type number}
}),
SemNulls = Table.SelectRows(Tipados, each [Year] <> null)
in
SemNulls
3 · Modelar em estrela (Kimball). 1 tabela de fatos (fato_vendas) + 3 dimensões (dim_jogo, dim_tempo, dim_regiao). Cada dimensão liga-se à fato por chave. Esse desenho é o que faz o BI rodar rápido.
4 · Escrever as medidas DAX. KPIs (Total Vendas Globais), comparações temporais (Vendas Ano Anterior usando SAMEPERIODLASTYEAR), e ranking dinâmico (RANKX).
Total Vendas Globais = SUM ( fato_vendas[Global_Sales] )
Vendas Ano Anterior =
CALCULATE ( [Total Vendas Globais],
SAMEPERIODLASTYEAR ( dim_tempo[Date] ) )
Var YoY % =
DIVIDE ( [Total Vendas Globais] - [Vendas Ano Anterior],
[Vendas Ano Anterior] )
Rank Genero =
RANKX ( ALL ( dim_jogo[Genre] ), [Total Vendas Globais],, DESC, DENSE )
Detalhe: sempre DIVIDE em vez de /. Divisão por zero vira blank em vez de quebrar o dashboard.
5 · Montar visualizações respeitando hierarquia. Topo: 4 cards (KPIs). Centro: gráfico principal (vendas por ano). Lados: top gêneros, top plataformas. Rodapé: tabela detalhada com filtros cruzados.
O painel final
Em uma linha: o que esse projeto ensina
Que BI bom começa fora do BI. Desenho do layout, modelo estrela e medidas DAX bem nomeadas — quando tudo isso já foi pensado, montar o dashboard demora 1 tarde. Sem isso, demora 1 semana e fica feio.
Coisas técnicas que apareceram aqui: Power Query M, modelagem dimensional (Kimball), DAX (medidas vs colunas calculadas), Time Intelligence (SAMEPERIODLASTYEAR), RANKX, DIVIDE seguro, design pré-implementação no Figma.