

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Linguagem de expressão Amazon Quick JSON para imagens de Highcharts
<a name="highchart-expressions"></a>

Os elementos visuais do Highcharts aceitam a maioria dos [valores JSON válidos](https://www.w3schools.com/js/js_json_datatypes.asp), operadores aritméticos padrão, operadores de string e operadores condicionais. Os seguintes valores JSON não são compatíveis com elementos visuais do Highcharts:
+ Funções
+ Datas
+ Valores indefinidos

Autores rápidos podem usar a linguagem de expressão JSON para criar esquemas JSON para um visual de gráficos altos. A linguagem de expressão JSON é usada para vincular JSON APIs ou conjuntos de dados para permitir a população dinâmica e a modificação de estruturas JSON. Os desenvolvedores também podem usar a linguagem de expressão JSON para inflar e transformar dados JSON com expressões concisas e intuitivas.

Com a linguagem de expressão JSON, as expressões são representadas como matrizes, em que o primeiro elemento especifica a operação e os elementos subsequentes são os argumentos. Por exemplo, `["unique", [1, 2, 2]]` aplica a operação `unique` à matriz `[1, 2, 2]`, resultando em `[1, 2]`. Essa sintaxe baseada em matriz permite expressões flexíveis, que permitem transformações complexas em dados JSON.

A linguagem de expressão JSON oferece suporte a *expressões aninhadas*. Expressões aninhadas são expressões que contêm outras expressões como argumentos. Por exemplo, `["split", ["toUpper", "hello world"], " "]` primeiro converte a string `hello world` em maiúsculas e depois a divide em uma matriz de palavras, resultando em `["HELLO", "WORLD"]`.

Use as seções a seguir para saber mais sobre a linguagem de expressão JSON para imagens de Highcharts no Amazon Quick.

**Topics**
+ [Aritmética](jle-arithmetics.md)
+ [Operadores de matriz](jle-arrays.md)
+ [Expressões Amazon Quick](jle-qs-expressions.md)

# Aritmética
<a name="jle-arithmetics"></a>

A tabela a seguir mostra expressões aritméticas que podem ser usadas com a linguagem de expressão JSON.


| Operation | Expressão | Input | Output | 
| --- | --- | --- | --- | 
| Adição | ["\$1", operand1, operand2] | \$1 sum: ["\$1", 2, 4] \$1 | \$1 sum: 6 \$1 | 
| Subtração | ["-", operand1, operand2] | \$1 difference: ["-", 10, 3] \$1 | \$1 difference: 7 \$1 | 
| Multiplicação | ["\$1", operand1, operand2] | \$1 product: ["\$1", 5, 6] \$1 | \$1 product: 30 \$1 | 
| Divisão | ["/", operand1, operand2] | \$1 quotient: ["/", 20, 4] \$1 | \$1 quotient: 5 \$1 | 
| Módulo | ["%", operand1, operand2] | \$1 remainder: ["%", 15, 4] \$1 | \$1 remainder: 3 \$1 | 
| Exponenciação | ["\$1\$1", base, exponent] | \$1 power: ["\$1\$1", 2, 3] \$1 | \$1 power: 8 \$1 | 
| Valor absoluto | ["abs", operand] | \$1 absolute: ["abs", -5] \$1 | \$1 absolute: 5 \$1 | 
| Square Root (Raiz quadrada) | ["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 natural | ["ln", operand] | \$1 ln: ["ln", Math.E] \$1 | \$1 ln: 1 \$1 | 
| Arredondamento | ["round", operand] | \$1 rounded: ["round", 3.7] \$1 | \$1 rounded: 4 \$1 | 
| Limite inferior | ["floor", operand] | \$1 floor: ["floor", 3.7] \$1 | \$1 floor: 3 \$1 | 
| Limite superior | ["ceil", operand] | \$1 ceiling: ["ceil", 3.2] \$1 | \$1 ceiling: 4 \$1 | 
| Seno | ["sin", operand] | \$1 sine: ["sin", 0] \$1 | \$1 sine: 0 \$1 | 
| Cosseno | ["cos", operand] | \$1 cosine: ["cos", 0] \$1 | \$1 cosine: 1 \$1 | 
| Tangente | ["tan", operand] | \$1 tangent: ["tan", Math.PI] \$1 | \$1 tangent: 0 \$1 | 

# Operadores de matriz
<a name="jle-arrays"></a>

A linguagem de expressão JSON permite a manipulação genérica de matrizes para as seguintes funções:
+ `map`: aplica uma função de mapeamento a cada elemento de uma matriz e retorna uma nova matriz com os valores transformados.

  Por exemplo, `["map", [1, 2, 3], ["*", ["item"], 2]]` mapeia cada elemento da matriz `[1, 2, 3]` multiplicando-o por 2.
+ `filter`: filtra uma matriz com base em uma determinada condição e retorna uma nova matriz contendo somente os elementos que satisfazem a condição

  Por exemplo, `["filter", [1, 2, 3, 4, 5], ["==", ["%", ["item"], 2], 0]]` filtra a matriz `[1, 2, 3, 4, 5]` para incluir somente os números pares.
+ `reduce`: reduz uma matriz a um único valor aplicando uma função redutora a cada elemento e acumulando o resultado.

  Por exemplo, `["reduce", [1, 2, 3, 4, 5], ["+", ["acc"], ["item"]], 0]` reduz a matriz `[1, 2, 3, 4, 5]` para a soma de seus elementos.
+ `get`: recupera um valor de um objeto ou matriz especificando uma chave ou índice.

  Por exemplo, `["get", ["item"], "name"]` recupera o valor da propriedade `"name"` do item atual.
+ `unique`: dado uma matriz, retorna apenas itens exclusivos dentro dessa matriz.

  Por exemplo, `["unique", [1, 2, 2]]` exibe `[1, 2]`.

# Expressões Amazon Quick
<a name="jle-qs-expressions"></a>

O Amazon Quick oferece expressões adicionais para aprimorar a funcionalidade dos visuais do Highcharts. Use as seções a seguir para saber mais sobre expressões rápidas comuns para imagens de gráficos altos. Para obter mais informações sobre a linguagem de expressão JSON no Amazon Quick, consulte o [ QuickStart Guia Visual Highcharts](https://democentral.learnquicksight.online/#Dashboard-FeatureDemo-Highcharts-Visual) em. [DemoCentral](https://democentral.learnquicksight.online/#)

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

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

Use as expressões `getColumn` para retornar valores de índices de coluna especificados. Por exemplo, a tabela a seguir mostra uma lista de produtos ao lado de sua categoria e preço.


| Nome do produto | Categoria | Preço | 
| --- | --- | --- | 
|  Produto A  |  Tecnologia  |  100  | 
|  Produto B  |  Varejo  |  50  | 
|  Produto C  |  Varejo  |  75  | 

A consulta `getColumn` a seguir gera uma matriz que mostra todos os nomes dos produtos junto com seus preços.

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

O seguinte JSON é retornado:

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

Você também pode passar várias colunas ao mesmo tempo para gerar uma matriz de matrizes, conforme mostrado no exemplo a seguir.

**Entrada**

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

**Saída**

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

Semelhante a `getColumn`, as expressões abaixo podem ser usadas para retornar valores de colunas de campos ou temas:
+ `getColumnFromGroupBy` retorna colunas do grupo por campo. O segundo argumento é o índice da coluna a ser retornado. Por exemplo, `["getColumnFromGroupBy", 0]` retorna valores do primeiro campo como uma matriz. Você pode passar vários índices para obter uma matriz de matrizes em que cada elemento corresponde ao campo no grupo por campo.
+ `getColumnFromValue` retorna as colunas do campo de valor. Você pode passar vários índices para obter uma matriz de matrizes em que cada elemento corresponde ao campo no campo de valor.
+ `getColorTheme`retorna a paleta de cores atual de um tema rápido, mostrada no exemplo a seguir.

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

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

**Exemplo**

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


`getColumn` pode acessar qualquer coluna da tabela:
+ `["getColumn", 0]`: retorna a matriz `[1, 2, 3, 4, 5, ...]`
+ `["getColumn", 1]`: retorna a matriz `[1, 1, 1, 1, 1, ...]`
+ `["getColumn", 2]`: retorna a matriz `[1674, 7425, 4371, ...]`

`getColumnFromGroupBy` funciona de forma semelhante, mas seu índice é limitado às colunas no grupo por campo:
+ `["getColumnFromGroupBy", 0]`: retorna a matriz `[1, 2, 3, 4, 5, ...]`
+ `["getColumnFromGroupBy", 1]`: retorna a matriz `[1, 1, 1, 1, 1, ...]`
+ `["getColumnFromGroupBy", 2]`: não funciona, pois existem apenas duas colunas no grupo por campo

`getColumnFromValue` funciona de forma semelhante, mas seu índice é limitado às colunas no campo de valor:
+ `["getColumnFromValue", 0]`: retorna a matriz `[1, 2, 3, 4, 5, ...]`
+ `["getColumnFromValue", 1]`: não funciona, pois há apenas uma coluna no campo de valor
+ `["getColumnFromValue", 2]`: não funciona, pois há apenas uma coluna no campo de valor

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

Use a `formatValue` expressão para aplicar a formatação rápida aos seus valores. Por exemplo, a expressão a seguir formata o rótulo do eixo x com o valor de formato especificado no primeiro campo de poços de campo rápido.

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