Pular para o conteúdo

Modelo de dados e elementos do projeto

As tabelas de um projeto partilham frequentemente nomes de colunas: Period, Org, Account. Um elemento do projeto descreve um desses nomes uma só vez, para todo o projeto. Todas as tabelas com uma coluna desse nome passam a mostrar a mesma descrição, máscara e dimensão, pelo que deixa de ter de reescrever o mesmo memorando em dezenas de tabelas.

A página Modelo de dados da Página inicial do projeto lista os elementos de um projeto, mostra que tabelas partilham cada um e assinala onde as tabelas divergem.

Definição O que faz
Nome O nome da coluna que o elemento descreve, escrito exatamente como as colunas o têm.
Descrição O que a coluna contém. As colunas que não têm memorando próprio mostram esta descrição.
Tipo O tipo de dados que o projeto espera para esta coluna. É verificado, não aplicado. Consulte Conflitos de tipo.
Máscara Uma máscara numérica. As colunas que não têm máscara própria utilizam esta.
Dimensão Uma dimensão de onde provêm os valores da coluna. As colunas que não têm dimensão própria utilizam esta.
Aliases Outros nomes de colunas com o mesmo significado.

Uma coluna fica associada a um elemento quando o seu ID de coluna é igual ao nome do elemento ou a um dos seus aliases. A correspondência é exata: period e Period são nomes diferentes, pelo que deve adicionar period como alias de Period se pretender ambos.

Adicione ou elimine um elemento e todas as colunas correspondentes acompanham a alteração.

Uma coluna associada recebe do elemento a Descrição, a Máscara e a Dimensão sempre que o seu próprio valor esteja em branco. Um valor que defina na própria coluna prevalece sempre. O elemento nunca altera o que está guardado numa tabela: se o eliminar, cada coluna volta exatamente ao que tinha.

O Tipo não é recebido do elemento.

Abra o projeto e escolha Modelo de dados na barra da Página inicial do projeto. O indicador da barra mostra quantos elementos o projeto tem. Também pode abrir a página a partir de uma coluna:

  • No Explorador de tabelas, ative Propriedades da coluna e selecione uma coluna. A linha Elemento mostra o elemento da coluna ou, se não tiver nenhum e puder editar o projeto, Tornar isto um elemento. Clique nela para abrir a página Modelo de dados nesse elemento, ou num novo elemento que começa com a descrição, a máscara e a dimensão da própria coluna.
  • Na lista do que utiliza uma dimensão, uma linha com o nome Elemento do projeto abre a página Modelo de dados.

Todos os que podem abrir o projeto podem ver a página. Para criar, alterar ou eliminar elementos, precisa de acesso de escrita ao projeto, e o projeto não pode estar bloqueado. Caso contrário, a página mostra “Aqui pode ver o modelo de dados, mas não o alterar.”

  1. Na página Modelo de dados, clique em Novo elemento.
  2. Introduza um Nome. Preencha Descrição, Tipo, Máscara e Dimensão conforme necessário. Deixe Tipo em Qualquer tipo para aceitar qualquer tipo.
  3. Em Aliases, introduza outros nomes de colunas com o mesmo significado, um por linha.
  4. Clique em Guardar.

Um elemento não pode ficar com um nome ou alias que outro elemento já tenha. Para alterar um elemento, clique no lápis (Editar elemento) junto a ele. Se lhe mudar o nome, o nome antigo mantém-se como alias para que as suas colunas continuem associadas ao elemento.

Para remover um, abra-o e clique em Eliminar e, depois, confirme com Eliminar elemento. A confirmação indica quantas tabelas estão associadas a ele. Nada do que está guardado nessas tabelas é alterado.

Em Sugerido, a página lista os nomes de colunas que vale a pena transformar em elementos:

  • Um nome que ainda não é um elemento nem um alias e que existe em duas ou mais tabelas, em que o tipo da coluna pode ser uma chave de junção (um tipo desconhecido conta), apresentado como “name está em n tabelas”. Clique em Criar elemento para o criar.
  • Um nome que corresponde ao nome ou a um alias de um elemento quando se ignoram maiúsculas e minúsculas e sublinhados, mesmo que exista numa só tabela, apresentado como “name parece element (n tabelas)”. Clique em Adicionar alias para associar as respetivas colunas a esse elemento.

O comutador Grafo e Matriz acima da área de desenho mostra as mesmas tabelas e elementos de duas formas.

  • Grafo. Cada elemento é um nó central e cada tabela é um cartão ligado aos elementos para os quais tem uma coluna. Um 1 numa linha marca uma coluna que é a única chave da tabela. Uma tabela com uma chave composta por várias colunas não é marcada. A página abre num elemento e nas suas tabelas. Clique num elemento para se concentrar nele, clique numa tabela para se concentrar nessa tabela, ou faça duplo clique numa tabela para a abrir. Os chips junto a Ocultar elementos ocultam ou mostram os elementos que não pretende no desenho.
  • Matriz. Uma linha por tabela e uma coluna por elemento. Utilize Filtrar por nome da tabela para restringir as linhas.

Uma tabela cuja coluna tem um tipo diferente do das restantes é assinalada sob o elemento: “column é type em table, o que difere das outras tabelas.” Os tipos são comparados por família, pelo que um inteiro e um decimal não entram em conflito. Se o elemento tiver um Tipo, as outras são comparadas com a sua família. Caso contrário, são comparadas com a família que a maioria das colunas utiliza e, em caso de empate entre duas famílias, usa-se a que vem primeiro por ordem alfabética. Um conflito é apenas um aviso; não altera nada.

Uma tabela que não pode ser lida é deixada de fora e contabilizada na página, em vez de a interromper.

Os elementos aparecem como uma etiqueta com o nome do elemento:

  • Explorador de tabelas. A lista de colunas tem uma coluna Marcas com a etiqueta, junto às etiquetas de Dimensão e de Acesso a linhas. Passe o cursor por cima da etiqueta para ver o elemento, a sua descrição e a sua dimensão.
  • Propriedades da coluna. A linha Elemento abre o elemento. Quando a Descrição, a Máscara ou a Dimensão está em branco, o campo mostra “Do elemento name: value” como sugestão. A sugestão não é guardada com a coluna.
  • Separador Data Mapping de um passo. As colunas de origem e de destino que pertencem a um elemento mostram a respetiva etiqueta a seguir ao nome da coluna.

A API REST lê e altera elementos em /rest/v1/analyze/projects/{project_id}/elements:

Pedido Faz
GET Devolve elements e index, que associa o nome de cada coluna associada ao nome do respetivo elemento.
PUT Cria ou substitui um elemento a partir de name, memo, dtype, mask, dimension e aliases. Adicione rename_from para mudar o nome de um.
DELETE com ?name= Elimina o elemento indicado.
GET /graph Devolve o que a página Modelo de dados mostra: cada elemento com o respetivo número de tabelas e conflitos de tipo, as colunas associadas de cada tabela e as sugestões.

Os metadados da tabela devolvem os valores guardados em cada coluna, não os valores que ela recebe de um elemento. Para descobrir de que elemento uma coluna recebe valores, procure o seu nome no index devolvido por GET elements.

Um assistente ligado através de MCP utiliza element_find, element_upsert e element_delete. As suas descrições de tabelas mostram o memorando de cada coluna com o valor do elemento preenchido onde a coluna não tem nenhum.