Constrain | Aide Qlik Sense sous Windows
Accéder au contenu principal Passer au contenu complémentaire

Constrain

L'instruction Constrain peut être utilisée en combinaison avec les instructions Let ou Set pour définir des variables de script. L'instruction Constrain vous permet de définir des contraintes sur les valeurs possibles de ces variables. Si la définition d'une variable ne respecte pas les contraintes, le rechargement échoue. Les contraintes vous permettent d'exiger que les valeurs des variables correspondent à des types spécifiques, qu'elles se situent dans des plages numériques spécifiques et qu'elles correspondent à des valeurs acceptables que vous définissez.

Constrain variablename = json

où :

  • variablename est une variable de script.

  • json est un objet JSON valide spécifiant les contraintes. Les contraintes individuelles sont ajoutées dans cet objet sous forme de paires clé-valeur.

Types de contraintes
Type de contrainte (clé) Signification Exigences de la contrainte (valeur) Exemples
"type" Limitez les valeurs des variables à un type de données spécificique.

"text" spécifie un type de texte.

"number" spécifie un type numérique.

CONSTRAIN vExampleText = {"type": "text"}
CONSTRAIN vExampleNumeric = {"type": "number"}
"maxnum" Définissez une valeur maximale pour une variable. Nombres uniquement (entiers ou à virgule flottante). La notation scientifique est autorisée.
CONSTRAIN vExample = {"maxnum": 5000}
"minnum" Définissez une valeur minimale pour une variable. Nombres uniquement (entiers ou à virgule flottante). La notation scientifique est autorisée.
CONSTRAIN vExample = {"minnum": 250}
"valuesnum" Définissez une liste de valeurs numériques acceptables pour la variable. Liste de nombres séparés par des virgules et placés entre crochets. Par exemple : [1,2,3]
CONSTRAIN vExample = {"valuesnum": [1,2,3]}
"valuestext" Définissez une liste de valeurs numériques acceptables pour la variable. Liste de chaînes séparées par des virgules et placés entre crochets. Par exemple : ["a","b","c"]
CONSTRAIN vExample = {"valuestext": ["Department A", "Department B", "Department C"]}

Quand utiliser une Constrain instruction

Utilisez l'instruction Constrain pour éviter que des valeurs variables indésirables ne soient chargées dans les applications analytiques.

Considérations

  • La définition Constrain de la variable doit être un objet JSON valide.

  • Vous pouvez spécifier plusieurs contraintes pour une même variable. Toutes les contraintes relatives à une variable doivent être contenues dans un seul objet de contrainte. Pour des exemples, voir Exemples - Contraintes multiples.

  • Si vous avez déjà chargé une variable de script portant un certain nom dans l'application, les tentatives futures de définition de contraintes et de valeurs pour cette variable peuvent échouer en raison de conflits entre les variables d'origine et les variables redéfinies.

    Pour résoudre ces conflits, réinitialisez les contraintes et les valeurs des variables en insérant des définitions vierges. Exemples :

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

    Vous pouvez ensuite redéfinir la variable et ses contraintes dans les sections suivantes du script de chargement. Pour un exemple détaillé, voir Exemple - Résoudre les conflits de définition de variables.

  • L'ordre de la définition de la variable et de la définition de la contrainte n'a pas d'importance. Toutefois, en cas d'échec du rechargement lié à une variable, la ligne où se situe le point de rupture sera différente.

  • L'instruction de script Constrain ne restreint les définitions de variables que pour les variables de script. Vous pouvez également appliquer des contraintes sur les variables de script et d'utilisateur final (celles créées ou mises à jour en mode feuille ou en tant que variables de session à l'aide de l'API) en utilisant l'API publique. Pour plus d'informations, consultez Alternatives du développeur pour la définition des contraintes de variables.

  • Les contraintes sont validées pour éviter les scénarios qui ne peuvent correspondre à aucune valeur pour la variable. Exemples de contraintes non valides :

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

Alternatives du développeur pour la définition des contraintes de variables

Vous pouvez également utiliser l'API publique pour définir des contraintes de variables, plutôt que d'utiliser l'instruction Constrain dans le script de chargement. Lorsque vous définissez des contraintes via l'API, toutes les tentatives de mise à jour des valeurs des variables—que ce soit directement dans le script de chargement ou dans le mode feuille—seront soumises aux contraintes.

Pour définir des contraintes de variables via l'API publique, utilisez la GenericVariableConstraints propriété dans l'QlikEngine JSON API : GenericVariableProperties (uniquement en anglais).

Exemple - type

Exemple - maxnum

Exemple - minnum

Exemple - valuesnum

Exemple - valuestext

Exemples - SET versus LET

Ces exemples montrent les différences entre la manière dont les contraintes sont appliquées lorsque vous utilisez SET ou LET lors de la définition des variables. Tous les exemples utilisent des contraintes appliquant une exigence type, mais ces principes s'appliquent à tous les types de contraintes en général.

Exemples - Contraintes multiples

Exemple - Résoudre les conflits de définition de variables

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.