> 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/recursos-extras-de-dashboards/campos-calculados.md).

# Campos Calculados

Essa opção geral está presente em todos os componentes do sistema com exceção do componente *<mark style="color:blue;">Imagem</mark>*. Sua função é criar novos campos que não existem diretamente nas tabelas sem ter que mexer na composição delas no banco de dados.

Isso permite uma maior liberdade na criação de *<mark style="color:blue;">Metadados</mark>* e Indicadores em casos em que um valor específico é solicitado, porém ele não existe por padrão no Sistema Externo conectado ao Weknow.

Existem diversas formas para configuração de campos calculados, podendo utilizar como base os campos pré-existentes da tabela ou ainda utilizar de fórmulas para trazer valores de constantes e/ou varáveis como datas e horas. Veja a seguir um passo a passo da criação a utilização de um campo calculado utilizando de *<mark style="color:blue;">Fórmulas</mark>*:

Definir onde o campo calculado será criado: ou no *<mark style="color:blue;">Metadado</mark>* ou no *<mark style="color:blue;">Componente</mark>*. Caso o campo calculado for reutilizado várias vezes em mais de um indicador é melhor criá-lo no metadado, assim ele estará presente para todos os componentes do metadado.

<div align="left"><figure><img src="/files/5jyY2g7tZnE9L0DGEIYw" alt=""><figcaption></figcaption></figure></div>

Preencher as propriedades do novo campo calculado, como *<mark style="color:blue;">Nome, Título</mark>* e *<mark style="color:blue;">Categoria</mark>* para identificação; a opção *<mark style="color:blue;">Público</mark>* para definir a segurança; *<mark style="color:blue;">Formatação</mark>* do campo; *<mark style="color:blue;">Categoria</mark>*; *<mark style="color:blue;">Tipo</mark>* para definir a forma de configuração e sua Fórmula (no caso de tipos *<mark style="color:blue;">Expressão</mark>* *<mark style="color:blue;">SQL</mark>* e *<mark style="color:blue;">Fórmula</mark>*).

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

Configurar a *<mark style="color:blue;">Fórmula</mark>*. Essa é a etapa mais importante de todas do campo calculado, pois determinará o seu valor, seja ele dinâmico ou fixo. No exemplo acima estamos utilizando do assistente *<mark style="color:blue;">Editor</mark>* *<mark style="color:blue;">de fórmula</mark>* para criar uma *<mark style="color:blue;">Média</mark>* do campo “*<mark style="color:blue;">person\_daily\_fat\_intake</mark>*”. Mais detalhes a seguir:

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

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

Feito isso, basta clicar em <mark style="color:blue;">OK</mark> no editor e novamente no *<mark style="color:blue;">Metadado</mark>*, para salvar as alterações realizadas e o cadastro do novo *<mark style="color:blue;">Campo</mark>* *<mark style="color:blue;">Calculado</mark>* utilizando uma fórmula para cálculo da média de um campo pré-existente.

O último passo para os campos calculados é a sua aplicação nos *<mark style="color:blue;">Componentes</mark>*. Para isso, basta selecionar o campo calculado na listagem de *<mark style="color:blue;">Campos</mark>* *<mark style="color:blue;">disponíveis</mark>* do metadado à esquerda e arrastá-lo para a área que deseja utilizá-lo (*<mark style="color:blue;">Valores</mark>*<mark style="color:blue;">,</mark> <mark style="color:blue;"></mark>*<mark style="color:blue;">Séries</mark>*<mark style="color:blue;">,</mark> <mark style="color:blue;"></mark>*<mark style="color:blue;">Ordenação</mark>*<mark style="color:blue;">,</mark> <mark style="color:blue;"></mark>*<mark style="color:blue;">Rótulos</mark>* <mark style="color:blue;"></mark><mark style="color:blue;">ou</mark> <mark style="color:blue;"></mark>*<mark style="color:blue;">Filtros</mark>*) assim como qualquer outro campo pré-existente.

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

Por padrão, os campos calculados estarão ordenados por *<mark style="color:blue;">Categoria</mark>* ou então de acordo com a ordem da listagem dos campos disponíveis que foi selecionada. No exemplo acima os campos disponíveis estão sendo ordenados por *<mark style="color:blue;">Tabela</mark>* e como os campos calculados não são de nenhuma tabela eles ficam na primeira pasta denominada “*(sem tabela)*”.

Note que além de inserirmos o campo que criamos nos passos anteriores (*Exemplo\_Campo*) em *Valores* também adicionamos um novo campo calculado que foi criado neste componente (*Exemplo\_Max\_Weight*). Para fazer isso e também reordenar a lista de campos disponíveis basta clicar no botão “***...***” e as opções se abrirão conforme imagem a seguir:

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

Em adição as opções demonstradas no exemplo acima, os campos calculados que forem criados no componente também permitem a sua Edição e Remoção direta no componente. Através do mesmo botão “***...***”, são disponibilizadas as opções “*<mark style="color:blue;">Editar campo calculado...</mark>*” e “*<mark style="color:blue;">Remover campo calculado...</mark>*”.

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

*<mark style="color:blue;">**Atenção!**</mark>* Esses exemplos de campos calculados utilizam de fórmulas simples para demonstrar como um campo calculado pode ser criado de uma forma rápida. Contudo, combinando diversos valores e funções diferentes do *<mark style="color:blue;">Editor de fórmulas</mark>* é possível obter diferentes resultados mais elaborados.

Como exemplo, segue uma fórmula que usa de duas *<mark style="color:blue;">Agregações</mark>* e uma *<mark style="color:blue;">Função de Verificação</mark>* (*AggDCnt*, *AggSum* e *IF*) para trazer a média do mesmo campo por Estados, ao invés da média geral. Além disso, a fórmula não permite a divisão por 0 ou valores negativos.

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

Para a melhor construção dos campos calculados siga os passos acima e teste os campos antes de colocá-los em prática na base de produção.
