データのグループ化
更新 : 2006 年 4 月 14 日
各データ領域 (テーブル、マトリックス、一覧、およびグラフ) 内のデータは、フィールドおよび式によってグループ化できます。テーブル内のグループを使用して、テーブルのデータの論理的なセクションを作成できます。また、グループ ヘッダーやグループ フッターに集計やその他の式を追加できます。マトリックスでは、グループは動的列または動的行として表示されます。グループを他のグループ内で入れ子にし、集計を追加することもできます。一覧を使用して、レポートに複数のグループを作成したり、一覧内で入れ子にされたグループの一覧を配置することもできます。
データ領域内のデータをグループ化する方法については、以下のトピックを参照してください。
再帰型階層
再帰型階層は、データにすべての親子リレーションシップが表現されているデータの階層です。たとえば、マネージャと従業員のリレーションシップを表示する組織図は、再帰型階層を使用して作成できます。このような階層では、テーブルに従業員 ID とマネージャ ID の列を追加します。マネージャ ID から他の従業員の従業員 ID を参照して、従業員の階層を作成します。
再帰型階層を構築するには、データ領域内のグループに特定のプロパティを設定する必要があります。グループ式として一意の ID (従業員 ID など) を保持するフィールドを使用し、Parent プロパティに親の ID (マネージャ ID など) を保持するフィールドを使用します。再帰型階層として定義されたグループ (Parent プロパティを使用しているグループ) には、グループ式は 1 つしか設定できません。
次のチュートリアルでは、AdventureWorks データベースの Employee テーブルを使用した再帰型階層を作成します。このチュートリアルでは、レポート、データセット、クエリ、およびテーブルの作成方法を理解していることを前提としています。これらの機能の詳細については、これらの機能についてのドキュメントを参照してください。
[データ] ビューで、AdventureWorks データベースを基にデータセットを作成します。
このデータセットで、次のクエリを使用します。
SELECT FirstName, LastName, EmployeeID, ManagerID FROM HumanResources.Employee E INNER JOIN Person.Contact C ON E.ContactID=C.ContactID
[レイアウト] ビューで、テーブル データ領域を作成します。
テーブルの最初の詳細セルに、次の式を入力します。
=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)) になります。
Level 関数の詳細については、「Level 関数 (Reporting Services)」を参照してください。
参照
概念
データ領域の処理
テーブル データ領域の処理
マトリックス データ領域の処理
一覧データ領域の処理
グラフ データ領域の処理
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 4 月 14 日 |
|