Gå till huvudinnehåll

JsonArray - skript- och diagramfunktion

JsonArray aggregerar och konkatenerar JSON-data.

Syntax:  

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

Returnerad datatyp: dual

Argument:  

Argument
Argument Beskrivning
DISTINCT

Om predikatet DISTINCT förekommer framför funktionsargumenten ignoreras alla dubbletter som evaluerats utifrån funktionsargumenten.

TOTAL

Om ordet TOTAL står före funktionsargumenten görs beräkningen över alla valbara värden givet de aktuella valen, och inte bara sådana som rör det aktuella dimensionsvärdet, det vill säga att diagramdimensionerna ignoreras.

value Indatafält. Uttrycket som innehåller data som ska sorteras. Det första (lägsta) värdet i sort_weight hittas, varifrån motsvarande värde i uttrycket value fastställs. Om du sätter ett minustecken framför sort_weight returnerar funktionen det sista (högsta) sorterade värdet i stället.
sort_weight Indatafält. Uttrycket som innehåller data som ska sorteras. Det första (lägsta) värdet i sort_weight hittas, varifrån motsvarande värde i uttrycket value fastställs. Om du sätter ett minustecken framför sort_weight returnerar funktionen det sista (högsta) sorterade värdet i stället.

Exempel:  

Följande laddningsskript laddar och aggregerar data med 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 '|');

Detta resulterar i följande datatabell:

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

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!