ActiveReports for .NET 18.0J
データ領域での複数データセットの使用
ActiveReportsユーザーガイド > サンプルとチュートリアル > チュートリアル > ページレポート/RDLレポートのチュートリアル > データ > データ領域での複数データセットの使用

異なる種類のデータセットからさまざまなデータを取得して、ひとつのデータ領域に表示する必要のあるケースは多く存在します。ActiveReportsでは、データ領域にLookup関数を使用することで、この表示が可能になります。

Lookup関数は、異なるデータセット内にある、同じデータタイプで、関連付けられたフィールドまたは共通のフィールドから、条件に一致する値を返します。この関数は、データ領域を構成するテキストボックスのValueプロパテイの式として設定します。ActiveReportsのLookup関数は、Microsoft ExcelのVLOOKUP関数と同等の関数です。

Lookup関数

構文

=Lookup(<SourceExpression>, <DestinationExpression>, <ResultExpression>, <LookupDataset>)

パラメータ

留意点

制限事項

このトピックでは、以下のタスクを行います。

メモ:

チュートリアルを完了すると、次のようなレポートが作成されます。

デザイン時のレイアウト

実行時のレイアウト

Visual StudioプロジェクトにActiveReportsを追加する

  1. Visual Studioで新規プロジェクトを開きます([ファイル]メニューから[新規作成][プロジェクト]を選択)。
  2. [新しいプロジェクト]ダイアログで[ActiveReports 18.0J ページレポート]を選択し、ファイル名を「SalesResultReport」に変更します。
  3. [OK]ボタンをクリックすると、ActiveReports 18.0J ページレポートアプリケーションが新規作成されます。デフォルトでページレポートがプロジェクトに追加されています。

レポートレイアウトの追加については、「クイックスタート」を参照してください。

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

  1. [レポートエクスプローラ]で、[データソース]ノードを右クリックして、[データソースの追加]オプションを選択するか、[追加](+)ボタンから[データソース]を選択します。
  2. 表示される[レポートデータソース]ダイアログで、[全般]ページを選択し、[名前]フィールドで名前を「SalesResultData」に変更します。
  3. 同じ[全般]ページで、SalesResultデータベースに接続します。接続の詳細については、「データソースとの接続」を参照してください。

データセットを追加する

Dataset1を追加する

  1. [レポートエクスプローラ]で、[SalesResultData]ノードを右クリックして、[データセットの追加]オプションを選択するか、[追加](+)ボタンから[データセット]を選択します。
  2. 表示される[データセット]ダイアログで、[全般]ページを選択します。[名前]フィールドの名前はデフォルトの「Dataset1」にします。この名前は[レポートエクスプローラ]に[データソース]の子ノードとして表示されます。
  3. [クエリ]ページで、クエリフィールドに次のSQLクエリを追加します。
    SQLクエリ
    コードのコピー
    SELECT M01Product.Category, M01Product.ProductID
    FROM M01Product
    
  4. クエリボックスの横にある[データセットの検証]アイコンをクリックして、クエリを検証します。
  5. [OK]をクリックしてダイアログを閉じます。データセットとクエリフィールドが、[レポートエクスプローラ]に子ノードとして表示されます。

    Dataset1は次のフィールドを含んでいます。

    • Category
    • ProductID

Dataset2を追加する

  1. 上記「Dataset1を追加する」の手順1、手順2を行います。[名前]フィールドの名前はデフォルトの「Dataset2」にします。
  2. [データセット]ダイアログの[クエリ]ページで、クエリフィールドに次のSQLクエリを追加します。
    SQLクエリ
    コードのコピー
    SELECT * FROM T01Result
    
  3. クエリボックスの横にある[データセットの検証]アイコンをクリックして、クエリを検証します。
  4. [OK]をクリックしてダイアログを閉じます。データセットとクエリフィールドが、[レポートエクスプローラ]に子ノードとして表示されます。

    Dataset2は次のフィールドを含んでいます。

    • ID
    • ProductID
    • Quantity
    • PDate
    • FY

レポートにコントロールを追加する

  1. ツールボックスからTableデータ領域をドラッグし、レポートのデザイナ面上にドロップします。
  2. [プロパティ]ウィンドウへ移動し、Tableデータ領域の各プロパティを次のように設定します。
    プロパティ名 プロパティの値
    FixedSize 4in, 4in
    Location 0in, 0in
    Size 3.875in, 0.75in
    DataSetName Dataset1
  3. テーブルの詳細行の各テキストボックス上でポインタをホバーさせて、フィールド選択装飾子を表示し、各セルに次のフィールドを設定します。
    セル フィールド
    TextBox4 Category
    TextBox5 ProductID
    この設定により、詳細行には式が表示されると同時に、列のヘッダ行には静的なラベルが自動的に表示されます。
  4. Tableデータ領域のTextBox6を選択して[プロパティ]ウィンドウへ移動し、各プロパティを次のように設定します。
    プロパティ名 プロパティの値
    Value =Lookup(Fields!ProductID.Value, Fields!ProductID.Value, Fields!Quantity.Value, "DataSet2")
    TextAlign Left
    Valueプロパティの式は、関連するDataset1のProductIDフィールドに対応して、Dataset2のQauantityフィールドの値を返します。
  5. 下記の各テキストボックスを選択して[プロパティ]ウィンドウへ移動し、Valueプロパティを次のように設定します。
    セル プロパティの値
    TextBox1 カテゴリ
    TextBox2 製品ID
    TextBox3 数量
  6. Tableデータ領域のいずれかのテキストボックスを選択してテーブルの左側に行ハンドルを表示し、ヘッダ行を選択します。[プロパティ]ウィンドウへ移動して、FontWeightプロパティを「Bold」に設定します。

レポートを表示する

または

関連トピック