Constrain | Qlik Sense no Windows Ajuda
Ir para conteúdo principal Pular para conteúdo complementar

Constrain

A instrução Constrain pode ser usada em combinação com as instruções Let ou Set para definir variáveis de script. A instrução Constrain permite que você defina restrições sobre os valores possíveis para essas variáveis. Se a definição de uma variável violar as restrições, o recarregamento falhará. Com as restrições, você pode exigir que os valores variáveis correspondam a tipos específicos, estejam dentro de intervalos numéricos específicos e correspondam a valores aceitáveis definidos por você.

Constrain variablename = json

Em que:

  • variablename é uma variável de script.

  • json é um objeto JSON válido que especifica as restrições. As restrições individuais são adicionadas a esse objeto como pares de valores-chave.

Tipos de restrição
Tipo de restrição (chave) Significado Requisitos de restrição (valor) Exemplos
"type" Restringir valores de variável a um tipo de dados específico.

"text" especifica um tipo de texto.

"number" especifica um tipo numérico.

CONSTRAIN vExampleText = {"type": "text"}
CONSTRAIN vExampleNumeric = {"type": "number"}
"maxnum" Defina um valor máximo para uma variável. Somente números (inteiros ou de ponto flutuante). É permitida notação científica.
CONSTRAIN vExample = {"maxnum": 5000}
"minnum" Defina um valor mínimo para uma variável. Somente números (inteiros ou de ponto flutuante). É permitida notação científica.
CONSTRAIN vExample = {"minnum": 250}
"valuesnum" Defina uma lista de valores numéricos aceitáveis para a variável. Lista de números separados por vírgula, entre colchetes. Por exemplo: [1,2,3]
CONSTRAIN vExample = {"valuesnum": [1,2,3]}
"valuestext" Defina uma lista de valores de texto aceitáveis para a variável. Lista de strings separadas por vírgulas, entre colchetes. Por exemplo: ["a","b","c"]
CONSTRAIN vExample = {"valuestext": ["Department A", "Department B", "Department C"]}

Quando usar uma Constrain instrução

Use a instrução Constrain para evitar que valores variáveis indesejados sejam carregados nos aplicativos de análise.

Considerações

  • A definição de Constrain para a variável deve ser um objeto JSON válido.

  • Você pode especificar mais de uma restrição para uma única variável. Todas as restrições de uma variável precisam estar contidas em um único objeto de restrição. Para ver exemplos, consulte Exemplos - Múltiplas restrições.

  • Se você já carregou uma variável de script com um determinado nome no aplicativo, tentativas futuras de definir restrições e valores para essa variável podem falhar devido a conflitos entre a variável original e a redefinida.

    Para resolver esses conflitos, redefina as restrições e os valores da variável inserindo definições em branco. Exemplos:

    CONSTRAIN x;
    LET x;
    
    CONSTRAIN x;
    SET x;

    Você pode então redefinir a variável e suas restrições nas seções subsequentes do script de carregamento. Para um exemplo mais longo, consulte Exemplo - Resolvendo conflitos de definição de variável.

  • A ordem da definição de variável e da restrição não importa. No entanto, em caso de falha de recarregamento relacionada à variável, a linha na qual o ponto de interrupção ocorre será diferente.

  • A instrução de script Constrain restringe apenas as definições de variáveis para variáveis de script. Você também pode aplicar restrições em variáveis de script e de usuário final (aquelas criadas ou atualizadas na visualização de pasta ou como variáveis de sessão usando a API) usando a API pública. Para obter mais informações, consulte Alternativas do desenvolvedor para definir restrições de variáveis.

  • Restrições são validadas para evitar cenários que não podem corresponder a nenhum valor para a variável. Exemplos de restrições inválidas:

    • {"minnum": 5000, "maxnum": 4}
    • {"type": "text", "maxnum": 4}

Alternativas do desenvolvedor para definir restrições de variáveis

Você também pode usar a API pública para definir restrições de variáveis, em vez de usar a instrução Constrain no script de carregamento. Ao definir restrições via API, todas as tentativas de atualizar valores de variáveis —seja diretamente no script de carregamento ou na exibição de pasta— estarão sujeitas às restrições.

Para definir restrições de variáveis por meio da API pública, use a propriedade GenericVariableConstraints na API QlikEngine JSON: GenericVariableProperties (somente em inglês).

Exemplo - type

Exemplo - maxnum

Exemplo - minnum

Exemplo - valuesnum

Exemplo - valuestext

Exemplos - SET versus LET

Esses exemplos mostram as diferenças entre como as restrições são aplicadas ao usar SET ou LET durante a definição de variável. Todos os exemplos usam restrições que aplicam um requisito type, mas esses princípios se aplicam a todos os tipos de restrições em geral.

Exemplos - Múltiplas restrições

Exemplo - Resolvendo conflitos de definição de variável

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo – um erro de digitação, uma etapa ausente ou um erro técnico – avise-nos!