Projeto de análise de vendas com o banco dimensional AdventureWorksDW2019, utilizando consultas T-SQL, integração entre Python e SQL Server e visualizações com Matplotlib.
O repositório demonstra um fluxo inicial e reproduzível:
SQL Server → consulta analítica → DataFrame Pandas → gráfico
Responder perguntas comerciais a partir do modelo dimensional da Microsoft:
- quais produtos geram maior quantidade vendida e receita?
- quais clientes acumulam maior receita?
- como a receita varia ao longo dos meses de 2013?
O arquivo sql/01_analise_produtos_mais_vendidos.sql combina:
FactInternetSales;DimProduct;DimProductSubcategory.
A consulta agrega quantidade e receita, retornando os cinco produtos com maior receita total.
O arquivo sql/02_analise_clientes_valiosos.sql combina:
FactInternetSales;DimCustomer.
A consulta retorna os dez clientes com maior receita agregada, incluindo atributos de educação e ocupação.
O script data_viz/analise_viz.py:
- conecta ao SQL Server com
pyodbc; - executa consultas com
pandas.read_sql; - cria gráficos de produtos, clientes e vendas mensais;
- salva as visualizações na pasta
images/.
adventureworks-sql/
├── data_viz/
│ └── analise_viz.py
├── images/
├── sql/
│ ├── 01_analise_produtos_mais_vendidos.sql
│ └── 02_analise_clientes_valiosos.sql
└── README.md
| Camada | Tecnologia |
|---|---|
| Banco de dados | SQL Server |
| Linguagem SQL | T-SQL |
| Conexão | PyODBC / ODBC Driver 17 |
| Análise | Python e Pandas |
| Visualização | Matplotlib |
| Modelo de dados | AdventureWorksDW2019 |
- consultas em modelo dimensional;
- relacionamento entre fatos e dimensões;
JOIN,GROUP BY,SUM,TOPeORDER BY;- agregação de métricas de vendas;
- conexão Python–SQL Server;
- transformação do resultado SQL em DataFrame;
- visualização de indicadores comerciais.
Restaure o banco AdventureWorksDW2019 em uma instância do SQL Server.
git clone https://github.com/Jk-Pascoal/adventureworks-sql.git
cd adventureworks-sqlpip install pandas matplotlib pyodbcTambém é necessário instalar o ODBC Driver 17 for SQL Server.
No arquivo data_viz/analise_viz.py, substitua os valores locais:
server = "SEU_SERVIDOR"
database = "AdventureWorksDW2019"A configuração atual utiliza autenticação integrada do Windows:
Trusted_Connection=yes
mkdir images
python data_viz/analise_viz.py- servidor e banco ainda são configurados diretamente no script;
- não há arquivo
requirements.txt; - as consultas não possuem testes automatizados;
- a ordenação mensal usa o nome do mês e deve evoluir para uma chave numérica;
- resultados dependem da versão e do conteúdo local do banco restaurado;
- análise RFM, segmentação e CLV ainda não estão implementadas neste repositório.
As limitações são apresentadas explicitamente para separar o que já está reproduzível do roadmap futuro.
- mover a configuração de conexão para variáveis de ambiente;
- adicionar
requirements.txt; - ordenar a série mensal por número do mês;
- ampliar a biblioteca de consultas;
- implementar análise RFM como etapa independente e reproduzível;
- criar testes básicos para as consultas e transformações;
- publicar um painel com os resultados.
Jakson Pascoal — GitHub