レポート ビルダーのページ分割されたレポートのグループ
適用対象: Microsoft レポート ビルダー (SSRS) Power BI Report Builder SQL Server Data Tools のレポート デザイナー
ページ分割されたレポートでは、グループは、データ領域にバインドされたレポート データセットの名前付きセットです。 グループは基本的に、レポート データセットのビューを整理します。 データ領域のグループはすべて、同じレポート データセットの異なるビューを指定します。
グループとはどのようなものかを視覚的に理解するために、[プレビュー] で Tablix データ領域を示した次の図を参照してください。 この図では、行グループで製品タイプ別にデータセットが分類され、列グループで地理的領域と年度別にデータセットが分類されています。
次のセクションでは、グループのさまざまな側面について説明します。
Note
ページ分割されたレポートの定義ファイル (.rdl) は、Microsoft レポート ビルダー、Power BI レポート ビルダー、または SQL Server Data Tools のレポート デザイナーを使用して作成および変更できます。
グループの一部
グループには、ユーザーが指定した名前とグループ式のセットがあります。 グループ式のセットは、単一のデータセット フィールド参照である場合も、複数の式の組み合わせである場合もあります。 実行時に、グループに複数の式がある場合、グループ式が結合され、グループ内のデータに適用されます。 たとえば、データ領域のデータを整理するデータ フィールドを使用するグループがあるとします。 実行時に、レポート ビルダーはデータを日付別に整理し、各日付のデータセット値を表示します。
グループを使用する
ほとんどの場合、データ領域をデザインすると、レポート ビルダーとレポート デザイナーによって自動的にグループが作成されます。 テーブル、マトリックス、または一覧の場合、グループはグループ化ペインにフィールドをドロップすると作成されます。 グラフの場合、グループはグラフのドロップゾーンにフィールドをドロップすると作成されます。 ゲージの場合は、[ゲージのプロパティ] ダイアログ ボックスを使用する必要があります。 テーブル、マトリックス、または一覧では、グループを手動で作成することもできます。 詳細については、「ページ分割されたレポートのデータ領域でグループを追加または削除する (レポート ビルダー)」を参照してください。 レポートを作成するときにグループを追加する方法の例については、「チュートリアル: 基本的な表レポートの作成 (レポート ビルダー)」または「基本的なテーブル レポートの作成 (SSRS チュートリアル)」を参照してください。
グループの変更
グループを作成したら、フィルターや並べ替え式、改ページ、グループ変数など、スコープ固有のデータを保持するためのデータ領域固有のプロパティを設定できます。 詳細については、「ページ分割されたレポートでのデータのフィルター処理、グループ化、並べ替え (レポート ビルダー)」を参照してください。
既存のグループを変更するには、適切なグループ プロパティのダイアログ ボックスを開きます。 グループの名前は変更できます。 また、1 つのフィールドや複数のフィールド、または実行時の値を指定するレポート パラメーターに基づいてグループ式を指定することもできます。 または、人口統計データの年齢範囲を指定する式など、式のセットに基づいてグループを指定することも可能です。 詳しくは、「ページ割り付けレポート内のグループ式の例 (Report Builder)」をご覧ください。
Note
グループの名前を変更した場合は、グループの以前の名前を参照するグループ式をすべて手動で更新する必要があります。
グループを整理する
グループはデータ領域ごとに 1 つ以上の階層のメンバーとして内部編成されています。 グループ階層には、入れ子になっている親子グループがあり、隣接するグループがある場合もあります。 同一のグループ式を指定することで、同じデータの異なるビューを表示するデータ領域をより適切に設計できます。
親子グループをツリー構造と考えた場合、各グループ階層はツリー構造のフォレストと見なされます。 Tablix データ領域には、行グループ階層と列グループ階層があります。 行グループ メンバーに関連付けられているデータはページの横方向に展開され、列グループ メンバーに関連付けられているデータはページの下方向に展開されます。 グループ化ペインには、デザイン画面で現在選択されている Tablix データ領域の行グループと列グループのメンバーが表示されます。 詳細については、「ページ分割されたレポートのグループ化ペイン (レポート ビルダー)」を参照してください。
グラフ データ領域には、カテゴリ グループ階層と系列グループ階層があります。 カテゴリ グループ メンバーはカテゴリ軸に表示され、系列グループ メンバーは系列軸に表示されます。
ゲージ データ領域には通常必要ありませんが、ゲージで集計するデータのグループ化方法をグループで指定することができます。
データ領域で利用可能なグループの種類
グリッドとして展開されるデータ領域は、概要データを視覚的に表示するデータ領域とは異なるグループをサポートします。 そのため、Tablix データ領域、および Tablix データ領域に基づくテーブル、一覧、およびマトリックスでは、サポートされているグループが、グラフやゲージとは異なります。 次のセクションでは、各タイプのデータ領域でのグループ化について説明します。
Note
グループにはさまざまなデータ領域があり、名前も異なりますが、グループの作成方法と使用方法の背景にある原則は同じです。 データ領域にグループを作成する際には、データ領域にリンクされているデータセットの詳細データを編成する方法を指定します。 各データ領域では、グループ化されたデータを表示するグループ構造がサポートされています。
Tablix データ領域のグループ: 詳細、行、および列グループ
Tablix データ領域を使用すると、データを行または列ごとにグループに整理できます。 ただし、行グループと列グループだけが Tablix データ領域で使用できる唯一のグループではありません。 このデータ領域で使用できるグループの種類は次のとおりです。
詳細グループ : 詳細グループは、レポート ビルダーまたはレポート デザイナーがデータセットとデータ領域フィルターを適用した後のレポート データセットの全データで構成されています。 そのため、詳細グループはグループ式がない唯一のグループです。
詳細グループは、クエリ デザイナーでデータセット クエリを実行したときに表示されるデータを指定します。 たとえば、販売注文テーブルのすべての列を取得するクエリがあるとします。 この詳細グループのデータには、テーブルのすべての列のあらゆる行の値がすべて含まれています。 この詳細グループのデータには、作成した計算データセット フィールドのすべての値も含まれます。
Note
詳細グループのデータには、データ ソースを計算してクエリに取得した集計であるサーバー集計も含まれます。 既定では、集計関数を使用する式がレポートに含まれていない限り、サーバー集計は、レポート ビルダーおよびレポート デザイナーで詳細データとして扱われます。 詳細については、「レポート ビルダー関数 - ページ分割されたレポートの集計関数 (レポート ビルダー)」を参照してください。
デフォルトでは、レポートにテーブルまたは一覧を追加すると、レポート ビルダーとレポート デザイナーによって詳細グループが自動的に作成されます。 その後、詳細データを表示する行が追加されます。 デフォルトでは、この行のセルにデータセット フィールドを追加すると、フィールドの単純な式 (例:
Sales
) が表示されます。 データ領域を表示すると、結果セットの各値について詳細行が 1 回繰り返されます。行グループおよび列グループ : データを行または列ごとのグループに整理することができます。 行グループはページの縦方向に展開されます。 列グループはページの横方向に展開されます。 グループはネストできます。たとえば、最初に
Year
でグループ化し、次にQuarter
でグループ化し、最後にMonth
でグループ化します。 グループは隣接している場合もあります。たとえば、Territory
でグループ化し、ProductCategory
で独立してグループ化することもできます。データ領域のグループを作成すると、データ領域に行または列が自動的に追加され、これらの行または列を使用したグループ データが表示されます。
再帰階層グループは、複数のレベルを含む単一のレポート データセットからのデータを整理します。 たとえば、再帰階層グループでは組織階層を表示できます。 たとえば、
Employee
に報告するEmployee
があるとします。 Reporting Services では、この種類のレポート データのグループを作成するためのグループのプロパティと組み込み関数が提供されています。 詳細については、「ページ分割されたレポートでの再帰階層グループの作成 (レポート ビルダー)」を参照してください。
次の一覧に、各データ領域でのグループの操作方法の概要を示します。
テーブル : 入れ子になった行グループ、隣接する行グループ、および再帰型階層の行グループ (組織図など) を定義します。 既定では、テーブルには詳細グループが含まれます。 選択したテーブルのグループ化ペインにデータセット フィールドをドラッグして、グループを追加します。
マトリックス : 入れ子になった行グループと列グループ、および隣接する行グループと列のグループを定義します。 選択したマトリックスのグループ化ペインにデータセット フィールドをドラッグして、グループを追加します。
一覧 : デフォルトでは、詳細グループがサポートされています。 一覧の一般的な使用法は、1 レベルのグループ化をサポートすることです。 選択した一覧のグループ化ペインにデータセット フィールドをドラッグして、グループを追加します。
グループを追加すると、行と列でグループのメンバーシップを反映するようにデータ領域の変更が処理されます。 グループを削除する場合、グループ定義のみを削除する方法と、グループおよび関連付けられているすべての行および列を削除する方法があります。 詳細については、「ページ分割されたレポートの Tablix 内のセル、行、列 (レポート ビルダー)」を参照してください。
詳細またはグループ データの計算で表示または使用するデータを制限するには、グループにフィルターを設定します。 詳細については、「データセット フィルター、データ領域フィルター、およびグループ フィルターのページ割り付けレポートへの追加 (Report Builder)」を参照してください。
既定では、グループを作成すると、グループの並べ替え式はグループ式と同じです。 並べ替え順を変更するには、並べ替え式を変更します。 詳細については、「ページ分割されたレポートでのデータのフィルター処理、グループ化、並べ替え (レポート ビルダー)」を参照してください。
Tablix セルのグループ メンバーシップを理解する
Tablix データ領域の行または列のセルは、複数の行グループおよび列グループに属することができます。 集計関数 ( =Sum(Fields!FieldName.Value
など) を使用するセルのテキスト ボックスで式を定義すると、セルの既定のグループ スコープは所属する最も内側の子グループになります。 セルが行グループと列グループの両方に属する場合、スコープは両方とも最も内側のグループになります。 また、別のデータ セットのグループにスコープを設定した集計された小計を計算する式を記述することもできます。 たとえば、データ領域の列グループ、またはすべてのデータを基準にグループのパーセントを計算することができます ( =Sum(Fields!FieldName.Value)/Sum(Fields!FieldName.Value,"ColumnGroup")
など)。 詳細については、「ページ分割されたレポートの Tablix データ領域 (レポート ビルダー)」および「ページ分割されたレポートの合計、集計、および組み込みコレクションの式のスコープ (レポート ビルダー)」を参照してください。