レポート内のデータのグループ化 (Visual Studio レポート デザイナ)
テーブル、マトリックス、および一覧のデータ領域内のデータは、フィールドおよび式によってグループ化できます。テーブル内のグループを使用して、テーブルのデータの論理的なセクションを作成できます。また、グループ ヘッダーやグループ フッターに集計やその他の式を追加できます。マトリックスでは、グループは動的列または動的行として表示されます。他のグループ内のグループを入れ子にし、集計を追加できます。一覧を使用して、レポートに複数のグループを作成したり、一覧内に入れ子になったグループの一覧を配置することもできます。
データ領域のグループ プロパティの設定
データ領域は、データの繰り返し行を表示するために使用される、データ バインド レポート アイテムです。データ領域のグループ プロパティを設定して、データの表示方法を整理できます。
テーブルまたは一覧でグループを指定する方法については、「テーブル データ領域の追加 (Visual Studio レポート デザイナ)」および「一覧データ領域の追加 (Visual Studio レポート デザイナ)」を参照してください。
マトリックスでグループを指定するには、動的な行または列を追加します。詳細については、「マトリックス データ領域の追加 (Visual Studio レポート デザイナ)」を参照してください。
再帰型階層
再帰型階層は、データにすべての親子リレーションシップが表現されているデータの階層です。たとえば、マネージャと従業員のリレーションシップを表示する組織図は、再帰型階層を使用して作成できます。このような階層では、テーブルに従業員 ID とマネージャ ID の列を追加します。マネージャ ID から他の従業員の従業員 ID を参照して、従業員の階層を作成します。
再帰型階層を構築するには、データ領域内のグループに特定のプロパティを設定する必要があります。グループ式として一意の ID (従業員 ID など) を保持するフィールドを使用し、Parent プロパティに親の ID (マネージャ ID など) を保持するフィールドを使用します。再帰型階層として定義されたグループ (Parent プロパティを使用しているグループ) には、グループ式は 1 つしか設定できません。
次の手順に従って、AdventureWorks データベースの Employee テーブルを使用した再帰型階層を作成します。このチュートリアルでは、レポート、データセット、クエリ、およびテーブルの作成方法を理解していることを前提としています。これらの機能の詳細については、これらの機能についてのドキュメントを参照してください。
次のクエリからデータを返す AdventureWorks データベースに基づいたデータ セットを作成します。
SELECT FirstName, LastName, EmployeeID, ManagerID
クライアント レポート定義 (.rdlc) をプロジェクトに追加し、グラフィック デザイン モードでレポートを開きます。
テーブル データ領域をレポート レイアウトに追加します。
テーブルの最初の詳細セルに、次の式を入力します。
=Fields!FirstName.Value & " " & Fields!LastName.Value
テーブルのコーナーを右クリックし、[プロパティ] をクリックします。
[グループ] タブで、[グループ化の詳細] をクリックします。
[全般] タブの [式] ボックスで、次の式を入力または選択します。
=Fields!EmployeeID.Value
[親グループ] ボックスで、次の式を入力または選択します。
=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 レポート デザイナ)