メイン コンテンツをスキップする 補完的コンテンツへスキップ

JSON ファイルでの作業

Qlik Cloud の JSON ファイルからデータをロードします。

Qlik Cloud でサポートされている他のデータ ファイルと同様に、JSON ファイルからデータをロードできます。詳しくは「ファイルからのデータのロード」を参照してください。

LOAD コマンドを使用して、ロード スクリプトで JSON ファイルからデータをロードできます。例:

LOAD * from [lib://DataFiles/xyz.json] (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 ステートメントを使用してロードする必要があります。

LOAD * FROM [...] (json); LOAD * FROM [...] (json, table is [/*/a]); LOAD * FROM [...] (json, table is [/*/b]);

table is 指定子はサブテーブルの反復子へのパスです。次のデータのテーブルが得られます。

テーブル 1
%Key_a %Key_b
<hash of [1,2]> <hash of [3,5]>
<hash of [2,3]> <hash of [4,5]>
テーブル 2
%Key_a a..@1
<hash of [1,2]> 1
<hash of [1,2]> 2
<hash of [2,3]> 2
<hash of [2,3]> 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 ステートメントでロードできます。

LOAD pos.0 AS x, pos.1 AS y, pos.2 AS z FROM […] (json);.

次のテーブルが得られます。

x y z
1 2 3
4 5 6

すべてのテーブルのロード

Table is の代わりに all tables を指定すると、すべてのテーブルをロードできます。例:

LOAD * FROM [lib://DataFiles/Sales.json] (json, all tables);

制限事項

JSON ファイルには、次の制限事項があります。

  • JSON からの単一の LOAD ステートメントは、最大で次をロードできます。

    • 5,000 項目

    • 1,000 テーブル

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。