マトリックスの追加 (Reporting Services)

グループ化されたデータと概要情報を表示するには、マトリックスを使用します。データは、複数のフィールドまたは式によって、行グループと列グループにグループ化できます。マトリックスには、クロスタブやピボット テーブルと同様の機能があります。実行時にレポート データとデータ領域が組み合わされると、マトリックスはページ上で縦横に拡大します。マトリックス セルには、そのセルが所属する行グループと列グループの交差部分にスコープを設定した集計値が表示されます。行と列の書式を設定すると、強調するデータをハイライトできます。ドリルダウン トグルを含めて、最初は詳細データを非表示にすることもできます。ユーザーは、トグルをクリックすることにより、表示するデータの量を調整できます。

初期デザインが完了したら、ユーザーにとっての表示機能を向上させるためのマトリックスの作成に進むことができます。詳細については、「レポート ページでの Tablix データ領域の表示の制御 (Reporting Services)」を参照してください。

テーブル データ領域での作業をすぐに開始するには、「チュートリアル : 基本的なマトリックス レポートの作成」を参照してください。

レポートへのマトリックスの追加

マトリックスをツールボックスからデザイン画面に追加します。次の図に示すように、初期状態のマトリックスには、行グループ、列グループ、隅のセル、およびデータ セルが含まれています。

1 つの行グループと 1 つの列グループの空のマトリックス

デザイン画面でマトリックスを選択すると、次の図に示すように、行ハンドルと列ハンドルが表示されます。

ツールボックスから追加された新しいマトリックス、選択

グループ化ペインの [行グループ] 領域と [列グループ] 領域にデータセット フィールドをドラッグして、グループを追加します。最初にあった空の既定グループは、[行グループ] 領域または [列グループ] 領域に最初にドラッグしたフィールドで置き換えられます。その後で、セルのデータの種類に応じて、各セルに書式を適用できます。

Matrix、Category 行および Geography 列グループ

プレビュー モードでは、マトリックスが展開され、行グループと列グループの値が表示されます。セルには、次の図に示すように、集約値が表示されます。

グループが展開されているマトリックス形式のプレビュー

作業を開始したマトリックスは、Tablix データ領域に基づいたテンプレートです。入れ子になった行グループや列グループ、隣接した行グループや列グループを追加したり、詳細行を追加したりすることによって、マトリックスの開発を継続することもできます。詳細については、「Tablix データ領域の柔軟性について」を参照してください。

親グループまたは子グループのマトリックスへの追加

単一のデータセット フィールドに基づくグループを追加するには、そのフィールドをレポート データ ペインからグループ化ペインの適切な [行グループ] 領域または [列グループ] 領域にドラッグします。フィールドをグループ階層にドロップして、既存のグループに対するリレーションシップを設定します。親グループを作成する場合は、既存のグループの上にドロップし、子グループを作成する場合は、既存のグループの下にドロップします。

フィールドをグループ化ペインにドロップすると、次の結果が得られます。

  • フィールド名に基づく一意の名前を持つ新しいグループが自動的に作成されます。グループ式は、[Category] などの単純なフィールド名参照に設定されます。

  • 新しい行または列が、それに対応する行グループ領域または列グループ領域に表示されます。

  • 新しい列に、レポート データセットからの既定のデータ行を示す行グループ セルが 1 つ表示されます。この行の Tablix 本体に含まれているセルは、この行グループのメンバになります。列グループが定義されている場合、列に含まれているセルは、それらの列グループのメンバになります。各セルのグループ メンバシップは、グループ インジケータによって視覚的に判断できます。

グループを作成した後でカスタマイズするには、[Tablix のグループ] ダイアログ ボックスを使用します。グループ名を変更したり、式を編集したり、式をグループ定義に追加したりできます。テーブルに対する行の追加または削除については、「行を挿入または削除する方法 (Reporting Services)」を参照してください。

動的な列ヘッダーは、レポートの実行時に一意のグループ値と同じ数の列数だけ右方向 (マトリックスの Direction プロパティが RTL に設定されている場合は左方向) に拡張されます。動的な行は、ページの下方向に拡張されます。Tablix 本体セルに表示されるデータは、次の図に示すとおり、行グループおよび列グループの交差部分に基づいた集計です。

マトリックス、入れ子になった行および列のグループと合計

プレビュー モードでは、レポートが次の図のように表示されます。

プレビュー内の入れ子になったグループ

既定のスコープ以外のスコープを指定する式を作成するには、データセット、データ領域、またはグループの名前を集計関数 all で指定する必要があります。Clothing カテゴリ グループ値に対して各サブカテゴリが占める割合を計算するには、Total 列の横の Category グループ内に列を 1 つ追加して、パーセンテージを示すようにテキスト ボックスを書式設定します。その後で、次のコード例に示すように、分子に既定のスコープを使用し、分母に Category グループのスコープを使用する式を追加します。

=SUM(Fields!Linetotal.Value)/SUM(Fields! Linetotal.Value,"Category")

詳細については、「合計およびその他の集計の計算 (Reporting Services)」を参照してください。

隣接するグループのマトリックスへの追加

単一のデータセット フィールドに基づく隣接したグループを追加するには、グループ化ペインのショートカット メニューを使用します。詳細については、「データ領域でグループを追加または削除する方法 (Reporting Services)」を参照してください。次の図に、地理データに基づくグループと、それに隣接し、年データに基づくグループを示します。

Geography と Year の隣接列グループ

この例では、ヨーロッパに関するデータ値と 2003 年および 2004 年に関するデータ値しか含まないように、データ値がクエリによってフィルタ選択されています。ただし、フィルタの設定は、グループごとに個別に行うことができます。プレビュー モードでは、レポートが次の図のように表示されます。

隣接列グループのプレビュー

隣接する列グループの合計列を追加するには、列グループ定義のセル内をクリックして、[合計の追加] コマンドを使用します。新しい静的列が列グループの横に追加され、既存の行に含まれているすべての数値フィールドの既定の合計が表示されます。式を変更するには、たとえば Avg([Sales]) のように、既定の集計を手動で編集します。詳細については、「グループまたは Tablix データ領域に合計を追加する方法 (Reporting Services)」を参照してください。