Constrain | Qlik Sense для Windows Справка
Перейти к основному содержимому Перейти к дополнительному содержимому

Constrain

Оператор Constrain можно использовать в сочетании с оператором Let или Set для определения переменных скрипта. Оператор Constrain позволяет определить ограничения на возможные значения этих переменных. Если определение переменной нарушает ограничения, перезагрузка завершится неудачей. С помощью ограничений можно требовать, чтобы значения переменных соответствовали определенным типам, попадали в определенные числовые диапазоны и совпадали с допустимыми значениями, которые вы определите.

Constrain variablename = json

Где:

  • variablename — это переменная скрипта.

  • json — это допустимый объект JSON, определяющий ограничения. Отдельные ограничения добавлены в этот объект в виде пар «ключ-значение».

Типы ограничений
Тип ограничения (ключ) Значение Требования к ограничению (значение) Примеры
"type" Ограничивает значения переменных определенным типом данных.

"text" определяет тип текста.

"number" определяет числовой тип.

CONSTRAIN vExampleText = {"type": "text"}
CONSTRAIN vExampleNumeric = {"type": "number"}
"maxnum" Устанавливает максимальное значение для переменной. Только числа (целые или с плавающей запятой). Разрешено экспоненциальное представление чисел.
CONSTRAIN vExample = {"maxnum": 5000}
"minnum" Устанавливает минимальное значение для переменной. Только числа (целые или с плавающей запятой). Разрешено экспоненциальное представление чисел.
CONSTRAIN vExample = {"minnum": 250}
"valuesnum" Определяет список допустимых числовых значений для переменной. Список разделенных запятыми чисел, заключенный в квадратные скобки. Например: [1,2,3]
CONSTRAIN vExample = {"valuesnum": [1,2,3]}
"valuestext" Определяет список допустимых текстовых значений для переменной. Список разделенных запятыми строк, заключенный в квадратные скобки. Например: ["a","b","c"]
CONSTRAIN vExample = {"valuestext": ["Department A", "Department B", "Department C"]}

Когда использовать Constrain оператор

Используйте оператор Constrain для предотвращения загрузки нежелательных значений переменных в аналитические приложения.

Замечания

  • Определение Constrain для переменной должно быть допустимым объектом JSON.

  • Для одной переменной можно указать более одного ограничения. Все ограничения для переменной должны содержаться в одном объекте ограничения. Для ознакомления с примерами см. раздел Примеры: множественные ограничения.

  • Если вы уже загрузили переменную скрипта с определенным именем в приложение, будущие попытки определить ограничения и значения для этой переменной могут завершиться неудачей из-за конфликтов между исходной и переопределенной переменными.

    Чтобы разрешить эти конфликты, сбросьте ограничения и значения переменной, вставив пустые определения. Примеры:

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

    После этого переменную и ее ограничения можно переопределить в последующих разделах скрипта загрузки. Подробный пример см. здесь: Пример: разрешение конфликтов определений переменных.

  • Порядок определений переменной и ограничений не имеет значения. Однако при сбое перезагрузки, связанной с переменной, строка, на которой срабатывает контрольная точка, будет другой.

  • Оператор скрипта Constrain ограничивает определения переменных только для переменных скрипта. Ограничения также можно применить к переменным скрипта и конечного пользователя (которые созданы или обновлены в виде листа или как переменные сеанса с помощью API-интерфейса), используя общедоступный API-интерфейс. Для получения дополнительной информации см. раздел Альтернативные варианты разработчика для определения ограничений переменных.

  • Constraints are validated to avoid scenarios that cannot match any value for the variable. Примеры недопустимых ограничений:

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

Альтернативные варианты разработчика для определения ограничений переменных

Для определения ограничений переменных можно использовать общедоступный API-интерфейс, а не оператор Constrain в скрипте загрузки. При определении ограничений через API, все попытки обновить значения переменных (непосредственно в Скрипте загрузки или в виде листа) будут подпадать под эти ограничения.

Чтобы определить ограничения переменных через общедоступный API-интерфейс, используйте свойство GenericVariableConstraints в API-интерфейсе QlikEngine JSON: GenericVariableProperties (только английский язык).

Пример - type

Пример - maxnum

Пример - minnum

Пример - valuesnum

Пример - valuestext

Примеры: сравнение SET с LET

Эти примеры показывают разницу между тем, как применяются ограничения при использовании SET или LET во время определения переменных. Во всех примерах используются ограничения, применяющие требование type, но эти принципы применимы ко всем типам ограничений в целом.

Примеры: множественные ограничения

Пример: разрешение конфликтов определений переменных

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице или с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом!