Share via


レポート内のデータのグループ化 (Visual Studio レポート デザイナ)

テーブル、マトリックス、および一覧のデータ領域内のデータは、フィールドおよび式によってグループ化できます。テーブル内のグループを使用して、テーブルのデータの論理的なセクションを作成できます。また、グループ ヘッダーやグループ フッターに集計やその他の式を追加できます。マトリックスでは、グループは動的列または動的行として表示されます。他のグループ内のグループを入れ子にし、集計を追加できます。一覧を使用して、レポートに複数のグループを作成したり、一覧内に入れ子になったグループの一覧を配置することもできます。

データ領域のグループ プロパティの設定

データ領域は、データの繰り返し行を表示するために使用される、データ バインド レポート アイテムです。データ領域のグループ プロパティを設定して、データの表示方法を整理できます。

再帰型階層

再帰型階層は、データにすべての親子リレーションシップが表現されているデータの階層です。たとえば、マネージャと従業員のリレーションシップを表示する組織図は、再帰型階層を使用して作成できます。このような階層では、テーブルに従業員 ID とマネージャ ID の列を追加します。マネージャ ID から他の従業員の従業員 ID を参照して、従業員の階層を作成します。

再帰型階層を構築するには、データ領域内のグループに特定のプロパティを設定する必要があります。グループ式として一意の ID (従業員 ID など) を保持するフィールドを使用し、Parent プロパティに親の ID (マネージャ ID など) を保持するフィールドを使用します。再帰型階層として定義されたグループ (Parent プロパティを使用しているグループ) には、グループ式は 1 つしか設定できません。

次の手順に従って、AdventureWorks データベースの Employee テーブルを使用した再帰型階層を作成します。このチュートリアルでは、レポート、データセット、クエリ、およびテーブルの作成方法を理解していることを前提としています。これらの機能の詳細については、これらの機能についてのドキュメントを参照してください。

  1. 次のクエリからデータを返す AdventureWorks データベースに基づいたデータ セットを作成します。

    SELECT FirstName, LastName, EmployeeID, ManagerID

  2. クライアント レポート定義 (.rdlc) をプロジェクトに追加し、グラフィック デザイン モードでレポートを開きます。

  3. テーブル データ領域をレポート レイアウトに追加します。

  4. テーブルの最初の詳細セルに、次の式を入力します。

    =Fields!FirstName.Value & " " & Fields!LastName.Value

  5. テーブルのコーナーを右クリックし、[プロパティ] をクリックします。

  6. [グループ] タブで、[グループ化の詳細] をクリックします。

  7. [全般] タブの [式] ボックスで、次の式を入力または選択します。

    =Fields!EmployeeID.Value

  8. [親グループ] ボックスで、次の式を入力または選択します。

    =Fields!ManagerID.Value

Level 関数

テキスト ボックスの余白に Level 関数を使用して、階層内のレベルに応じて従業員名をインデントできます。上の例のテーブルでこれを行うには、最初の詳細セルに次の式を使用して、テキスト ボックスの左端に余白を設定します。

=Convert.ToString(2 + (Level()*10)) & "pt"

余白のプロパティはすべて、nnxx 形式の文字列が必要です。ここで、nn は数、xx は単位です。既定では、テキスト ボックスの余白は 2 ポイントです。上の式では、Level 関数を使用する文字列が構築され、レベルに基づいて余白のサイズが増加されます。たとえば、レベルが 1 の行では余白は 12 ポイント (2 + (1*10)) に、レベルが 3 の行では 32 ポイント (2 + (3*10)) になります。

使用できる関数の詳細については、「レポートの組み込み関数 (Visual Studio レポート デザイナ)」を参照してください。

参照

処理手順

レポートでデータをフィルタ選択する方法 (Visual Studio レポート デザイナ)

概念

レポートでの式の使用 (Visual Studio レポート デザイナ)