🏗️ Design de Modelo de Dados
🏗️ Data Model Design
Este módulo aprofunda conceitos de modelagem dimensional, essenciais para o desempenho e clareza do modelo no Power BI.
This module deepens concepts of dimensional modeling, essential for model performance and clarity in Power BI.
🔹 Modelo Estrela (Star Schema)
🔹 Star Schema
A estrutura recomendada pela Microsoft para BI:
The structure recommended by Microsoft for BI:
- Tabela Fato → transações, valores numéricos, chaves estrangeiras
- Fact Table → transactions, numeric values, foreign keys
- Tabelas Dimensão → contexto, atributos, categorias
- Dimension Tables → context, attributes, categories
- Relacionamentos 1:* (um para muitos)
- Relationships 1:* (one to many)
Benefícios:
Benefits:
- Melhor compressão de dados
- Better data compression
- Menor complexidade
- Lower complexity
- Melhor desempenho em DAX
- Better performance in DAX
- Melhor uso de agregações
- Better use of aggregations
🔹 Tabela Fato – características
🔹 Fact Table – characteristics
- Alta granularidade
- High granularity
- Muitas linhas
- Many rows
- Poucas colunas
- Few columns
- Colunas numéricas e chaves
- Numeric columns and keys
Exemplos:
Examples:
- Fato Vendas
- Sales Fact
- Fato Estoque
- Inventory Fact
- Fato Transações
- Transactions Fact
🔹 Tabelas Dimensão – características
🔹 Dimension Tables – characteristics
- Muitas colunas
- Many columns
- Poucas linhas
- Few rows
- Atributos descritivos
- Descriptive attributes
- Hierarquias (Ano > Mês > Dia, Região > Estado > Cidade)
- Hierarchies (Year > Month > Day, Region > State > City)
🔹 Tipos de Cardinalidade
🔹 Types of Cardinality
| Tipo |
Uso |
Type |
Usage |
| 1:* (um para muitos) |
padrão ideal |
1:* (one to many) |
ideal standard |
| *:1 (muitos para um) |
equivalente ao 1:* invertido |
*:1 (many to one) |
equivalent to reversed 1:* |
| : (muitos para muitos) |
apenas quando necessário |
: (many to many) |
only when necessary |
🔹 Direção de Filtro
🔹 Filter Direction
| Direção |
Descrição |
Direction |
Description |
| Single |
ideal, mais eficiente |
Single |
ideal, more efficient |
| Both |
usar com cautela, pode causar loops |
Both |
use with caution, can cause loops |
🔹 Relacionamentos Ativos e Inativos
🔹 Active and Inactive Relationships
- Ativo → usado por padrão
- Active → used by default
- Inativo → habilitado via
USERELATIONSHIP()
- Inactive → enabled via
USERELATIONSHIP()
Exemplo:
Example:
Vendas Ano Fiscal =
CALCULATE(
[Total Vendas],
USERELATIONSHIP(DimCalendario[AnoFiscal], FatoVendas[Data])
)
🔹 Tabelas de Datas
🔹 Date Tables
Requisitos:
Requirements:
- Coluna contínua (sem buracos)
- Continuous column (no gaps)
- Sem horários
- No time values
- Cobrir todo o intervalo do dataset
- Cover the entire dataset range
- Marcar como Date Table
- Mark as Date Table
📚 Links Oficiais
📚 Official Links
- Star Schema: https://learn.microsoft.com/power-bi/guidance/star-schema
- Star Schema: https://learn.microsoft.com/power-bi/guidance/star-schema
- Relationships: https://learn.microsoft.com/power-bi/transform-model/desktop-relationships
- Relationships: https://learn.microsoft.com/power-bi/transform-model/desktop-relationships
\n