JsonArray - スクリプトおよびチャート関数
JsonArray は JSON データを集約して連結します。
構文:
json JsonArray([DISTINCT][TOTAL] value [, sort_weight])
戻り値データ型: デュアル
引数 | 説明 |
---|---|
DISTINCT |
関数の引数の前に DISTINCT という用語が付いている場合、関数の引数の評価から生じる重複は無視されます。 |
TOTAL |
関数の引数の前に TOTAL の文字が配置されている場合、現在の軸の値に関連しているものだけでなく、現在の選択範囲内にあるすべての可能な値に対して計算が実行されます。つまりチャート軸は無視されます。 |
value | 入力フィールド。 ソート対象となるデータが含まれている数式です。sort_weight の最初の値 (最小値) が返され、そこから value 数式の対応する値が特定されます。sort_weight の前にマイナス記号を付けると、最後にソートされた値 (最大値) が返されます。 |
sort_weight | 入力フィールド。 ソート対象となるデータが含まれている数式です。sort_weight の最初の値 (最小値) が返され、そこから value 数式の対応する値が特定されます。sort_weight の前にマイナス記号を付けると、最後にソートされた値 (最大値) が返されます。 |
次のロード スクリプトは、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 '|');
次のデータのテーブルが得られます。
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",""] |