Buscar K
Aparência
Aparência
A aba Tabelas é onde se define o Modelo de Dados da Aplicação. Nela, são selecionadas quais Tabelas do HorusDW estarão disponíveis para análise e como elas se relacionam entre si.
TIP
Um Modelo de Dados bem construído é a base para filtros automáticos, análises consistentes e respostas precisas da IA.
A tela é dividida em três áreas:
As Tabelas adicionadas aparecem como "nós" no Canvas central, exibindo:
Os Relacionamentos (ou Joins) definem como diferentes Tabelas conversam entre si. Na prática, funcionam como um cruzamento automático de informações: ao aplicar um filtro em uma Tabela de referência (selecionar um "Cliente"), o sistema propaga esse filtro automaticamente, exibindo apenas os dados correspondentes nas outras Tabelas conectadas (as "Vendas" daquele cliente).
Todos os Relacionamentos no Horus são direcionais e do tipo um-para-muitos (1:N). A seta no Canvas aponta da Tabela com valores únicos (1) para a Tabela com valores repetidos (N):
Na prática:
O sistema valida essa unicidade ao salvar. Se a coluna de chave da Tabela de origem contiver valores duplicados, o salvamento será bloqueado com um erro. Isso garante que os dados não sejam multiplicados incorretamente.
TIP
Uma forma simples de pensar: a seta sempre sai da Tabela de referência (Dimensão) e aponta para a Tabela de Dados (Fato). A Dimensão tem registros únicos (cada cliente, cada produto, cada data), a Fato tem os eventos que se repetem (vendas, pedidos, metas).
Ao selecionar uma Tabela no Canvas, a Sidebar exibe o campo Tipo da Tabela com duas opções:
| Tipo | Quando usar |
|---|---|
| Normal | Tabelas comuns — Dimensões (chave única) e Fatos (eventos). É o padrão. |
| Tabela de Ligação (n-n) | Tabelas intermediárias para Relacionamentos muitos-para-muitos. Ex: uma Tabela Aluno_Curso que liga Alunos a Cursos, onde cada aluno pode ter vários cursos e cada curso vários alunos. |
O DataViz não suporta Relacionamentos muitos-para-muitos diretos — sempre é necessária uma Tabela intermediária. Ao marcar uma Tabela como Tabela de Ligação (n-n), o sistema entende que ela funciona como ponte e relaxa a exigência de unicidade nessa Tabela.
Inicie a conexão (Arraste e Solte): Clique e segure o mouse sobre a primeira Tabela e arraste até a segunda Tabela que deseja conectar.
Confirme a ligação visual: Ao soltar, uma linha de conexão aparecerá na tela.
Configure as colunas de chave: No painel lateral direito, selecione as colunas que representam o mesmo dado em ambas as Tabelas.
Clientes.ID_CLIENTE com Vendas.ID_CLIENTE.Após criar a conexão visual, é necessário especificar quais colunas conectam as Tabelas:
| Campo | Descrição |
|---|---|
| Coluna Esquerda | Coluna da Tabela de origem (chave única) |
| Coluna Direita | Coluna da Tabela de destino (chave estrangeira) |
IMPORTANT
As colunas devem ter tipos compatíveis. O sistema validará automaticamente e alertará sobre incompatibilidades.
Ao salvar, o sistema verifica automaticamente a integridade do modelo:
Toda linha de conexão deve ter as colunas de chave definidas. Relacionamentos sem configuração impedem o salvamento.
A coluna de chave da Tabela de origem (lado "1" do Relacionamento) deve conter valores únicos. Se o sistema detectar duplicatas, o salvamento será bloqueado.
Soluções sugeridas:
Tabelas Fato (como Vendas e Metas) normalmente não possuem chaves únicas entre si — ambas contêm eventos repetidos. Por isso, conectar duas Fatos diretamente não funciona: nenhuma das duas consegue ser o lado "1" do Relacionamento, e o resultado seria uma multiplicação incorreta dos dados (explosão cartesiana).
WARNING
A solução para este caso é conectar Fatos através de Dimensões compartilhadas (Tabelas de Referência com chaves únicas). Consulte o guia completo de Modelagem de Dados para entender o problema, as soluções e testar com exemplos interativos.
Passe o mouse sobre uma Tabela e selecione "Visualizar Dados" para ver uma amostra dos registros armazenados.
Para substituir uma Tabela por outra (mantendo os Relacionamentos existentes), passe o mouse sobre a Tabela e selecione "Trocar Tabela". Útil quando:
Se as Tabelas ficarem sobrepostas ou desorganizadas no Canvas, utilize o botão "Recalcular Posição" para reorganizar automaticamente o layout.
Selecione o item e pressione Delete ou Backspace.
Quando uma Tabela possui múltiplas colunas que podem se conectar à mesma Dimensão, é possível configurar Relacionamentos Secundários (também chamados de "Relacionamentos Alternativos"). Isso é essencial para análises que precisam utilizar diferentes chaves de data ou referência.
Na Sidebar de configuração do Relacionamento, é possível adicionar mais de uma coluna de chave:
use() nas ExpressõesExemplo de configuração:
| Ordem | Chave Primária (Calendário) | Chave Estrangeira (Oportunidades) | Uso |
|---|---|---|---|
| 1º | Período | Data de Fechamento | Padrão - usado automaticamente |
| 2º | Período | Data de Ganho da Oportunidade | Disponível via use() |
| 3º | Período | Data de Perda da Oportunidade | Disponível via use() |
IMPORTANT
A ordem dos Relacionamentos importa! O primeiro é sempre o padrão. Arraste para reordenar se necessário.
Na aba Expressões, a função use() permite alternar qual Relacionamento está ativo:
-- Soma de valores pela data de ganho (ao invés da data padrão)
use([Calendário], [Oportunidades].DATA_GANHO) SUM([Oportunidades].VALOR)
-- Soma de valores pela data de perda
use([Calendário], [Oportunidades].DATA_PERDA) SUM([Oportunidades].VALOR)TIP
A coluna usada em use() deve estar cadastrada como Relacionamento Secundário na aba Tabelas. Caso contrário, o sistema não encontrará a chave.
WARNING
Limitações do use():
Para cenários que exigem chaves compostas ou uso de Expressões, recomenda-se criar uma coluna calculada no HorusDW que concatene/processe as chaves (CONCAT(COD_FILIAL, '_', COD_PRODUTO)) e utilizar essa coluna física como chave do Relacionamento.
| Atalho | Ação |
|---|---|
Delete ou Backspace | Remove a Tabela ou Relacionamento selecionado |
Ctrl + S | Salva as alterações |
| Scroll do mouse | Zoom in/out no Canvas |
| Arrastar o Canvas | Move a visualização |
Ao selecionar uma Tabela no Canvas, a Sidebar localizada à direita exibe a seção Filtros Pré-Aplicados. São filtros fixos que o sistema aplica automaticamente em toda consulta que envolver aquela Tabela.
| Situação | Exemplo |
|---|---|
| Restringir o escopo de dados | Só produtos do tipo Combustível |
| Excluir registros irrelevantes | Remover clientes inativos |
| Controlar acesso por filial | Só dados da filial São Paulo |
Um filtro colocado numa Tabela de Referência (Dimensão) se propaga para todas as Tabelas de Dados (Fatos) conectadas a ela. Não é necessário repetir o mesmo filtro em cada Tabela.
Exemplo: Ao aplicar Tipo = "Combustível" na Tabela Produto, as consultas de Vendas, Estoque e Compras conectadas a Produto já trazem apenas combustíveis automaticamente.
A propagação também funciona em cadeia: se Categoria filtra Produto, e Produto está conectado a Vendas, o filtro de Categoria já reflete nas Vendas.
Quando duas Tabelas de Referência (Dimensões) estão conectadas às mesmas Tabelas de Dados, os filtros de uma podem afetar os resultados da outra — mas apenas se o Relatório incluir colunas da Tabela de Dados que conecta ambas.
Exemplo: Calendário e Empresa estão ambos conectados a Faturamento.
SUM(Faturamento.Valor) e Empresa.Nome, o filtro de Calendário será aplicado — porque Faturamento já faz parte da consulta e conecta as duas DimensõesEmpresa.Nome (sem colunas de Faturamento), o filtro de Calendário não afeta a lista de empresas — o sistema reconhece que Faturamento está presente apenas pelo filtro e não cria a ponte entre elas.Esse comportamento é o esperado na maioria dos cenários analíticos:
Filial = "São Paulo" na Tabela Empresa faz com que a lista de Vendedores exiba apenas os da filial SP — desde que o Relatório utilize colunas da Fato que conecta ambosTIP
Para visualizar todos os registros de uma Tabela de Referência (listar todas as empresas cadastradas), basta não incluir colunas da Tabela de Dados que conecta as Dimensões no mesmo Relatório, ou consultar a Tabela diretamente pelo HorusDW.
Filtros Pré-Aplicados em Tabelas de Dados (Fatos) não são incluídos na consulta quando o Relatório contém apenas colunas de Tabelas de Referência (Dimensões). A Tabela Fato só participa da query se houverem colunas selecionadas no Relatório.
Exemplo: Se Vendas tem um Filtro Pré-Aplicado STATUS = 'ATIVO' e o Relatório consulta apenas Calendario > Mês, a consulta retornará todos os meses do Calendário sem filtrar por Vendas.
Da mesma forma, filtros entre duas Dimensões conectadas apenas via uma Fato só se aplicam se o Relatório incluir colunas dessa tabela. Sem a Fato no Relatório, não há caminho de JOIN válido entre as Dimensões, e o filtro é ignorado.
Exemplo prático: Se a Aplicação tem as Fatos Faturamento, Clientes e Estoque, e são configurados Filtros Pré-Aplicados em cada uma delas, ao consultar apenas
Empresa > Nomeno Explorer, o filtro de Fato será ignorado porque nenhuma Fato tem colunas selecionadas. Se o filtro estivesse na Dimensão Empresa, ele seria aplicado diretamente.