ActiveReports for .NET 18.0J
動的なJSON接続文字列の作成
ActiveReportsユーザーガイド > 概念 > ページレポート/RDLレポートの概念 > データソースとデータセット > [データセット]ダイアログ > 動的なJSON接続文字列の作成

JSONデータの接続文字列を式として入力し、パラメータを使用して値を渡してデータソースを動的に設定できます。

このトピックでは、動的に作成したJSONデータソースからテーブルにデータを取得する、テーブル形式のレポートを作成する方法について説明します。

新しいレポートを作成する

デザイナアプリにて、[新規作成]をクリックし、新しいRDLレポートを作成します。

レポートをデータ連結しデータセットを追加する

レポートをデータソースに接続する

  1. レポートを新規作成すると、[レポートデータソース]ダイアログが表示されます。このダイアログは、[データソース]ノードを右クリックして、[データソースの追加]オプションを選択する時も表示されます。
  2. [レポートデータソース]ダイアログで[全般]ページを選択し、データソースの名前を「Categories」に設定します。
  3. 種類を「Json Provider」に設定します。 
  4. [コンテンツ]タブで、JSONデータの形式の選択を「外部ファイルまたはURL」に設定します。
  5. [ファイル/URLの選択または入力]フィールドに「https://demodata.mescius.jp/northwind/api/v1/Categories」と入力します。
     詳細については、「JSON Provider」を参照してください。
  6. [接続文字列]タブに移動し、[データソースを確認]アイコンValidate Icon in Report Data Source Dialog Boxをクリックして、生成された接続文字列を確認します。
  7. [OK]ボタンをクリックしてダイアログを閉じます。

データセットを追加する

  1. レポートエクスプローラで、[データソース]ノードを右クリックして[データセットの追加]を選択するか、[追加](+)ボタンから[データセット]を選択します。
  2. [データセット]ダイアログで、[全般]ページを選択し、[名前]フィールドに「dsCategories」と入力します。この名前が[レポートエクスプローラ]で、追加したデータソースの子ノードとして表示されます。
  3. [データセット]ダイアログの[クエリ]ページで、[クエリ]フィールドに次のクエリを入力します。
    データセットクエリ
    コードのコピー
    $.[*]
    

パラメータを追加する

  1. レポートエクスプローラで、[パラメータ]ノードを右クリックし、[パラメータの追加]オプションを選択します。
  2. [レポート - パラメータ]ダイアログで、次のプロパティを設定します。
    [全般]タブ
    プロパティ
    名前 paramCategories
    データタイプ String
    パラメータ入力ダイアログに表示する文字列 カテゴリを選択
    使用できる値([クエリから値を取得]オプションを選択した場合)
    プロパティ
    データセット dsCategories
    categoryId
    ラベル categoryName
    並べ替え > 条件 Label
    並べ替え > 方向 Ascending
  3. [OK]をクリックしてダイアログを閉じます。

動的に作成したデータを追加する

レポートをデータソースに接続する

  1. [データソース]ノードを右クリックして、[データソースの追加]オプションを選択します。
  2. [レポートデータソース]ダイアログで[全般]ページを選択し、データソースの名前を「Products」に設定します。
  3. 種類を「Json Provider」に設定します。 

    式なしの外部URLを使用して、データソースからフィールドを取得します。次に、URLを式に置き換えて、動的なJSON接続文字列を作成します。 
      
  4. [コンテンツ]タブで、JSONデータの形式の選択を「外部ファイルまたはURL」に設定します。
  5. [ファイル/URLの選択または入力]フィールドに「https://demodata.mescius.jp/northwind/api/v1/Categories/1/Products」と入力します。
  6. [OK]ボタンをクリックしてダイアログを閉じます。

データセットを追加する

  1. レポートエクスプローラで、Productsデータソースノードを右クリックして[データセットの追加]を選択するか、[追加](+)ボタンから[データセット]を選択します。
  2. [データセット]ダイアログで、[全般]ページを選択し、[名前]フィールドに「dsProducts」と入力します。
  3. [データセット]ダイアログの[クエリ]ページで、[クエリ]フィールドに次のクエリを入力します。
    データセットクエリ
    コードのコピー
    $.[*]
    
  4. クエリを検証するために、クエリボックスの横にある[データセットの検証]アイコンValidate Icon in Report Data Source Dialog Boxをクリックします。
  5. [OK]をクリックしてダイアログを閉じます。データセットとクエリフィールドは、[レポートエクスプローラ]にノードとして表示されます。

    データソース接続を更新する
  1. レポートエクスプローラで、Productsデータソースノードを右クリックし、[編集]を選択します。
  2. [コンテンツ]タブで、JSONデータの形式の選択を「式」に設定します。
  3. [式の入力]フィールドに、次の式を入力します。
            Update Expression in the Report Data Source connection
    接続文字列
    コードのコピー
    ="jsondoc=https://demodata.mescius.jp/northwind/api/v1/Categories/"+[@paramCategories]+"/Products"
    
  4. [OK]ボタンをクリックしてダイアログを閉じます。

レポートのレイアウトを作成する

Design view of the tabular report
  1. デザイン面に、Tableコントロール(Table1)をドラッグ&ドロップします。DataSetNameプロパティを「dsProducts」に設定します。
  2. dsProductsから、次のフィールドをTable1の詳細行にドラッグします。
    • =Fields!productName.Value
    • =Fields!unitPrice.Value
    • =Fields!UnitsInStock.Value
  3. 選択したパラメータを表示するには、Table1の上にTextBoxコントロールをドラッグ&ドロップし、Valueに「=Parameters!paramCategories.Label」と入力します。
  4. レポートに配置する各コントロールのサイズや位置を調整して、レポートの外観をカスタマイズします。
  5. [プレビュー]タブをクリックして、レポートをプレビューします。
  6. ドロップダウンリストからパラメータを選択し、[レポートを表示]をクリックします。
    Preview of the tabular report