Условия для параметров текста
Если запрос зависит от многих параметров, он не будет выполнен, пока каждый из этих параметров не будет разрешен. Иногда параметр может иметь простой запрос, который сцепляет строку или выполняет условное вычисление. Эти запросы по-прежнему совершают сетевые вызовы служб, которые выполняют эти основные операции. Это увеличивает время, необходимое параметру для разрешения значения. Все это приводит к длительной загрузке сложных книг.
Используя параметры с условиями, можно определить набор условий на основе заданных ранее параметров, которые будут вычисляться для получения динамического значения. Основное преимущество использования параметров с условиями заключается в том, что они могут разрешать значения ранее заданных параметров и выполнять простые условные операции без сетевых вызовов. Ниже приведен пример использования параметров с условиями.
Пример
Рассмотрим следующий условный запрос:
let metric = dynamic({Counter});
print tostring((metric.object == 'Network Adapter' and (metric.counter == 'Bytes Received/sec' or metric.counter == 'Bytes Sent/sec')) or (metric.object == 'Network' and (metric.counter == 'Total Bytes Received' or metric.counter == 'Total Bytes Transmitted')))
Когда фокус ввода установлен на объекте metric.counter
, параметр isNetworkCounter
должен иметь значение true, если параметр Counter
имеет значение Bytes Received/sec
, Bytes Sent/sec
, Total Bytes Received
или Total Bytes Transmitted
.
Это можно преобразовать в параметр текста с условиями:
При настройках, как на приведенном выше снимке экрана, условия будут вычисляться сверху вниз, а параметр isNetworkCounter
будет принимать значение того условия, для которого будет первым получен результат true. Чтобы добиться нужного поведения системы, можно менять порядок всех условий, кроме условия по умолчанию с else.
Настройка условий
Перейдите к книге, в которой есть хотя бы один параметр, и откройте ее в режиме редактирования.
- Выберите Добавить параметры>Добавить параметр.
- В открывающейся области параметров введите:
- Имя параметра:
rand
- Тип параметра:
Text
- Требуется:
checked
- Получать данные из:
Query
- В редакторе запросов введите
print rand(0-1)
. Этот параметр будет выводить значение от 0 до 1.
- Имя параметра:
- Нажмите кнопку Сохранить, чтобы создать параметр.
Примечание.
Для первого параметра в книге вкладка Условия не отображается.
В таблице с параметром
rand
выберите Добавить параметр.В открывшейся области параметров введите:
- Имя параметра:
randCriteria
- Тип параметра:
Text
- Требуется:
checked
- Получать данные из:
Criteria
- Имя параметра:
Появится сетка. Нажмите кнопку Изменить рядом с пустым текстовым полем, чтобы открыть форму Параметры условий. Описание всех полей этой формы см. в разделе Форма параметров условий.
Введите указанные ниже данные, чтобы заполнить поля для первого условия, а затем нажмите кнопку ОК.
- Первый операнд:
rand
- Оператор:
>
- Значение из:
Static Value
- Второй операнд:
0.25
- Значение из:
Static Value
- Результат равен:
is over 0.25
- Первый операнд:
Нажмите кнопку Изменить рядом с условием
Click edit to specify a result for the default condition
, чтобы изменить условие по умолчанию.Примечание.
Для условия по умолчанию все поля должны быть неактивны, за исключением двух последних:
Value from
иResult is
.Введите указанные ниже данные, чтобы заполнить поля для условия по умолчанию, а затем нажмите кнопку ОК.
- Значение из: "Статическое значение"
- Результат равен: 0,25 или менее
Сохраните параметр.
Обновите книгу и посмотрите, как работает параметр
randCriteria
. Его значение будет основываться на значенииrand
.
Форма параметров условий
Поля формы | Description |
---|---|
First operand | В этом раскрывающемся списке перечислены имена созданных параметров. Значение параметра будет использоваться в левой части сравнения. |
Оператор | Оператор, который будет использоваться для сравнения первого и второго операндов. Может вычисляться строка или числовое значение. Если выбрать оператор is empty , поле Second operand исчезнет, так как потребуется только First operand . |
Значение из | Если выбрать Parameter , то появится раскрывающийся список созданных параметров. Значение этого параметра будет использоваться в правой части сравнения.Если выбрать Static Value , то появится текстовое поле, где вы можете ввести значение для правой части сравнения. |
Second operand | В зависимости от того, какое значение вы выбрали в поле Value from , здесь появится раскрывающийся список созданных параметров или текстовое поле. |
Значение из | Если выбрать Parameter , то появится раскрывающийся список созданных параметров. Значение этого параметра будет использоваться для возвращаемого значения текущего параметра.Если выбрать Static Value :— Появится текстовое поле, где можно ввести значение для результата. — Вы также можете разыменовать другие параметры, используя фигурные скобки вокруг имени параметра. — Можно объединить несколько параметров и создать настраиваемую строку, например " {paramA} , {paramB} и некоторую строку". Если выбрать Expression :— Появится текстовое поле, где можно ввести математическое выражение, которое будет вычисляться в качестве результата. — Как и при выборе значения Static Value , в этом текстовом поле можно разыменовать несколько параметров.— Если указанное в этом текстовом поле значение параметра не будет являться числом, то оно будет рассматриваться как значение 0 . |
Результат равен | В зависимости от того, какое значение вы выбрали в поле Value from , здесь появится раскрывающийся список созданных параметров или текстовое поле. Это текстовое поле будет вычисляться как окончательный результат формы Параметры условий. |