

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Linguaggio di espressione Amazon Quick JSON per immagini Highcharts
<a name="highchart-expressions"></a>

Gli elementi visivi di Highcharts accettano la maggior parte dei [valori JSON validi](https://www.w3schools.com/js/js_json_datatypes.asp), gli operatori aritmetici standard, gli operatori di stringa e gli operatori condizionali. I seguenti valori JSON non sono supportati per gli elementi visivi Highcharts:
+ Funzioni
+ Date:
+ Valori non definiti

Gli autori di Quick possono usare il linguaggio di espressioni JSON per creare schemi JSON per una visualizzazione ad alta grafica. Il linguaggio di espressione JSON viene utilizzato per associare JSON ai nostri set di dati per APIs consentire la popolazione dinamica e la modifica delle strutture JSON. Gli sviluppatori possono utilizzare il linguaggio di espressione JSON anche per ampliare e trasformare i dati JSON con espressioni concise e intuitive.

Con il linguaggio di espressione JSON, le espressioni sono rappresentate come array, in cui il primo elemento specifica l'operazione e gli elementi successivi sono gli argomenti. Ad esempio, `["unique", [1, 2, 2]]` applica l'operazione `unique` all'array `[1, 2, 2]`, ottenendo `[1, 2]`. Questa sintassi basata su array consente espressioni flessibili, che consentono trasformazioni complesse sui dati JSON.

Il linguaggio di espressione JSON supporta *espressioni nidificate*. Le espressioni nidificate sono espressioni che contengono altre espressioni come argomenti. Ad esempio, `["split", ["toUpper", "hello world"], " "]` prima converte la stringa `hello world` in maiuscolo, quindi la divide in una matrice di parole, ottenendo `["HELLO", "WORLD"]`.

Utilizza le seguenti sezioni per saperne di più sul linguaggio di espressione JSON per gli elementi visivi Highcharts in Amazon Quick.

**Topics**
+ [Aritmetica](jle-arithmetics.md)
+ [Operazioni di array](jle-arrays.md)
+ [Espressioni Amazon Quick](jle-qs-expressions.md)

# Aritmetica
<a name="jle-arithmetics"></a>

La tabella seguente mostra le espressioni aritmetiche che possono essere utilizzate con il linguaggio di espressione JSON.


| Operation | Expression | Input | Output | 
| --- | --- | --- | --- | 
| Addizione | ["\$1", operand1, operand2] | \$1 sum: ["\$1", 2, 4] \$1 | \$1 sum: 6 \$1 | 
| Sottrazione | ["-", operand1, operand2] | \$1 difference: ["-", 10, 3] \$1 | \$1 difference: 7 \$1 | 
| Moltiplicazione | ["\$1", operand1, operand2] | \$1 product: ["\$1", 5, 6] \$1 | \$1 product: 30 \$1 | 
| Divisione | ["/", operand1, operand2] | \$1 quotient: ["/", 20, 4] \$1 | \$1 quotient: 5 \$1 | 
| Modulo | ["%", operand1, operand2] | \$1 remainder: ["%", 15, 4] \$1 | \$1 remainder: 3 \$1 | 
| Potenza | ["\$1\$1", base, exponent] | \$1 power: ["\$1\$1", 2, 3] \$1 | \$1 power: 8 \$1 | 
| Valore assoluto | ["abs", operand] | \$1 absolute: ["abs", -5] \$1 | \$1 absolute: 5 \$1 | 
| Square Root (Radice quadrata) | ["sqrt", operand] | \$1 sqroot: ["sqrt", 16] \$1 | \$1 sqroot: 4 \$1 | 
| Logaritmo (base 10) | ["log10", operand] | \$1 log: ["log10", 100] \$1 | \$1 log: 2 \$1 | 
| Logaritmo naturale | ["ln", operand] | \$1 ln: ["ln", Math.E] \$1 | \$1 ln: 1 \$1 | 
| Round | ["round", operand] | \$1 rounded: ["round", 3.7] \$1 | \$1 rounded: 4 \$1 | 
| Floor | ["floor", operand] | \$1 floor: ["floor", 3.7] \$1 | \$1 floor: 3 \$1 | 
| Ceiling | ["ceil", operand] | \$1 ceiling: ["ceil", 3.2] \$1 | \$1 ceiling: 4 \$1 | 
| Sinusoidale | ["sin", operand] | \$1 sine: ["sin", 0] \$1 | \$1 sine: 0 \$1 | 
| Coseno | ["cos", operand] | \$1 cosine: ["cos", 0] \$1 | \$1 cosine: 1 \$1 | 
| Tangente | ["tan", operand] | \$1 tangent: ["tan", Math.PI] \$1 | \$1 tangent: 0 \$1 | 

# Operazioni di array
<a name="jle-arrays"></a>

Il linguaggio di espressione JSON consente la manipolazione generica degli array per le seguenti funzioni:
+ `map`: applica una funzione di mappatura a ciascun elemento di un array e restituisce un nuovo array con i valori trasformati.

  Ad esempio, `["map", [1, 2, 3], ["*", ["item"], 2]]` mappa ogni elemento dell'array `[1, 2, 3]` moltiplicandolo per 2.
+ `filter`: filtra un array in base a una determinata condizione e restituisce un nuovo array contenente solo gli elementi che soddisfano la condizione.

  Ad esempio, `["filter", [1, 2, 3, 4, 5], ["==", ["%", ["item"], 2], 0]]` filtra l'array `[1, 2, 3, 4, 5]` in modo da includere solo i numeri pari.
+ `reduce`: riduce un array a un singolo valore applicando una funzione di riduzione a ciascun elemento e accumulando il risultato.

  Ad esempio, `["reduce", [1, 2, 3, 4, 5], ["+", ["acc"], ["item"]], 0]` riduce l'array `[1, 2, 3, 4, 5]` alla somma dei suoi elementi.
+ `get`: recupera un valore da un oggetto o da un array specificando una chiave o un indice.

  Ad esempio, `["get", ["item"], "name"]` recupera il valore della proprietà `"name"` dall'elemento corrente.
+ `unique`: un dato array restituisce solo elementi unici all'interno di questo array.

  Ad esempio, `["unique", [1, 2, 2]]` restituisce `[1, 2]`.

# Espressioni Amazon Quick
<a name="jle-qs-expressions"></a>

Amazon Quick offre espressioni aggiuntive per migliorare la funzionalità degli elementi visivi di Highcharts. Utilizza le seguenti sezioni per saperne di più sulle espressioni Quick più comuni per gli elementi visivi di Highcharts. Per ulteriori informazioni sul linguaggio di espressione JSON in Amazon Quick, consulta la [Highcharts Visual QuickStart Guide](https://democentral.learnquicksight.online/#Dashboard-FeatureDemo-Highcharts-Visual) in. [DemoCentral](https://democentral.learnquicksight.online/#)

**Topics**
+ [`getColumn`](#highcharts-expressions-getcolumn)
+ [`formatValue`](#highcharts-expressions-formatvalue)

## `getColumn`
<a name="highcharts-expressions-getcolumn"></a>

Usa le espressioni `getColumn` per restituire valori dagli indici di colonna specificati. Ad esempio, la tabella seguente mostra un elenco di prodotti insieme alla relativa categoria e al prezzo.


| Product name (Nome del prodotto) | Categoria | Prezzo | 
| --- | --- | --- | 
|  Prodotto A  |  Tecnologia  |  100  | 
|  Prodotto B  |  Vendita al dettaglio  |  50  | 
|  Prodotto C  |  Vendita al dettaglio  |  75  | 

La seguente query `getColumn` genera un array che mostra tutti i nomi dei prodotti insieme al relativo prezzo.

```
{
	product name: ["getColumn", 0], 
	price: ["getColumn", 2]
}
```

Viene restituito il seguente codice JSON:

```
{
	product name: ["Product A", "Product B", "Product C"],
	price: [100, 50, 75]
}
```

Puoi anche passare più colonne contemporaneamente per generare un array di array, come mostrato nell'esempio seguente.

**Input**

```
{
	values: ["getColumn", 0, 2]
}
```

**Output**

```
{
	values: [["Product A", 100], ["Product B", 50], ["Product C", 75]]
}
```

Analogamente a `getColumn`, è possibile utilizzare le seguenti espressioni per restituire valori di colonna da contenitori o temi di campi:
+ `getColumnFromGroupBy` restituisce le colonne del gruppo per campo. Il secondo argomento è l'indice della colonna da restituire. Ad esempio, `["getColumnFromGroupBy", 0]` restituisce i valori del primo campo come array. È possibile passare più indici per ottenere un array di array in cui ogni elemento corrisponde al campo nel contenitore di campi Raggruppa per.
+ `getColumnFromValue` restituisce le colonne dal contenitore di campi Valori. È possibile passare più indici per ottenere un array di array in cui ogni elemento corrisponde al campo nel contenitore di campi Valori.
+ `getColorTheme`restituisce la palette di colori corrente di un tema Quick, mostrata nell'esempio seguente.

  ```
  {
  "color": ["getColorTheme"]
  }
  ```

  ```
  {
  "color": ["getPaletteColor", "secondaryBackground"]
  }
  ```

**Esempio**

![\[alt text not found\]](http://docs.aws.amazon.com/it_it/quick/latest/userguide/images/get-column-example.png)


`getColumn` può accedere a qualsiasi colonna della tabella:
+ `["getColumn", 0]`: restituisce l'array `[1, 2, 3, 4, 5, ...]`
+ `["getColumn", 1]`: restituisce l'array `[1, 1, 1, 1, 1, ...]`
+ `["getColumn", 2]`: restituisce l'array `[1674, 7425, 4371, ...]`

`getColumnFromGroupBy` funziona in modo simile, ma il suo indice è limitato alle colonne nel contenitore di campi Raggruppa per:
+ `["getColumnFromGroupBy", 0]`: restituisce l'array `[1, 2, 3, 4, 5, ...]`
+ `["getColumnFromGroupBy", 1]`: restituisce l'array `[1, 1, 1, 1, 1, ...]`
+ `["getColumnFromGroupBy", 2]`: non funziona, poiché ci sono solo due colonne nel contenitore di campi Raggruppa per

`getColumnFromValue` funziona in modo simile, ma il suo indice è limitato alle colonne nel contenitore di campi Valore:
+ `["getColumnFromValue", 0]`: restituisce l'array `[1, 2, 3, 4, 5, ...]`
+ `["getColumnFromValue", 1]`: non funziona, poiché c'è solo una colonna nel contenitore di campi Valore
+ `["getColumnFromValue", 2]`: non funziona, poiché c'è solo una colonna nel contenitore di campi Valore

## `formatValue`
<a name="highcharts-expressions-formatvalue"></a>

Utilizzate l'`formatValue`espressione per applicare la formattazione rapida ai valori. Ad esempio, l'espressione seguente formatta l'etichetta dell'asse x con il valore di formato specificato nel primo campo di Quick field wells.

```
 "xAxis": {
		"categories": ["getColumn", 0],
		"labels": {
		"formatter": ["formatValue", "value", 0]
		}
	}
```