

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Langage d'expression Amazon Quick JSON pour les visuels Highcharts
Langage d’expression JSON pour Highcharts

Les graphiques Highcharts acceptent la plupart des [valeurs JSON valides](https://www.w3schools.com/js/js_json_datatypes.asp), des opérateurs arithmétiques standard, des opérateurs de chaîne et des opérateurs conditionnels. Les valeurs JSON suivantes ne sont pas prises en charge pour les représentations visuelles Highcharts :
+ Fonctions
+ Dates
+ Valeurs non définies

Les auteurs rapides peuvent utiliser le langage d'expression JSON pour créer des schémas JSON pour un visuel Highcharts. Le langage d'expression JSON est utilisé pour lier du JSON à APIs des ensembles de données afin de permettre une population dynamique et une modification des structures JSON. Les développeurs peuvent également utiliser le langage d’expression JSON pour gonfler et transformer les données JSON avec des expressions concises et intuitives.

Avec le langage d’expression JSON, les expressions sont représentées sous forme de tableaux, où le premier élément indique l’opération et les éléments suivants sont les arguments. Par exemple, `["unique", [1, 2, 2]]` applique l’opération `unique` au tableau `[1, 2, 2]`, ce qui donne `[1, 2]`. Cette syntaxe basée sur des tableaux permet des expressions flexibles, qui permettent des transformations complexes sur les données JSON.

Le langage d’expression JSON prend en charge les *expressions imbriquées*. Les expressions imbriquées sont des expressions qui contiennent d’autres expressions en tant qu’arguments. Par exemple, `["split", ["toUpper", "hello world"], " "]` convertit d’abord la chaîne `hello world` en majuscules, puis la divise en un tableau de mots, ce qui donne `["HELLO", "WORLD"]`. 

Consultez les sections suivantes pour en savoir plus sur le langage d'expression JSON pour les visuels Highcharts dans Amazon Quick.

**Topics**
+ [

# Arithmétique
](jle-arithmetics.md)
+ [

# Opérations sur les tableaux
](jle-arrays.md)
+ [

# Expressions Amazon Quick
](jle-qs-expressions.md)

# Arithmétique


Le tableau suivant présente les expressions arithmétiques qui peuvent être utilisées avec le langage d’expression JSON.


| Opération | Expression | Input | Output | 
| --- | --- | --- | --- | 
| Addition | ["\$1", operand1, operand2] | \$1 sum: ["\$1", 2, 4] \$1 | \$1 sum: 6 \$1 | 
| Soustraction | ["-", operand1, operand2] | \$1 difference: ["-", 10, 3] \$1 | \$1 difference: 7 \$1 | 
| Multiplication | ["\$1", operand1, operand2] | \$1 product: ["\$1", 5, 6] \$1 | \$1 product: 30 \$1 | 
| Division | ["/", operand1, operand2] | \$1 quotient: ["/", 20, 4] \$1 | \$1 quotient: 5 \$1 | 
| Modulo | ["%", operand1, operand2] | \$1 remainder: ["%", 15, 4] \$1 | \$1 remainder: 3 \$1 | 
| Puissance | ["\$1\$1", base, exponent] | \$1 power: ["\$1\$1", 2, 3] \$1 | \$1 power: 8 \$1 | 
| Valeur absolue | ["abs", operand] | \$1 absolute: ["abs", -5] \$1 | \$1 absolute: 5 \$1 | 
| Square Root (Racine carrée) | ["sqrt", operand] | \$1 sqroot: ["sqrt", 16] \$1 | \$1 sqroot: 4 \$1 | 
| Logarithme (base 10) | ["log10", operand] | \$1 log: ["log10", 100] \$1 | \$1 log: 2 \$1 | 
| Logarithme naturel | ["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 | 
| Sinusoïdal | ["sin", operand] | \$1 sine: ["sin", 0] \$1 | \$1 sine: 0 \$1 | 
| Cosinus | ["cos", operand] | \$1 cosine: ["cos", 0] \$1 | \$1 cosine: 1 \$1 | 
| Tangente | ["tan", operand] | \$1 tangent: ["tan", Math.PI] \$1 | \$1 tangent: 0 \$1 | 

# Opérations sur les tableaux


Le langage d’expression JSON permet la manipulation de tableaux génériques pour les fonctions suivantes :
+ `map` : Applique une fonction de mappage à chaque élément d’un tableau et renvoie un nouveau tableau avec les valeurs transformées.

  Par exemple, `["map", [1, 2, 3], ["*", ["item"], 2]]` mappe chaque élément du tableau `[1, 2, 3]` en le multipliant par 2.
+ `filter`— Filtre un tableau en fonction d’une condition donnée et renvoie un nouveau tableau contenant uniquement les éléments qui satisfont à la condition

  Par exemple, `["filter", [1, 2, 3, 4, 5], ["==", ["%", ["item"], 2], 0]]` filtre le tableau `[1, 2, 3, 4, 5]` pour n’inclure que les nombres pairs.
+ `reduce`— Réduit un tableau à une valeur unique en appliquant une fonction de réduction à chaque élément et en accumulant le résultat.

  Par exemple, `["reduce", [1, 2, 3, 4, 5], ["+", ["acc"], ["item"]], 0]` réduit le tableau `[1, 2, 3, 4, 5]` à la somme de ses éléments.
+ `get`— Récupère une valeur d’un objet ou d’un tableau en spécifiant une clé ou un index.

  Par exemple, `["get", ["item"], "name"]` extrait la valeur de la propriété `"name"` à partir de l’élément actuel.
+ `unique`— Étant donné qu’un tableau renvoie uniquement des éléments uniques à l’intérieur de ce tableau.

  Par exemple, `["unique", [1, 2, 2]]` renvoie `[1, 2]`.

# Expressions Amazon Quick


Amazon Quick propose des expressions supplémentaires pour améliorer les fonctionnalités des visuels Highcharts. Consultez les sections suivantes pour en savoir plus sur les expressions rapides courantes pour les graphiques surlignés. Pour plus d'informations sur le langage d'expression JSON dans Amazon Quick, consultez le [ QuickStart guide visuel Highcharts](https://democentral.learnquicksight.online/#Dashboard-FeatureDemo-Highcharts-Visual) dans [DemoCentral](https://democentral.learnquicksight.online/#).

**Topics**
+ [

## `getColumn`
](#highcharts-expressions-getcolumn)
+ [

## `formatValue`
](#highcharts-expressions-formatvalue)

## `getColumn`


Utilisez les expressions `getColumn` pour renvoyer des valeurs à partir d’indices de colonne spécifiés. Par exemple, le tableau suivant présente une liste de produits ainsi que leur catégorie et leur prix.


| Nom du produit | Catégorie | Price | 
| --- | --- | --- | 
|  Produit A  |  Technologie  |  100  | 
|  Produit B  |  Vente au détail  |  50  | 
|  Produit C  |  Vente au détail  |  75  | 

La requête `getColumn` suivante génère un tableau qui affiche tous les noms de produits ainsi que leur prix.

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

Le code JSON suivant est renvoyé :

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

Vous pouvez également transmettre plusieurs colonnes à la fois pour générer une matrice de tableaux, comme indiqué dans l’exemple suivant.

**Entrée**

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

**Sortie**

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

Tout comme `getColumn`, les expressions suivantes peuvent être utilisées pour renvoyer des valeurs de colonne à partir de puits de champs ou de thèmes :
+ `getColumnFromGroupBy` renvoie les colonnes du groupe par champ. Le deuxième argument est l’indice de la colonne à renvoyer. Par exemple, `["getColumnFromGroupBy", 0]` renvoie les valeurs du premier champ sous forme de tableau. Vous pouvez transmettre plusieurs indices pour obtenir un tableau de tableaux où chaque élément correspond au champ du puits champ par champ.
+ `getColumnFromValue` renvoie bien les colonnes du champ de valeur. Vous pouvez transmettre plusieurs indices pour obtenir un tableau de tableaux où chaque élément correspond bien au champ du champ de valeurs.
+ `getColorTheme`renvoie la palette de couleurs actuelle d'un thème Quick, comme illustré dans l'exemple suivant.

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

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

**Exemple**

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


`getColumn` peut accéder à n’importe quelle colonne du tableau :
+ `["getColumn", 0]`- renvoie un tableau `[1, 2, 3, 4, 5, ...]`
+ `["getColumn", 1]`- renvoie un tableau `[1, 1, 1, 1, 1, ...]`
+ `["getColumn", 2]`- renvoie un tableau `[1674, 7425, 4371, ...]`

`getColumnFromGroupBy` fonctionne de la même manière, mais son index est limité aux colonnes du groupe par champ, eh bien :
+ `["getColumnFromGroupBy", 0]`- renvoie un tableau `[1, 2, 3, 4, 5, ...]`
+ `["getColumnFromGroupBy", 1]`- renvoie un tableau `[1, 1, 1, 1, 1, ...]`
+ `["getColumnFromGroupBy", 2]`- ne fonctionne pas, car il n’y a que deux colonnes dans le puits « grouper par champ »

`getColumnFromValue` fonctionne de la même manière, mais son index est bien limité aux colonnes du champ de valeur :
+ `["getColumnFromValue", 0]`- renvoie un tableau `[1, 2, 3, 4, 5, ...]`
+ `["getColumnFromValue", 1]`- ne fonctionne pas, car il n’y a qu’une seule colonne dans le champ de valeur
+ `["getColumnFromValue", 2]`- ne fonctionne pas, car il n’y a qu’une seule colonne dans le champ de valeur

## `formatValue`


Utilisez l'`formatValue`expression pour appliquer une mise en forme rapide à vos valeurs. Par exemple, l'expression suivante met en forme l'étiquette de l'axe X avec la valeur de format spécifiée dans le premier champ de Quick field wells.

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