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.

Syntaxis:  

Constrain variablename = json

Waarbij:

  • 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-instructie gebruiken?

Gebruik de Constrain-instructie om te voorkomen dat ongewenste variabele waarden in analyse-apps worden geladen. In de volgende secties worden specifieke manieren beschreven waarop u deze kunt gebruiken.

Laadtijd variabele bijwerken

Constrain is vooral nuttig wanneer het gebruikt wordt in combinatie met laadtijd variabele updates. Met laadtijd variabele updates kunt u dynamisch variabelen bijwerken tijdens het laden van de app, met behulp van de eigenschap variables in de Reloads API. De Constrain-instructie voorkomt dat kwaadaardige of onjuist geformatteerde definities van variabelen opgenomen worden in analytische ladingen.

Laadtijd variabele updates, samen met de Constrain-instructie, ondersteunen de volgende gebruiksscenario's:

  • Sjabloon-apps die gegevens selectief laden op basis van voorwaarden zoals klant-ID of naam (die bij het laden kunnen worden doorgegeven als variabelen)

  • Centrale controle over apps die gedistribueerd zijn over vele Qlik Cloud-tenants

  • Variabel georiënteerde workflows en taken migreren van QlikView 12 en Qlik Sense met clientbeheer naar de cloud

Veiligheid, betrouwbaarheid en samenwerking

Zelfs wanneer Constrain wordt gebruikt buiten de scenario's voor het bijwerken van variabelen tijdens het laden, verbetert het de beveiligingscontroles voor het schrijven van load-scripts, bijvoorbeeld tijdens de gezamenlijke ontwikkeling van load-scripts. De eigenaar van een app kan bijvoorbeeld beperkingen definiëren voor variabele waarden, zodat medewerkers op de hoogte zijn van specifieke voorwaarden waaraan voldaan moet worden om de app betrouwbaar en succesvol te laden.

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

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, in de werkbladweergave of via de Reloads API gebeurt — onderhevig zijn aan de beperkingen.

Om variabele beperkingen via de openbare API te definiëren, gebruikt u het GenericVariableConstraints-object in de Qlik Sense Engine (qix) API: GenericVariableConstraints.

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!