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ê.

Sintaxe:  

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 instrução Constrain

Use a instrução Constrain para evitar que valores variáveis indesejados sejam carregados nos aplicativos de análise. As seções a seguir descrevem maneiras específicas de usá-la.

Atualização de variável de tempo de recarregamento

Constrain é especialmente útil quando usado em combinação com atualizações de variáveis em tempo de recarregamento. Com as atualizações de variáveis em tempo de recarregamento, você pode atualizar dinamicamente as variáveis durante os recarregamentos do aplicativo, usando a propriedade variables na API Recarregamentos. A instrução Constrain impede que definições de variáveis mal-intencionadas ou formatadas incorretamente sejam incorporadas aos recarregamentos de análises.

As atualizações de variáveis de tempo de recarregamento, juntamente com a instrução Constrain, suportam os seguintes casos de uso:

  • Aplicativos com modelos que carregam dados seletivamente com base em condições como ID ou nome do cliente (que podem ser passados no momento do carregamento como variáveis)

  • Controle central sobre aplicativos distribuídos em muitos locatários do Qlik Cloud

  • Migrando fluxos de trabalho e tarefas orientados por variáveis do QlikView e do Qlik Sense Client-Managed para a nuvem

Segurança, confiabilidade e colaboração

Mesmo quando usado fora dos cenários de atualização de variáveis em tempo de recarregamento, o Constrain aprimora os controles de segurança para a criação de scripts de carregamento, por exemplo, durante o desenvolvimento colaborativo de scripts de carregamento. Por exemplo, o proprietário de um aplicativo pode definir restrições para valores de variáveis, informando os colaboradores sobre condições específicas que precisam ser atendidas para que o aplicativo seja recarregado com sucesso e confiabilidade.

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 - Várias 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.

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, na exibição de pasta ou por meio da API Recarregamentos — estarão sujeitas às restrições.

Para definir restrições de variáveis por meio da API pública, use o objeto GenericVariableConstraints na API Qlik Sense Engine (qix): GenericVariableConstraints.

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 - Várias 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!