Skip to content
Docs

This page has not been translated yet — you are reading the Portuguese version. View in Portuguese

GA candidateUpdated on 2026-09-08

Tutorial: montar um modelo estrela

Passo a passo para ligar um fato de vendas a suas dimensões e obter números corretos em qualquer cruzamento.

On this page (8)

Ao final deste tutorial você terá um modelo estrela funcionando: o fato vendas ligado às dimensões produtos, clientes, filiais e calendario, pronto para cruzar receita por qualquer atributo sem inflar número.

Se os termos "fato", "dimensão" e "cardinalidade" forem novos, leia antes Conceitos de modelagem dimensional e Relacionamentos e cardinalidade.

Workspace do exemplo: Comércio Aurora Ltda (workspace aurora, dataset aurora_gold).

Maturidade

O motor de modelagem é GA-candidato (congelado por um conjunto de testes de referência). A execução das consultas no datalake de produção é NÃO MEDIDO sem o datalake configurado; em modo demonstração, os visuais mostram dados fixos (SP/RJ/MG).

Pré-requisitos#

  • Um workspace ativo e as tabelas no dataset aurora_gold (ou o modo demonstração).
  • As tabelas com colunas-chave compatíveis (veja abaixo).
  • Papel com permissão de editar o modelo (ver Papéis (RBAC)).

As tabelas do exemplo#

TabelaPapelChave
vendasFato (grão: item de pedido)produto_id, cliente_id, filial_id, data
produtosDimensãoid, categoria, marca
clientesDimensãoid, segmento, cidade
filiaisDimensãoid, uf, regiao, cidade
calendarioDimensão de tempodata, ano, mes, trimestre

Passo a passo#

  1. Abra o diagrama do modelo

    No editor do dashboard, abra o diagrama do modelo semântico (ver Modelo semântico).

  2. Confirme o fato

    Verifique que vendas está no centro. Ele guarda os números que você vai somar (valor, quantidade, custo).

  3. Ligue produtos

    Arraste de vendas.produto_id até produtos.id. Cardinalidade N-1 (muitas vendas para um produto), direção de filtro single (produtos → vendas).

  4. Ligue clientes e filiais

    Repita: vendas.cliente_id → clientes.id e vendas.filial_id → filiais.id, ambas N-1 / single.

  5. Ligue o calendário

    Ligue vendas.data → calendario.data (N-1 / single). É esta relação que habilita as comparações temporais.

  6. Marque a categoria geográfica

    Em filiais, marque uf como categoria geográfica (UF) para habilitar os mapas do Brasil.

  7. Valide com um visual

    Crie um gráfico de barras "receita por produtos.categoria" e confirme que o valor cruza vendas × produtos.

Exemplo de dados (sintéticos)#

vendas:

produto_idcliente_idfilial_iddatavalor
10112026-07-01250
11222026-07-0290

produtos: (10, Bebidas, Marca A), (11, Limpeza, Marca B).

Resultado esperado#

  • "Receita por categoria" mostra Bebidas=250, Limpeza=90.
  • Trocar o eixo para filiais.regiao ou clientes.segmento funciona sem reconfigurar nada — é o ganho da estrela.
  • Somar uma coluna de uma dimensão que o join duplicaria é bloqueado com aviso, não entregue inflado (proteção anti-fan-out).

Erros comuns#

  • Ligar pela coluna errada: confirme que a chave do fato aponta para a coluna identificadora da dimensão (id, data), não para um atributo qualquer.
  • N-N sem ponte: se duas tabelas são muitos-para-muitos (ex.: produtos × promoções), você precisa de uma tabela-ponte — ver Relacionamentos e cardinalidade.
  • Somar meta do lado "um": se der bloqueio ao somar uma coluna da dimensão, o problema é de grão; some do fato correto.

Próximos passos#

Relacionados#


Última revisão: 2026-09-08.

Related links