[comment]: # ({fea50b39-b9198e3b})
# 6 Espressioni macro

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

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

Le macro di espressione consentono di eseguire calcoli nei campi.

Il loro valore viene calcolato risolvendo prima eventuali macro interne e poi valutando l'espressione risultante.

Sintassi:

```html
{?EXPRESSION}
```

`EXPRESSION` usa la stessa sintassi e supporta le stesse [funzioni](/manual/appendix/functions) delle [espressioni trigger](/manual/config/triggers/expression).

Esempio:

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

Per le posizioni che supportano le macro di espressione, cerca "{?EXPRESSION}" nella tabella delle [macro supportate](/manual/appendix/macros/supported_by_location).

Note sull'uso:

-   Usa le macro [{FUNCTION.*}](/manual/appendix/macros/supported_by_location#function-macros) per fare riferimento ai valori di funzione delle espressioni trigger/espressioni di ripristino.
-   Usa le macro [{HOST.HOST<1-9>}](/manual/appendix/macros/supported_by_location#hosthost) e [{ITEM.KEY<1-9>}](/manual/appendix/macros/supported_by_location#itemkey) per fare riferimento a host e item.
-   Nei template, usa le macro [{HOST.HOST<1-9>}](/manual/appendix/macros/supported_by_location#hosthost) oppure ometti del tutto l'host per il primo host — ad esempio, `{?avg(//item1,1h)}` — invece dei nomi dei template, poiché i nomi dei template non vengono sostituiti con i nomi degli host durante il [collegamento dei template](/manual/config/templates/linking).

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

Vedi anche [Esempi di espressioni trigger](/manual/config/triggers/expression#example-18) per un esempio di utilizzo di una macro di espressione in un nome evento.

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