レポートにデータをバインドする場合、まずはデータソースとの接続を設定します。データソースとの接続後は、レポートに表示するデータを取得するためにデータセットが必要となります。データソースには、相対パスを使用したローカルJSONファイルと接続、またはJSON Webサービスを利用したリモートJSONファイルと接続することができます。
ActiveReportsJSは、相対パスを使用したローカルJSONファイルをデータソースとしたバインドをサポートしています。その場合、JSONファイルはレポートと同じフォルダまたはサブフォルダに存在する必要があります。
またJSON Webサービスを利用したリモートJSONファイルをデータソースとしたバインドもサポートしており、以下のようなURLからデータを取得することができます。
1つのレポートに複数のデータソースを追加することもできます。
次の図のように、JSONデータソースにバインドする方法について説明します。
1.[データ]タブを選択し、[データソース]の右側のアイコン[+追加]をクリックします。
2.[新規データソース]ダイアログが表示されます。使用するデータソースの形式によって設定が異なります。
データをレポートに埋め込む場合
[埋め込み]を「はい」に設定します。
[埋め込みファイル/URL]にて、[ファイルを選択]をクリックし、有効なJSONファイルを選択します。
または[ファイルを選択]の下部を選択し、有効なJSONデータを直接入力します。
外部ファイルのデータを参照する場合
[埋め込み]を「いいえ」に設定します。
jsondoc=ProductInfo.json
jsondoc=http://jsonplaceholder.typicode.com/comments/
3.[データソースの追加]を選択します。
データセットは、レポートに表示するデータをデータソースから取得します。
次の図のように、データセットを追加する方法について説明します。
追加したデータソースの右側のアイコン[+][データセットの編集…]を選択します。
[クエリ]に、使用するデータを取得するためのクエリを入力します。[クエリ]はJSONPathクエリ言語がサポートされています。JSONPathクエリ言語についてはリンクを参照してください。
データソースの全データを使用する場合、「$.[*]」を入力することで利用可能です。
[検証]を選択して[クエリ]の内容を検証します。
有効なフィールドに対してバウンドフィールドが生成されます。またデータセットにフィルタを設定することもできます。
[OK]を選択して[データセットの編集]ダイアログを閉じます。追加したデータセットとフィールドを、デザイナの[データ]タブに表示します。
メモ:大規模なデータセット(埋め込みまたは外部)を含むレポートを描画する際に時間が掛かる可能性があります。ユーザーがフィルタを設定した場合でも、すべてのデータを取得した後にフィルタリングが実行されるため、時間が掛かります。ブラウザの描画を高速化するには、可能な場合はより速いインターネット接続を使用するか、データセットのサイズを減らすことをお奨めします。