Ir para conteúdo principal

Campos de entrada

NESTA PÁGINA

Campos de entrada

O QlikView oferece suporte a um tipo especial de campo que pode ser alterado sem a execução do script, o campo de entrada.

Um campo de entrada é como qualquer outro campo do QlikView; a diferença é que seus valores lidos no script, podem ser alterados posteriormente sem precisar executar novamente o script. Os campos de entrada podem ser usados como qualquer outro campo em todos os tipos de objeto de pasta.

Ao usar campos de entrada, o script cria espaços reservados para cada valor de campo, que podem ser editados posteriormente para conter novos dados. Qualquer campo pode ser transformado em campo de entrada, listando-o em um comando inputfield no script antes que ele apareça em um comando LOAD ou SELECT.

Os valores de um campo de entrada podem ser alterados nas células de lista, de tabelas e de expressão de tabela. Apenas as colunas de listas e de tabela que contêm campos de entrada podem ser editadas. Ao passar o mouse sobre uma célula editável, é possível ver um ícone de entrada. Clique no ícone para definir a célula no modo de edição de entrada. É possível usar as teclas de seta para cima/para baixo para percorrer as células no modo de edição de entrada. Todo o documento QlikView será recalculado automaticamente sempre que forem inseridos novos valores.

Uma célula de expressão gráfica de tabela pode conter uma função de agregação de campo de entrada e ainda assim ser aberta. A alteração será distribuída para os valores de campo subjacentes, com base nos algoritmos predefinidos, por exemplo, "distribuir igualmente" ou "distribuir proporcionalmente".

É possível especificar uma mudança relativa.

Nota: A mudança relativa funciona quando o modo de distribuição está sendo usado como parte da expressão.

A seguinte sintaxe se aplica (n é um número):

Sintaxe de entrada
Sintaxe Descrição
%+n aumenta o valor atual por n% 
%-n diminui o valor atual por n% 
+=n aumenta o valor atual por n 
-=n diminui o valor atual por n 
*=n multiplica o valor atual por n 
/=n divide o valor atual por n 

Example:  

%+10 aumenta o valor atual em 10%.

+=56 aumenta o valor atual em 56.

*=2 multiplica o valor por 2.

/=2 divide o valor por 2.

/=0 sem alteração.

Existem também as APIs de Automação para extrair e definir valores de forma programática.

Limitações

  • Um campo calculado e campos chave não podem ser usados como campo de entrada. A funcionalidade de campo de entrada será desativada automaticamente.
  • Os campos de entrada não devem ser usados para quantias grandes de dados, pois seu armazenamento de dados é significativamente menos eficiente que dos campos regulares.
  • A chave entre o campo de entrada e o campo lógico deve ser exclusiva e não pode conter valores duplicados.

Exemplo de campo de entrada

Este exemplo adiciona um campo de entrada aos dados e mostra como você pode atualizar os valores interativamente.

  1. Carregue os seguintes dados no script de carregamento.

    Valor do campo de entrada;

     

    Table1:

    LOAD * INLINE

    [

    Chave, Atributo, Valor

    Bob, Jan, 100

    Bob, Feb, 200

    Bob, Mar, 300

    Kate, Jan, 400

    Kate, Feb, 500

    Kate, Mar, 600

    ];

  2. Depois de carregar os dados, crie uma Tabela e adicione todos esses três campos.
  3. Crie um gráfico de Tabela Estática e adicione Key como dimensão. Utilize as seguintes expressões:

    • Sum(Value)
    • InputSum(Value)

    Ambas as expressões mostrarão o mesmo valor, mas você só pode atualizar InputSum(Value) na tabela estática, e não Sum(Value).

Agora você pode alterar Value na tabela de forma interativa. Os valores agregados das expressões na tabela direta serão atualizados de acordo.

Você também pode atualizar os valores da expressão InputSum(Value) na tabela estática. Os valores subjacentes serão atualizados na tabela. A mudança é distribuída igualmente para todos os valores, mas você pode alterar o modo de distribuição na função InputSum().