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

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

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

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

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

Синтаксис:

```html
{?ВЫРАЖЕНИЕ}
```

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

Пример:

```html
{?trendavg(/узел_сети/item1,1M:now/M)/trendavg(/узел_сети/item1,1M:now/M-1y)*100}
```

Чтобы найти места, в которых поддерживаются макросы выражений, сделайте поиск подстроки «{?ВЫРАЖЕНИЕ}» в таблице [поддерживаемых макросов](/manual/appendix/macros/supported_by_location).

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

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

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

[comment]: # ({/47e2cfe8-e27300f7})
