Constrain | Qlik Sense unter Windows Hilfe
Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Constrain

Der Constrain-Befehl kann in Kombination mit den Let- oder Set-Befehlen verwendet werden, um Skript-Variablen zu definieren. Mit dem Constrain-Befehl können Sie Beschränkungen für mögliche Werte dieser Variablen definieren. Wenn eine Variablendefinition gegen die Beschränkungen verstößt, schlägt der Ladevorgang fehl. Mit Beschränkungen können Sie festlegen, dass Variablenwerte bestimmten Typen entsprechen, in bestimmte numerische Bereiche fallen und mit von Ihnen definierten akzeptablen Werten übereinstimmen müssen.

Constrain variablename = json

Hierbei gilt:

  • variablename ist eine Skriptvariable.

  • json ist ein gültiges JSON-Objekt, das die Beschränkungen angibt. Einzelne Beschränkungen werden in diesem Objekt als Schlüssel-Wert-Paare hinzugefügt.

Beschränkungstypen
Beschränkungstyp (Schlüssel) Bedeutung Beschränkungsanforderungen (Wert) Beispiele
"type" Beschränken Sie Variablenwerte auf einen bestimmten Datentyp.

"text" gibt einen Texttyp an.

"number" gibt einen numerischen Typ an.

CONSTRAIN vExampleText = {"type": "text"}
CONSTRAIN vExampleNumeric = {"type": "number"}
"maxnum" Legen Sie einen Höchstwert für eine Variable fest. Nur Zahlen (Ganzzahl oder Fließkomma). Wissenschaftliche Notation ist zulässig.
CONSTRAIN vExample = {"maxnum": 5000}
"minnum" Legen Sie einen Mindestwert für eine Variable fest. Nur Zahlen (Ganzzahl oder Fließkomma). Wissenschaftliche Notation ist zulässig.
CONSTRAIN vExample = {"minnum": 250}
"valuesnum" Definieren Sie eine Liste der akzeptablen numerischen Werte für die Variable. Kommagetrennte Liste von Zahlen, die in eckigen Klammern stehen. Zum Beispiel: [1,2,3]
CONSTRAIN vExample = {"valuesnum": [1,2,3]}
"valuestext" Definieren Sie eine Liste der akzeptablen Textwerte für die Variable. Kommagetrennte Liste von Strings, die in eckigen Klammern stehen. Zum Beispiel: ["a","b","c"]
CONSTRAIN vExample = {"valuestext": ["Department A", "Department B", "Department C"]}

Wann eine Constrain Anweisung verwendet wird

Verwenden Sie den Constrain-Befehl, um zu verhindern, dass unerwünschte Variablenwerte in Analyseanwendungen geladen werden.

Überlegungen

  • Die Constrain-Definition für die Variable muss ein gültiges JSON-Objekt sein.

  • Sie können mehr als eine Beschränkung für eine einzelne Variable angeben. Alle Beschränkungen für eine Variable müssen in einem einzigen Beschränkungsobjekt enthalten sein. Beispiele finden Sie unter Beispiele: Mehrere Beschränkungen.

  • Wenn Sie bereits eine Skriptvariable mit einem bestimmten Namen in die Anwendung geladen haben, können zukünftige Versuche, Beschränkungen und Werte für diese Variable zu definieren, aufgrund von Konflikten zwischen den ursprünglichen und den neu definierten Variablen fehlschlagen.

    Um diese Konflikte zu lösen, setzen Sie die Variablenbeschränkungen und -werte zurück, indem Sie leere Definitionen einfügen. Beispiele:

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

    In den nachfolgenden Abschnitten des Ladeskripts können Sie dann die Variable und ihre Beschränkungen neu definieren. Ein Beispiel in Langform finden Sie unter Beispiel: Auflösen von Variablendefinitionskonflikten.

  • Die Reihenfolge der Variablendefinition und der Beschränkungsdefinition spielt keine Rolle. Im Falle eines variablenbedingten Ladefehlers ist die Zeile, in der der Bruchpunkt auftritt, jedoch eine andere.

  • Der Constrain-Skriptbefehl schränkt nur die Variablendefinitionen für Skriptvariablen ein. Sie können auch Beschränkungen auf Skript- und Endbenutzervariablen anwenden (die in der Arbeitsblatt-Ansicht oder als Sitzungsvariablen über die API erstellt oder aktualisiert wurden), indem Sie die öffentliche API verwenden. Weitere Informationen finden Sie unter Alternativen für Entwickler zum Definieren von Variablenbeschränkungen.

  • Beschränkungen werden validiert, um Szenarien zu vermeiden, die keinem Wert für die Variable entsprechen können. Beispiele für ungültige Beschränkungen:

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

Alternativen für Entwickler zum Definieren von Variablenbeschränkungen

Sie können auch die öffentliche API verwenden, um Variablenbeschränkungen zu definieren, anstatt den Constrain-Befehl im Ladeskript zu verwenden. Bei der Definition von Beschränkungen über die API unterliegen alle Versuche, Variablenwerte zu aktualisieren – ob direkt im Ladeskript oder in der Arbeitsblatt-Ansicht – den Beschränkungen.

Um Variablenbeschränkungen über die öffentliche API zu definieren, verwenden Sie die GenericVariableConstraints Eigenschaft in der QlikEngine JSON API: GenericVariableProperties (nur auf Englisch).

Beispiel - type

Beispiel - maxnum

Beispiel - minnum

Beispiel - valuesnum

Beispiel - valuestext

Beispiele: SET im Vergleich zu LET

Diese Beispiele zeigen die Unterschiede in der Anwendung von Beschränkungen bei der Verwendung von SET oder LET während der Variablendefinition. In allen Beispielen werden Beschränkungen verwendet, die eine type-Anforderung anwenden, aber diese Prinzipien gelten generell für alle Arten von Beschränkungen.

Beispiele: Mehrere Beschränkungen

Beispiel: Auflösen von Variablendefinitionskonflikten

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!