JSON ファイルでの作業
Qlik Cloud の JSON ファイルからデータをロードします。
Qlik Cloud でサポートされている他のデータ ファイルと同様に、JSON ファイルからデータをロードできます。詳しくは「ファイルからのデータのロード」を参照してください。
LOAD コマンドを使用して、ロード スクリプトで JSON ファイルからデータをロードできます。例:
詳細については、「 Load」を参照してください。
Load ステートメントでは、ワイルド カードを使用する代わりに、項目リストに必要なものを指定して、項目をフィルター処理したり、順序を変更したりできます。例: LOAD a.b, b.c FROM […] (json);。存在しない項目ではエラーは発生しません。
JSON からネストされたオブジェクトをロードする
値がオブジェクトの場合、そのオブジェクトのメンバーは追加項目でテーブルを拡張するために使用されます。各項目名は親と子の組み合わせです。たとえば、以下の JSON にはネストされたオブジェクトが含まれています。
[
{"name":{"first":"Alice","last":"Stephenson"}},
{"name":{"first":"Bob"}},
{"name":{"last":"Roberts"}}
]
LOAD * FROM [lib://DataFiles/example.json] (json); をロードすると、次のデータのテーブルが得られます。
name.first | name.last |
---|---|
Alice | Stephenson |
Bob | null |
null | Roberts |
複数のテーブルのロード
配列を含む Jason データは、複数の Load ステートメントを使用してロードする必要があります。配列の内容はハッシュ化され、テーブルをリンクするためのキーとして使用されます。
たとえば、以下の JSON には複数のテーブルがあります。
[
{"a":[1,2],"b":[3,4]},
{"a":[2,3],"b":[4,5]}
]
これは次の Load ステートメントを使用してロードする必要があります。
table is 指定子はサブテーブルの反復子へのパスです。次のデータのテーブルが得られます。
%Key_a | %Key_b |
---|---|
<hash of [1,2]> | <hash of [3,5]> |
<hash of [2,3]> | <hash of [4,5]> |
%Key_a | a..@1 |
---|---|
<hash of [1,2]> | 1 |
<hash of [1,2]> | 2 |
<hash of [2,3]> | 2 |
<hash of [2,3]> | 3 |
%Key_b | b..@1 |
---|---|
<hash of [3,5]> | 3 |
<hash of [3,5]> | 4 |
<hash of [4,5]> | 4 |
<hash of [4,5]> | 5 |
データに同一内容の配列が複数含まれている場合は、サブテーブルの Load ステートメントでキーワード DISTINCT を使用します。例: LOAD DISTINCT * FROM [lib://DataFiles/Sales.json] (json, all tables);
配列を見る
項目リストは、データをロードするときに、サブテーブルとしてロードされる配列を確認するために使用できます。例
[
{"pos":[1,2,3]},
{"pos":[4,5,6]}
]
これは次の Load ステートメントでロードできます。
次のテーブルが得られます。
x | y | z |
---|---|---|
1 | 2 | 3 |
4 | 5 | 6 |
すべてのテーブルのロード
Table is の代わりに all tables を指定すると、すべてのテーブルをロードできます。例:
制限事項
JSON ファイルには、次の制限事項があります。
-
JSON からの単一の LOAD ステートメントは、最大で次をロードできます。
-
5,000 項目
-
1,000 テーブル
-