Constrain | Qlik Sense onder Windows Help
Ga naar hoofdinhoud Ga naar aanvullende inhoud

Constrain

De Constrain-instructie kan in combinatie met de Let- of Set-instructie gebruikt worden om scriptvariabelen te definiëren. Met de Constrain-instructie kunt u beperkingen definiëren op mogelijke waarden voor deze variabelen. Als een definitie van een variabele de beperkingen schendt, mislukt de lading. Met beperkingen kunt u eisen dat variabele waarden overeenkomen met specifieke typen, binnen specifieke numerieke bereiken vallen en overeenkomen met aanvaardbare waarden die u definieert.

Constrain variablename = json

Waar:

  • variablename is een scriptvariabele.

  • json een geldig JSON-object is dat de beperkingen specificeert. Individuele beperkingen worden binnen dit object toegevoegd als sleutelwaardeparen.

Type beperkingen
Beperkingstype (sleutel) Betekenis Vereisten voor beperking (waarde) Voorbeelden
"type" Beperk variabelewaarden tot een specifiek gegevenstype.

"text" specificeert een teksttype.

"number" specificeert een numeriek type.

CONSTRAIN vExampleText = {"type": "text"}
CONSTRAIN vExampleNumeric = {"type": "number"}
"maxnum" Stel een maximumwaarde in voor een variabele. Alleen getallen (geheel getal of drijvende komma). Wetenschappelijke notatie is toegestaan.
CONSTRAIN vExample = {"maxnum": 5000}
"minnum" Stel een minimumwaarde in voor een variabele. Alleen getallen (geheel getal of drijvende komma). Wetenschappelijke notatie is toegestaan.
CONSTRAIN vExample = {"minnum": 250}
"valuesnum" Definieer een lijst met aanvaardbare numerieke waarden voor de variabele. Door komma's gescheiden lijst van getallen tussen vierkante haakjes. Bijvoorbeeld: [1,2,3]
CONSTRAIN vExample = {"valuesnum": [1,2,3]}
"valuestext" Definieer een lijst met aanvaardbare tekstwaarden voor de variabele. Door komma's gescheiden lijst van tekenreeksen tussen vierkante haakjes. Bijvoorbeeld: ["a","b","c"]
CONSTRAIN vExample = {"valuestext": ["Department A", "Department B", "Department C"]}

Wanneer een Constrain statement te gebruiken

Gebruik de Constrain-instructie om te voorkomen dat ongewenste variabele waarden in analyse-apps worden geladen.

Overwegingen

  • De Constrain-definitie voor de variabele moet een geldig JSON-object zijn.

  • U kunt meer dan één beperking voor één variabele opgeven. Alle beperkingen voor een variabele moeten in een enkel beperkingsobject staan. Zie Voorbeelden - meerdere beperkingen voor voorbeelden.

  • Als u al een scriptvariabele met een bepaalde naam in de applicatie hebt geladen, kunnen toekomstige pogingen om beperkingen en waarden voor die variabele te definiëren mislukken door conflicten tussen de oorspronkelijke en de opnieuw gedefinieerde variabelen.

    Om deze conflicten op te lossen, reset u de beperkingen en waarden van de variabelen door lege definities in te voegen. Voorbeelden:

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

    U kunt dan de variabele en de beperkingen ervan opnieuw definiëren in volgende secties in het load-script. Zie Voorbeeld - conflicten oplossen in de definitie van variabelen voor een voorbeeld in lange vorm.

  • De volgorde van de definitie van de variabele en de definitie van de beperking maakt niet uit. In het geval van een variabele-gerelateerde laadfout, zal de regel waarop het breekpunt optreedt echter anders zijn.

  • De Constrain script-instructie beperkt alleen variabele definities voor scriptvariabelen. U kunt ook beperkingen toepassen op script- en eindgebruikersvariabelen (variabelen die zijn aangemaakt of bijgewerkt in de werkbladweergave of als sessievariabelen met behulp van de API) door de openbare API te gebruiken. Ga voor meer informatie naar Alternatieven voor ontwikkelaars om variabele beperkingen te definiëren.

  • Beperkingen worden gevalideerd om scenario's te voorkomen die geen enkele waarde kunnen matchen voor de variabele. Voorbeelden van ongeldige beperkingen:

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

Alternatieven voor ontwikkelaars om variabele beperkingen te definiëren

U kunt ook de openbare API gebruiken om variabele beperkingen te definiëren, in plaats van de Constrain-instructie in het load-script te gebruiken. Wanneer u beperkingen definieert via de API, zullen alle pogingen om variabele waarden bij te werken — of dit nu rechtstreeks in het load-script of in de werkbladweergave gebeurt — onderhevig zijn aan de beperkingen.

Om variabele beperkingen via de openbare API te definiëren, gebruikt u de GenericVariableConstraints-eigenschap in de QlikEngine JSON API: GenericVariableProperties (alleen in het Engels).

Voorbeeld - type

Voorbeeld - maxnum

Voorbeeld - minnum

Voorbeeld - valuesnum

Voorbeeld - valuestext

Voorbeelden - SET versus LET

Deze voorbeelden laten de verschillen zien tussen hoe beperkingen worden toegepast bij het gebruik van SET of LET tijdens het definiëren van variabelen. Alle voorbeelden gebruiken beperkingen die een type vereiste toepassen, maar deze principes gelden in het algemeen voor alle soorten beperkingen.

Voorbeelden - meerdere beperkingen

Voorbeeld - conflicten oplossen in de definitie van variabelen

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een tikfout, een ontbrekende stap of een technische fout – laat het ons weten!