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 déclaration Constrain

Utilisez l'instruction Constrain pour éviter que des valeurs variables indésirables ne soient chargées dans les applications analytiques. Les sections suivantes décrivent les spécificités de son utilisation.

Mise à jour des variables au moment du rechargement

Constrain est particulièrement utile lorsqu'il est utilisé en combinaison avec des mises à jour de variables au moment du rechargement Avec les mises à jour de variables au moment du rechargement, vous pouvez mettre à jour dynamiquement les variables pendant le rechargement de l'application, en utilisant la propriété variables de l'API Reloads. L'instruction Constrain permet d'éviter que des définitions de variables malveillantes ou mal formatées soient intégrées dans les recharges analytiques.

Les mises à jour des variables de temps de recharge, ainsi que la déclaration Constrain, permettent de suivre les cas d'utilisation suivants :

  • Les applications modélisées qui chargent des données de manière sélective en fonction de conditions telles que l'identifiant ou le nom du client (qui peuvent être transmises au moment du chargement en tant que variables).

  • Contrôle central des applications distribuées sur de nombreux clients Qlik Cloud

  • Migration des flux de travail et des tâches axés sur les variables de QlikView et Qlik Sense Client-Managed vers le cloud

Sécurité, fiabilité et collaboration

Même lorsqu'il est utilisé en dehors des scénarios de mise à jour des variables de rechargement, Constrain renforce les contrôles de sécurité pour la création de scripts de chargement, par exemple, lors du développement collaboratif de scripts de chargement. Par exemple, le propriétaire d'une application peut définir des contraintes pour les valeurs des variables, informant ainsi les collaborateurs des conditions spécifiques qui doivent être remplies pour que l'application puisse être rechargée avec succès et de manière fiable.

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.

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, dans le mode feuille ou via l'API Reloads, sont soumises aux contraintes.

Pour définir des contraintes de variables via l'API publique, utilisez l'objet GenericVariableConstraints dans l'API Qlik Sense Engine (qix) : GenericVariableConstraints.

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.