# JsonArray - Função de script e de gráfico

JsonArray agrega e concatena dados JSON.

Sintaxe:

JsonArray([DISTINCT][TOTAL] value [, sort\_weight])

Tipo de dados de retorno: dual

Argumentos

| Argumento | Descrição |
| --- | --- |
| DISTINCT | Se a palavra DISTINCT aparecer antes dos argumentos de função, as duplicatas resultantes da avaliação dos argumentos de função serão ignoradas. |
| TOTAL | Se a palavra TOTAL ocorrer antes dos argumentos da função, o cálculo será feito sobre todos os valores possíveis, dadas as seleções atuais, e não apenas sobre os pertinentes ao valor dimensional atual, isto é, desconsiderando as dimensões do gráfico. |
| value | Campo de entrada. A expressão que contém os dados que serão classificados. O primeiro valor (mais baixo) de sort\_weight é encontrado, a partir do qual o valor correspondente da expressão value é determinado. Ao colocar um sinal de menos na frente de sort\_weight, a função retorna o último (mais alto) valor classificado em seu lugar. |
| sort\_weight | Campo de entrada. A expressão que contém os dados que serão classificados. O primeiro valor (mais baixo) de sort\_weight é encontrado, a partir do qual o valor correspondente da expressão value é determinado. Ao colocar um sinal de menos na frente de sort\_weight, a função retorna o último (mais alto) valor classificado em seu lugar. |

Exemplo:

O script de carregamento a seguir carrega e agrega dados com JsonArray.

```
Data:
LOAD Id,
	JsonArray(ValueOrNull) AS Json,
	JsonArray(DISTINCT ValueOrNull) AS JsonDistinct,
	JsonArray(ValueOrNull, Order) AS JsonSorted
GROUP BY Id;

LOAD *, If(Value='-',Null(),Value) AS ValueOrNull;

LOAD * INLINE '
	Id | Value          | Order
	1  | 123            | 1
	2  | "json text"    | 2
	2  | normal text    | 1
	3  | [1,2,3]        | 3
	3  | {"name":"abc"} | 2
	3  | [1,2,3]        | 1
	4  | 1              | 1
	4  | 2 and text     | 2
	4  |                | 3
	4  | -              | 4
	' (delimiter is '|');
```

Isso resulta na tabela de dados a seguir:

Resultados

| ID | Json | JsonDistinct | JsonSorted |
| --- | --- | --- | --- |
| 1 | [123] | [123] | [123] |
| 2 | ["json text", "normal text"]. | ["json text", "normal text"]. | ["normal text","json text"] |
| 3 | [[1,2,3],[1,2,3],{"name":"abc"}] | [[1,2,3],{"name":"abc"}] | [[1,2,3],{"name":"abc"},[1,2,3]] |
| 4 | [1, "2 and text",""] | [1, "2 and text",""] | [1, "2 and text",""] |