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.
| 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. |
|
| "maxnum" | Définissez une valeur maximale pour une variable. | Nombres uniquement (entiers ou à virgule flottante). La notation scientifique est autorisée. |
|
| "minnum" | Définissez une valeur minimale pour une variable. | Nombres uniquement (entiers ou à virgule flottante). La notation scientifique est autorisée. |
|
| "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] |
|
| "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"] |
|
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
Utilisation des variables dans l'éditeur de chargement de données
