# Processador Calculate fields

Adiciona novos campos com base em expressões de script Qlik.

O processador Calculate fields permite que você crie novos campos no esquema dos seus dados e preencha cada um deles usando expressões de script do Qlik. Seu script pode usar tudo do esquema de entrada, permitindo que você use combinações ou versões transformadas de campos existentes.

## Uso

* O processador Calculate fields requer um fluxo de entrada e pode gerar apenas um fluxo de saída.

* Clique no ícone + no painel de configuração do processador para criar mais de um campo calculado.

## Limitações

* O processador Calculate fields executa expressões em um contexto de script de carregamento. Funções de agregação como `firstSortedValue`, `sum`, `avg` e `count` não funcionam neste processador porque ele processa cada linha individualmente, e não dentro de uma agregação GROUP BY. Para usar funções de agregação, consulte [Processador Aggregate](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataFlow/data-flow-processor-aggregate.htm).

* Funções específicas de gráfico não funcionam neste processador porque ele opera na camada de carregamento de dados.

* No momento, não é possível criar um novo campo e fazer referência a ele no mesmo processador Calcular campos. Recomenda-se o uso de dois processadores distintos.

## Propriedades

Propriedades a serem configuradas para calcular novos campos.

Configuração

| Propriedade | Configuração |
| --- | --- |
| Nome | Dê um nome personalizado ao campo recém-criado. |
| Expressão | Digite sua expressão de script Qlik no campo para definir os valores do novo campo. Para obter mais informações sobre a sintaxe de script Qlik, consulte [Sintaxe de script e funções de gráfico](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/script-syntax-functions.htm). |
| Abrir editor | Use essa opção para usar um editor de script mais avançado, no qual você pode se beneficiar de ferramentas que o ajudam a criar sua expressão com mais facilidade. Para obter mais informações, consulte [Usando o editor de expressão](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataFlow/data-flow-processor-calculate-fields.htm#Using). |

Para renomear o processador ou editar sua descrição, aponte o mouse sobre o nome ou a descrição a ser alterada no painel Propriedades e clique no ícone the Editar icon .

## Usando o editor de expressão

Clicar no botão Abrir editor no painel de configuração abre o editor de expressão, um poderoso editor de script para ajudá-lo a criar seus novos campos. Insira facilmente nomes de campos ou funções, abra a documentação e verifique a validade de suas expressões.

![Usando o editor de expressão para criar um campo calculado](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/Dataflow/calculate_fields_expression_editor.png)

No painel esquerdo, você pode visualizar o campo atualmente carregado em seu fluxo de dados e navegar por uma ampla gama de funções de script da Qlik. Esse painel está organizado em duas guias:

* Campos, onde são listados os campos disponíveis nesse ponto do fluxo. Passe o mouse sobre qualquer um dos nomes de campo e clique em + para inseri-lo diretamente na expressão.

* Funções, onde você pode navegar pelas funções Qlik. Você pode usar o campo de busca para procurar uma função específica ou usar o menu suspenso Categoria de função para filtrá-las.

  Aponte o mouse sobre qualquer uma das funções e clique em + para inseri-la diretamente na expressão.

* Se você selecionar a opção Guia explicativo, uma breve descrição e um link para a documentação serão exibidos ao clicar em uma função.

No painel superior, você pode ativar ou desativar três ferramentas para ajudá-lo e orientá-lo ao escrever o script, bem como os botões desfazer e refazer para corrigir possíveis erros.

* Pesquisar e substituir para procurar automaticamente valores específicos e substituí-los, se necessário.

  ![Recurso de pesquisa e substituição do editor de expressão](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/Dataflow/calculate_fields_search_replace.png)

* Modo de ajuda para transformar qualquer função que você escrever no script em links clicáveis que o levarão à documentação.

  ![Ativação do modo de ajuda no editor de script](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/Dataflow/calculate_fields_help_mode.png)

* Preencher automaticamente para exibir sugestões à medida que o usuário digita, com uma breve descrição e um exemplo de uma função.

  ![Usando o preenchimento automático para escrever uma função de script](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/Dataflow/calculate_fields_autocomplete.png)

O painel inferior descreve qualquer erro potencial do script, como nomes de campo incorretos ou expressões inválidas.

![A ferramenta de validação mostra um erro no script](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/Dataflow/calculate_fields_expression_validation.png)

Quando o painel de status mostra um Ok verde, sua expressão é válida. Clique em Confirmar para usar essa expressão no campo calculado e voltar ao editor de fluxo de dados. Você pode então validar a configuração do processador.

## Exemplos

* Definir um valor incremental a ser usado como ID para as novas linhas de campo:

  ```
  RecNo()
  ```

  Para obter mais informações, consulte [Funções de contador](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterFunctions/counter-functions.htm).

* Usando condições if/then/else. Neste exemplo, você carregou dados com temperatura e deseja incluir informações adicionais dependendo dos valores:

  ```

  If(Temperature <= 0 , 'Freezing',
  If(Temperature >= 100, 'Boiling',
  If(Temperature >0 AND Temperature < 100, 'Between')))
  ```

  Para obter mais informações, consulte [if - função de script e gráfico](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/if.htm)

* Executando várias operações matemáticas em um único processador. Em um conjunto de dados que contém campos com um número de unidades vendidas, bem como o preço unitário e o custo unitário, você pode criar dois novos campos para a receita total e o custo total.

  1. No primeiro campo, digite total\_revenue como o novo nome do campo e a expressão a seguir:

     ```
     [Units Sold] * [Unit Price]
     ```

  2. Clique no ícone + no painel de configuração do processador para criar outro campo calculado.

  3. No segundo campo, insira total\_cost como o novo nome do campo e a seguinte expressão:

     ```
     [Units Sold] * [Unit Cost]
     ```

Para obter mais exemplos de expressões de script, consulte [Instruções regulares](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-regular-statements.htm) e [Funções de script e gráfico](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/functions-in-scripts-chart-expressions.htm).