[comment]: # ({fea50b39-b9198e3b})
# 6. Макросы выражений 

[comment]: # ({/fea50b39-b9198e3b})

[comment]: # ({3c062149-e27300f7})
#### Обзор

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

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

Синтаксис:

```html
{?EXPRESSION}
```

`EXPRESSION` использует тот же синтаксис и поддерживает те же [функции](/manual/appendix/functions), что и [выражения триггеров](/manual/config/triggers/expression).

Пример:

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

Для мест, где поддерживаются макросы выражений, найдите "{?EXPRESSION}" в таблице [поддерживаемых макросов](/manual/appendix/macros/supported_by_location).

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

-   Используйте макросы [{FUNCTION.*}](/manual/appendix/macros/supported_by_location#function-macros) для ссылки на значения функций выражений триггеров/выражений восстановления.
-   Используйте макросы [{HOST.HOST<1-9>}](/manual/appendix/macros/supported_by_location#hosthost) и [{ITEM.KEY<1-9>}](/manual/appendix/macros/supported_by_location#itemkey) для ссылки на узлы сети и элементы данных.
-   В шаблонах используйте макросы [{HOST.HOST<1-9>}](/manual/appendix/macros/supported_by_location#hosthost) или вообще опускайте узел сети для первого узла — например, `{?avg(//item1,1h)}` — вместо имен шаблонов, так как имена шаблонов не заменяются именами узлов сети во время [связывания шаблонов](/manual/config/templates/linking).

```html
{?{FUNCTION.VALUE2} - {FUNCTION.VALUE3}}
{?max(/{HOST.HOST}/{ITEM.KEY},3h)}
```

См. также [примеры выражений триггеров](/manual/config/triggers/expression#example-18) для примера использования макроса выражения в имени события.

[comment]: # ({/3c062149-e27300f7})
