Przeskocz do zawartości głównej

JsonArray — funkcja skryptu i funkcja wykresu

JsonArray agreguje oraz konkatenuje dane JSON.

Składnia:  

json JsonArray([DISTINCT][TOTAL] value [, sort_weight])

Typ zwracanych danych: wartość podwójna

Argumenty
Argument Opis
DISTINCT

Jeśli przed argumentami funkcji występuje słowo DISTINCT, wówczas duplikaty wynikające z wyników obliczenia argumentów funkcji są pomijane.

TOTAL

Jeśli słowo TOTAL występuje przed argumentami funkcji, wówczas obliczenie jest wykonywane względem wszystkich możliwych wartości z uwzględnieniem bieżących selekcji, nie tylko tych należących do bieżącej wartości wymiaru, to znaczy z pominięciem wymiarów wykresu.

value Pole wejściowe Wyrażenie zawierające dane do sortowania. Znajdowana jest pierwsza (najniższa) wartość argumentu sort_weight, na podstawie której określana jest wartość wyrażenia podanego argumentem value. Jeśli przed argumentem sort_weight zostanie podany znak minusa, funkcja zwróci ostatnią (najwyższą) wartość z sortowania.
sort_weight Pole wejściowe Wyrażenie zawierające dane do sortowania. Znajdowana jest pierwsza (najniższa) wartość argumentu sort_weight, na podstawie której określana jest wartość wyrażenia podanego argumentem value. Jeśli przed argumentem sort_weight zostanie podany znak minusa, funkcja zwróci ostatnią (najwyższą) wartość z sortowania.

Przykład:  

Poniższy skrypt ładowania ładuje i agreguje dane za pomocą 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 '|');

Wynikiem tego jest poniższa tabela danych:

Wyniki
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",""]

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!