> For the complete documentation index, see [llms.txt](https://wedocs.gitbook.io/wedocs-5.1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wedocs.gitbook.io/wedocs-5.1/wedocs-5.0/cliente-desktop/cadastros-gerais/metadados/cadastro-de-metadados.md).

# Cadastro de Metadados

Os *<mark style="color:blue;">METADADOS</mark>* são os registros <mark style="color:blue;">por onde serão mapeados os dados que serão referência para as consultas dos INDICADORES individuais</mark>, alocados nos Dashboards à medida do uso da ferramenta Weknow.

Tais mapeamentos de dados podem ser feitos através de ligações visuais entre tabelas, ou ainda via instruções em SQL, com o objetivo de obter as informações de um banco de dados (de um sistema ERP por exemplo) e transformá-las em consultas estruturadas para construção de planilhas, gráficos e dashboards.

A seguir, passos para criar *<mark style="color:blue;">METADADOS</mark>* no Weknow:

Abra o Weknow e acesse o menu *<mark style="color:blue;">Metadado</mark>* <mark style="color:blue;"></mark><mark style="color:blue;">>></mark> <mark style="color:blue;"></mark>*<mark style="color:blue;">METADADOS</mark>*:

Para um novo registro, clique no botão “*<mark style="color:blue;">**\***</mark>*”

Preencha os campos conforme repassado nos tópicos a seguir:

* Descritivo resumido (título) do metadado.
* Selecione a Área de negócio que classifica este metadado. O ícone “***...***” exibe a lista de áreas de negócio já cadastradas no B.I., e o ícone “***+***” possibilita a criação de nova área de negócio, sem necessidade de fechar a tela de cadastro do METADADO, e ir até o Cadastro de Áreas de Negócio, conforme vimos no tópico anterior. O ícone “***X***” limpa o campo selecionado até o momento.
* Documentação que será utilizada para entender do que se trata tal mapeamento de dados.
* Clique sobre o botão “*<mark style="color:blue;">Configurar</mark><mark style="color:blue;">**...**</mark>*” para criar/editar o mapeamento de dados

<div align="left"><img src="/files/FADje8I2rCzOJJ2ysYDn" alt=""></div>

Você pode mapear dados via ligações entre tabelas representadas graficamente, ou, inserir o código SQL do respectivo levantamento de dados.

Para ambas as opções, primeiramente você deverá selecionar uma determinada conexão a um Banco de Dados (cadastrados pelos Administradores Weknow Server) ou usar a opção “Padrão”. Ao clicar sobre o campo você verá a lista das conexões cadastradas em:\
*<mark style="color:blue;">Weknow Servidor >> Contas >> Conexões</mark>*.

Em todo o decorrer de desenvolvimento de mapeamento de dados, à esquerda da tela constam opções que facilitarão na obtenção dos resultados, de acordo com a necessidade técnica da regra de negócio e suas peculiaridades.

<div align="left"><img src="/files/Bte8mFxMDhxgMvM0SJFk" alt=""></div>

Dentre as opções à esquerda da tela, devemos dar atenção às suas peculiaridades e momentos em que serão úteis:

* <mark style="color:blue;">PRÉ-EXECUÇÃO</mark>: Caso antes de uma consulta entre tabelas relacionadas, se faça necessária a execução de uma *Stored Procedure*, esta execução pode ser pré-definida no item “Pré-Execução”.

*Exemplo:*

*Atualização de carga de dados de uma view materializada via pré-execução de uma Stored Procedure, e após isto, utilizá-la devidamente atualizada para consulta do Metadado.*

* <mark style="color:blue;">TABELAS >> Campos</mark>: Lista individual dos campos relacionados às tabelas no mapeamento, onde poderão ser editados seus rótulos, tipos de dados, máscaras de exibição e outras possibilidades de formatação.
* <mark style="color:blue;">LIGAÇÕES</mark>: Lista individual das ligações entre campos relacionados entre si no metadado (Modo Visual ou SQL). Automaticamente criado à medida que as tabelas forem sendo relacionadas no Metadado.
* <mark style="color:blue;">CAMPOS CALCULADOS</mark>: Com botão direito do mouse sobre o item *<mark style="color:blue;">CAMPOS CALCULADOS >> Adicionar Campo calculado</mark>*, poderão ser criados novos campos a partir de campos mapeados da base original.

<div align="left"><img src="/files/sEgoOiT317c4zAvXcgxf" alt=""></div>

Utilize a linguagem nativa do fabricante da conexão de base de dados selecionada para criar estes novos valores. Ao inserir o caracter <mark style="color:blue;">**%**</mark> na fórmula do campo calculado, o Weknow automaticamente traz uma lista de campos deste mapeamento que podem ser utilizados:

<div align="left"><img src="/files/WMoqDHxI0QPUY0B5bMEe" alt=""></div>

* <mark style="color:blue;">HIERARQUIAS</mark>: Com botão direito do mouse sobre o item *<mark style="color:blue;">HIERARQUIAS >> Adicionar Hierarquia</mark>*, poderão ser criados hierarquias a partir de campos mapeados da base original. Um campo hierárquico, em suma, é um <mark style="color:blue;">**agrupamento organizado de campos**</mark>. Em geral, tais agrupamentos serão utilizados com campos cuja granularidade aumenta (ano, mês, dia) mas não se limitando a este cenário.

<div align="left"><img src="/files/aJ0Pv2Fhpz0BequXSRtK" alt=""></div>

Uma vez que um campo hierárquico tenha sido utilizado em um componente e este componente esteja em um dashboard com *vínculos automáticos*, e estes vínculos veremos em tópico específico, o componente deve adentrar na hierarquia conforme as seleções são efetuadas:

<mark style="color:blue;">**Exemplo**</mark>:

<div align="left"><img src="/files/3G644fxgoUuQVaJEWPtm" alt=""></div>

<div align="left"><img src="/files/IPgjxjol04bPBI62EGQa" alt=""></div>

Após criar a hierarquia você deve criar o componente que deseja, exemplo o gráfico abaixo:

<div align="left"><img src="/files/Dj8898FxqkvevfvmnbyS" alt=""></div>

Após criar o gráfico e fazer todas as configurações que você deseja, basta entrar na versão web.\
Como podemos ver no gif abaixo, a hierarquia é responsável por adentrar os campos selecionados no momento da criação da mesma.

Exemplo: Ao selecionar a UF automaticamente aparece os municípios, depois as causas e por final os convênios.

<div align="left"><img src="/files/XwsvbSnL6F79AkXdtQhj" alt=""></div>

###

* <mark style="color:blue;">PARÂMETROS</mark>: Com o botão direito do mouse sobre o item <mark style="color:blue;">PARÂMETROS</mark>, poderão ser inclusos filtros para limitação dos resultados, similares as características vistas em cláusulas where em códigos SQL.

Esta opção serve como novo critério de limitação de resultados, mesmo em metadados que utilizem consultas de modo SQL, pois aplica estas regras após a execução do SQL inicial.

Segue exemplo de criação de Parâmetros:

<div align="left"><img src="/files/m7SNJSVlnEevFRZFzFAo" alt=""></div>

<div align="left"><img src="/files/knn5VAOvX8KNgsDNjEnG" alt=""></div>

Ao editar um novo parâmetro, na área *<mark style="color:blue;">Parâmetros >> Valores >> MODO</mark>*, podemos escolher uma das 4 opções para preenchimento dos valores a serem considerados nos filtros:

<div align="left"><img src="/files/puWT2rAcycYD8M931o1m" alt=""></div>

* <mark style="color:blue;">NULO</mark>:

No momento de sua execução no metadado nesta tela de cadastro não receberá valor algum (a não ser que optada por “sobrescrever parâmetros”). Porém, quando utilizado em um componente, pode receber valores de outros componentes através da opção “*<mark style="color:blue;">Vincular parâmetros</mark>*”.

* <mark style="color:blue;">FIXO</mark>: Permite fixar determinado valor ao filtro diretamente neste momento de edição.
* <mark style="color:blue;">FÓRMULA</mark>: Permite utilizar funções e variáveis próprias do Weknow que facilitam o autopreenchimento, sem necessidade de interação manual em filtros.

Tal comportamento facilita em situações que não se possa depender de interação manual com filtros de data (por exemplo, em alerta diários). Para isto, inclui-se parâmetro baseado em fórmula que sempre considere cálculos a partir de uma data atual, e por consequência, ao virar o dia e o Weknow B.I. usar este metadado para enviar um alerta, estará automaticamente baseado em filtros de data atualizados de forma automática, sem necessidade de interação de usuário manualmente.

<div align="left"><img src="/files/ApGoCAyMQlsYzwqLj6u6" alt=""></div>

* <mark style="color:blue;">SQL</mark>: Obtém valores a partir de uma consulta SQL, sobre dados das conexões a disposição na ferramenta.

Para que a tela de parâmetros apareça ao testar ou interagir com o metadado, informe um nome e título de exibição:

<div align="left"><img src="/files/YDADsKzqeUPx2pFI54c9" alt=""></div>

Ao executar o metadado, há a opção de teste sem sobrescrever as configurações iniciais dos filtros. Para forçar um resultado com outros valores em parâmetros, podem ser utilizadas as opções de preenchimento de valor fixo, por fórmula, ou pré-preenchimento de filtro por SQL, com os mesmos conceitos vistos anteriormente.

<div align="left"><img src="/files/Jl70gWlj5ER2TR92hjhj" alt=""></div>

* <mark style="color:blue;">PÓS-EXECUÇÃO</mark>: Caso após uma consulta entre tabelas relacionadas se faça necessária a execução de uma *Stored Procedure*, esta execução pode ser definida no item “Pós-Execução”.
* <mark style="color:blue;">ARMAZENAMENTO</mark>: Possibilita o agendamento de cargas com resultado desta consulta de dados em horários alternativos, para uso por indicadores que não necessitem dos dados atualizados no exato momento. Esta funcionalidade auxilia na aplicação do conceito de *<mark style="color:blue;">DATAWAREHOUSE</mark>*, e evita sobrecargas de consumo no Banco de dados, possuindo melhor performance em consultas de grandes volumes, pois a carga é realizada em Banco colunar MonetDB.

Ao criar um metadado com armazenamento (também citado como “metadado offline”) o sistema aplicará as técnicas de *Particionamento e Síntese* dos resultados da query.

O <mark style="color:blue;">Particionamento</mark>, permite dividir uma grande massa de dados resultante em várias tabelas, onde cada tabela recebe parte dos dados de acordo com um campo (como um ano ou categoria).

Desta forma, sempre que o campo é aplicado como filtro, o sistema buscará apenas na partição correspondente:

<div align="left"><img src="/files/V6v7pQIiebujO4Mrw9Js" alt=""></div>

Já a <mark style="color:blue;">**Síntese**</mark> permite definir regras de agrupamento para o conteúdo armazenado de forma offline. Além da forma manual, o Weknow possui uma <mark style="color:blue;">**opção automática**</mark> ao qual ele analisa os campos e sugere, qual deles é o mais adequado para agrupamento considerando sua densidade:

<div align="left"><img src="/files/pmWAbAKAsjUjjQCKIGxv" alt=""></div>
