Pular para o conteúdo

Schema designer

Escrever um cubo Mondrian à mão significa escrever XML de schema — declarando tabelas de fato, dimensões, hierarquias, levels, joins por chave estrangeira, medidas, agregações. São algumas centenas de linhas de XML mesmo para um cubo pequeno, e a maior parte é mecânica. O Schema designer existe para você não ter que fazer isso.

Aponte para um data warehouse, descreva o cubo que você quer em uma frase em inglês e o Claude produz uma proposta completa. Você revisa as medidas e dimensões como cards editáveis, arrasta joins em um grafo visual e aceita como está ou refina. A saída é XML Mondrian real que você pode salvar, consultar e versionar.

A versão de cinco minutos

  1. Escolha uma conexão. Qualquer conexão de data warehouse salva aparece no dropdown.

  2. Escolha uma tabela de fatos. Fazemos profile do schema (barato — é metadado mais algumas linhas de exemplo) e mostramos as tabelas. Tabelas provavelmente agregadas (agg_*, *_summary, *_rollup) são empurradas para o final da lista, para que a tabela de fato canônica no grão base ganhe.

  3. Descreva o que você quer. Uma frase basta: “Fatos de vendas unidos a clientes e produtos, contagem de pedidos e soma de receita, segmentado por data.” Essa intenção é enviada ao Claude junto com o profile e melhora significativamente a proposta vs. deixar em branco.

  4. Revise a proposta. O card do cubo mostra suas medidas e dimensões como chips editáveis. O grafo de joins abaixo mostra joins por chave estrangeira entre tabelas de fato e dimensão como arestas rotuladas.

  5. Renderize e salve. Clique em Render XML para converter a proposta em XML Mondrian, depois em Salvar schema. O cubo aparece na página Schemas e fica consultável a partir do Analyze imediatamente.

Editar a proposta

O primeiro rascunho do Claude geralmente é próximo, mas raramente perfeito. Tudo no card do cubo é editável no lugar:

  • Clique em um chip de medida para renomear (RevenueNet Revenue), mudar a agregação (sumcount distinct) ou excluí-la inteira.
  • Clique em um card de dimensão para renomear a dimensão, editar a hierarquia de levels (ex.: adicionar um level Day of Week) ou mudar qual coluna dirige cada level.
  • Clique em uma aresta no grafo de joins para mudar em quais colunas o fato e a dimensão fazem join. Útil quando o nome da coluna FK no seu data warehouse não bate com o primeiro palpite do Claude.
  • Clique em ”+ Adicionar dimensão” para puxar outra tabela do profile — abre um seletor mostrando todas as tabelas em formato de dimensão e permite conectar o join em um diálogo.

Re-renderizar é barato. Edite, clique em Render XML de novo, olhe a nova saída. O profile do data warehouse é cacheado para a sessão, então o custo é só uma chamada de LLM por iteração.

Hierarquias de data

Dimensões de data são o elemento de cubo mais comum e o mais tedioso de escrever à mão. O designer detecta colunas em formato de data (colunas DATE/TIMESTAMP reais, mais colunas nomeadas *_date / *_at / *_on) automaticamente e adiciona uma hierarquia padrão: Year → Quarter → Month → Day. Se o seu data warehouse armazena datas como strings no formato YYYYMMDD, o detector pega isso também.

Você não precisa declarar hierarquias manualmente — elas vêm de graça, a menos que você queira algo não padrão (ex.: ano fiscal começa em abril), caso em que você edita o card de dimensão.

Teste antes de salvar

O card do cubo tem um pequeno painel Testar uma consulta que executa um MDX de exemplo contra seu rascunho antes de comprometê-lo. É a forma mais rápida de confirmar que os joins caem onde você espera e as medidas agregam do jeito que você quer. Se um join estiver errado, o exemplo mostra números inflados ou nulos imediatamente.

Custo e quota de LLM

Cada iteração do Schema designer nos custa dinheiro — pagamos o Claude por proposta. Para prevenir custos descontrolados, aplicamos um orçamento mensal de LLM por tenant em todos os tiers. Você saberá se bateu nele: a página mostra um aviso claro e rejeita novas propostas até o próximo ciclo de billing (ou até você pedir para aumentarmos o teto).

Profile e renderização são grátis; só a etapa de propose-and-refine bate no orçamento.

Relacionado

  • Conexões — o data warehouse que o designer lê.
  • Schemas — onde cubos salvos vivem; o editor de XML também fica lá.
  • Cube library — templates pré-construídos se preferir começar a partir de um cubo funcionando em vez de zero.
  • Analyze — abra um cubo salvo na interface do Saiku para consultá-lo.