Ficha 01 · ETL e modelo de dados
Exercício 1 · Identificar factos e dimensões
Uma cadeia de lojas dá-te estes dados de vendas:
DataVenda, Loja, Regiao, Produto, Categoria, Quantidade, PrecoUnit, Total, Cliente
Indica, para um modelo dimensional: qual seria a tabela de factos (e as suas métricas) e que dimensões criarias.
Resposta:
Tabela de Factos — Factos_Vendas (uma linha por venda):
- Métricas: Quantidade, PrecoUnit, Total.
- Chaves estrangeiras: LojaID, ProdutoID, ClienteID, DataID.
Dimensões:
- Dim_Loja (LojaID, Loja, Regiao)
- Dim_Produto (ProdutoID, Produto, Categoria)
- Dim_Cliente (ClienteID, Cliente)
- Dim_Tempo (DataID, Data, Ano, Mês, Trimestre)
Os campos descritivos (Regiao, Categoria) saem da tabela de factos para as dimensões — não se repetem em cada linha.
Exercício 2 · Importar e limpar (Power Query)
Tens um vendas.csv com problemas: linhas com Total vazio, a coluna DataVenda importada como texto, e vendas com Estado = "Cancelada". Descreve os passos no Power Query para o deixar pronto.
Resposta:
- Obter dados → Texto/CSV → escolher
vendas.csv→ Transformar Dados. - Filtrar
Estado: desmarcar "Cancelada". - Filtrar
Total: remover vazios (nulos). - Selecionar
DataVenda→ Tipo de dados → Data. PrecoUniteTotal→ Tipo → Número decimal.- (Opcional) Remover a coluna
Estadose já não for precisa. - Fechar e Aplicar.
Cada passo fica em Passos Aplicados e repete-se no próximo Atualizar.
Exercício 3 · Coluna calculada no Power Query
O ficheiro tem Quantidade e PrecoUnit mas não tem o total. Cria a coluna Total no Power Query.
Resposta:
Adicionar Coluna → Coluna Personalizada, nome Total:
= [Quantidade] * [PrecoUnit]
Confirmar o tipo como Número decimal. (Alternativa: selecionar as duas colunas → Adicionar Coluna → Padrão → Multiplicar.)
Exercício 4 · Group By
A partir da tabela de vendas, cria no Power Query uma consulta que dê o total vendido e o nº de vendas por Loja.
Resposta:
Base → Agrupar Por:
- Agrupar por: Loja.
- Nova coluna 1: Total Vendido — operação Soma de Total.
- Nova coluna 2: Nº Vendas — operação Contar Linhas.
Resultado: uma linha por loja com as duas medidas agregadas.
Exercício 5 · Relacionamentos
Já tens Factos_Vendas, Dim_Produto (PK ProdutoID) e Dim_Loja (PK LojaID). Explica que relacionamentos crias na vista Modelo e com que cardinalidade.
Resposta:
Dim_Produto[ProdutoID]1 → muitosFactos_Vendas[ProdutoID].Dim_Loja[LojaID]1 → muitosFactos_Vendas[LojaID].
O lado "1" é sempre a dimensão (valor único); o lado "muitos" é a tabela de factos. A direção do filtro vai da dimensão para os factos, permitindo "vendas por categoria" e "vendas por região".
Exercício 6 · Refletir
Porque é que um modelo com dimensões é melhor do que uma única folha com tudo repetido? Dá dois motivos.
Resposta:
Qualquer dois de: - Menos erros/inconsistências — o nome do produto está num só sítio (a dimensão), não repetido e escrito de várias formas. - Mais rápido e leve — não se repetem textos longos em milhões de linhas. - Mais fácil de analisar — filtrar e cruzar por dimensões é imediato. - Manutenção — corrigir a categoria de um produto faz-se numa linha.