6 Макросы выражений

Обзор

Макросы выражений позволяют выполнять вычисления в полях.

Их значение вычисляется путем сначала разрешения всех внутренних макросов, а затем вычисления получившегося выражения.

Синтаксис:

{?EXPRESSION}

EXPRESSION использует тот же синтаксис и поддерживает те же функции, что и выражения триггеров.

Пример:

{?trendavg(/host/item1,1M:now/M)/trendavg(/host/item1,1M:now/M-1y)*100}

Для мест, где поддерживаются макросы выражений, найдите "{?EXPRESSION}" в таблице поддерживаемых макросов.

Примечания по использованию:

  • Используйте макросы {FUNCTION.*} для ссылки на значения функций выражений триггеров/выражений восстановления.
  • Используйте макросы {HOST.HOST<1-9>} и {ITEM.KEY<1-9>} для ссылки на узлы сети и элементы данных.
  • В шаблонах используйте макросы {HOST.HOST<1-9>} или вообще опускайте узел сети для первого узла сети — например, {?avg(//item1,1h)} — вместо имен шаблонов, так как имена шаблонов не заменяются именами узлов сети во время привязки шаблонов.
{?{FUNCTION.VALUE2} - {FUNCTION.VALUE3}}
{?max(/{HOST.HOST}/{ITEM.KEY},3h)}

См. также Примеры выражений триггеров для примера использования макроса выражения в имени события.