次の方法で共有


チュートリアル: マトリックス レポートの作成 (レポート ビルダー)

このチュートリアルでは、サンプル売上データに基づいて基本的なマトリックス レポートを作成する方法について説明します。 マトリックスには、入れ子になった行グループと列グループ、および隣接する列グループがあります。 また、列の書式設定とテキストの回転方法についても説明します。 次の図は、作成するレポートと同様のレポートを示しています。

rs_CreateMatixReportTutorial

このチュートリアルで作成するレポートの拡張バージョンは、サンプルの SQL Server 2014 レポート ビルダー レポートとして使用できます。 このサンプルレポートやその他のサンプルレポートのダウンロード方法については、レポートビルダーのサンプルレポートを参照してください。

学習する内容

このチュートリアルでは、次の方法について説明します。

  1. 新しいテーブルまたはマトリックス ウィザードからマトリックス レポートとデータセットを作成する

  2. 新しいテーブルまたはマトリックス ウィザードでデータを整理し、レイアウトとスタイルを選択する

  3. データの書式設定

  4. 隣接する列グループを追加する

  5. 列の幅を変更する

  6. マトリックス セルの結合

  7. レポート ヘッダーとレポート タイトルを追加する

  8. レポートを保存する

その他の省略可能な手順

  1. テキスト ボックスを 270 度回転する

このチュートリアルの推定所要時間:20 分

要求事項

要件の詳細については、「 チュートリアルの前提条件 (レポート ビルダー)」を参照してください。

1. 新しいテーブルまたはマトリックス ウィザードからマトリックス レポートとデータセットを作成する

レポート ビルダーの [ はじめ に] ダイアログ ボックスで、共有データ ソースを選択し、埋め込みデータセットを作成して、マトリックスにデータを表示します。

このチュートリアルのクエリには既にデータ値が含まれているため、外部のデータ ソースを必要としません。 このため、クエリが非常に長くなっています。 ビジネス環境でクエリにデータを含めることはありません。 これは、学習に使用することのみを目的としています。

新しいマトリックスを作成するには

  1. [ スタート] をクリックし、[ プログラム] をポイントし、 Microsoft SQL Server 2012 レポート ビルダーをポイントして、[ レポート ビルダー] をクリックします。

    [ 作業の開始 ] ダイアログ ボックスが表示されます。 そうでない場合は、[レポート ビルダー] ボタンから [ 新規] をクリックします。

  2. 左ペインで、 [新しいレポート] が選択されていることを確認します。

  3. 右側のウィンドウで、[ テーブル] または [マトリックス ウィザード] をクリックします。

  4. [ データセットの選択 ] ページで、[ データセットの作成] をクリックします。

  5. [次へ] をクリックします。

  6. [ データ ソースへの接続の選択 ] ページで、既存のデータ ソースを選択するか、レポート サーバーを参照して、データ ソースを選択します。 使用できるデータ ソースがない場合、またはレポート サーバーにアクセスできない場合は、代わりに埋め込みデータ ソースを使用できます。 埋め込みデータ ソースの作成の詳細については、「 チュートリアル: 基本的なテーブル レポートの作成 (レポート ビルダー)」を参照してください。

  7. [次へ] をクリックします。

  8. [ クエリのデザイン ] ページで、[ テキストとして編集] をクリックします。

  9. 次のクエリをコピーし、クエリ ペインに貼り付けます。

    SELECT CAST('2009-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Carrying Case' as Product, CAST(16996.60 AS money) AS Sales, 68 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(13747.25 AS money) AS Sales, 55 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Carrying Case' as Product, CAST(9248.15 AS money) As Sales, 37 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1350.00 AS money) AS Sales, 18 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1800.00 AS money) AS Sales, 24 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1125.00 AS money) AS Sales, 15 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1147.50 AS money) AS Sales, 17 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,  'Lens Adapter' as Product, CAST(742.50 AS money) AS Sales, 11 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1417.50 AS money) AS Sales, 21 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(13497.30 AS money) AS Sales, 54 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(11997.60 AS money) AS Sales, 48 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(10247.95 AS money) As Sales, 41 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory, 'Tripod' as Product, CAST(1200.00 AS money) AS Sales, 16 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(2025.00 AS money) AS Sales, 27 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1425.00 AS money) AS Sales, 19 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(887.50 AS money) AS Sales, 13 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Lens Adapter' as Product, CAST(607.50 AS money) AS Sales, 9 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1215.00 AS money) AS Sales, 18 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate,  'Central' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(10191.00 AS money) AS Sales, 79 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate,  'North' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(8772.00 AS money) AS Sales, 68 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate,  'South' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(10578.00 AS money) AS Sales, 82 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'Central' as Territory,'Digital' as Subcategory, 'Slim Digital' as Product, CAST(7218.10 AS money) AS Sales, 38 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'North' as Territory,'Digital' as Subcategory, 'Slim Digital' as Product, CAST(8357.80 AS money) AS Sales, 44 as Quantity  
    UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'South' as Territory,'Digital' as Subcategory,'Slim Digital' as Product, CAST(9307.55 AS money) AS Sales, 49 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate,  'Central' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(3870.00 AS money) AS Sales, 30 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate,  'North' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(5805.00 AS money) AS Sales, 45 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate,  'South' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(8643.00 AS money) AS Sales, 67 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'Central' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(9877.40 AS money) AS Sales, 52 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'North' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(12536.70 AS money) AS Sales, 66 as Quantity  
    UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'South' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(6648.25 AS money) AS Sales, 35 as Quantity  
    
  10. [次へ] をクリックします。

2. 新しいテーブルまたはマトリックス ウィザードからデータを整理し、レイアウトとスタイルを選択する

ウィザードを使用して、データを表示する最初のデザインを作成します。 ウィザードのプレビュー ペインでは、マトリックスのデザインを完了する前にデータのグループ化の結果を表示できます。

データをグループに整理し、レイアウトとスタイルを選択するには

  1. [フィールドの配置] ページで、 [使用できるフィールド] から Territory を [行グループ] にドラッグします。

  2. SalesDate を 行グループ にドラッグし、Territory の下に配置します。

    [行グループ] 内でフィールドが表示される順序によって、グループの階層が決まります。 手順 1. および 2. で、フィールドの値がまず販売区域でまとめられ、次に販売日でまとめられます。

  3. Subcategory を [列グループ] にドラッグします。

  4. Product を 列グループ にドラッグし、サブカテゴリの下に配置します。

    列グループにフィールドが表示される順序によって、グループ階層が定義されます。

    手順 3. および 4. で、フィールドの値がまずサブカテゴリでまとめられ、次に製品でまとめられます。

  5. Sales を [値] にドラッグします。

    Sales は Sum 関数 (数値フィールドを集計するための既定の関数) を使用して集計されます。

  6. Quantity を [値] にドラッグします。

    Quantity は Sum 関数を使用して集計されます。

    手順 5. および 6. で、マトリックスのデータ セルに表示するデータが指定されます。

  7. [次へ] をクリックします。

  8. [レイアウトの選択] ページの [オプション] で、 [小計と総計を表示] が選択されていることを確認します。

  9. [ブロック、小計は下] が選択されていることを確認します。

  10. [グループの展開/折りたたみ] チェック ボックスがオンであることを確認します。

  11. [次へ] をクリックします。

  12. [スタイルの選択] ページの [スタイル] ウィンドウで、[ スレート] を選択します。

  13. [完了] をクリックします。

    マトリックスがデザイン画面に追加されます。 [行グループ] ペインには 2 つの行グループが表示されます。Territory と SalesDate です。 [列グループ] ペインには 2 つの列グループが表示されます。Subcategory と Product です。 詳細データは、データセット クエリによって取得されるすべてのデータです。

  14. [実行] をクリックして、レポートをプレビューします。

マトリックスには、特定の日付に販売された製品ごとに、製品のサブカテゴリと販売区域が表示されます。

3. データの書式設定

既定では Sales フィールドの概要データでは通常の数値が、SalesDate フィールドには日付と時刻の両方の情報が表示されます。 数値を通貨として表示するように Sales フィールドを書式設定し、日付のみを表示する SalesDate フィールドを書式設定します。 書式設定したテキスト ボックスおよびプレースホルダー テキストのサンプル値を表示するには、 [プレースホルダーのスタイル] の設定を切り替えます。

フィールドの書式を設定するには

  1. デザイン ビューに切り替えるには、[デザイン] をクリックします。

  2. Ctrl</localizedText> キーを押しながら、 [Sum(Sales)]が格納されている 9 つのセルを選択します。

  3. [ホーム] タブの [数値] グループで、 [通貨] をクリックします。 セルが変更され、書式設定された通貨が表示されます。

    地域設定が英語 (米国) の場合、既定のサンプル テキストは [$12,345.00] です。 通貨値の例が表示されない場合は、[数値] グループの [プレースホルダー スタイル] をクリックし、[サンプル値] をクリックします。

  4. [SalesDate]を含むセルをクリックします。

  5. [ 数値 ] グループのドロップダウン リストから [日付] を選択 します

    セルに、日付の例として [2000/1/31] と表示されます。 日付の例が表示されない場合は、[数値] グループの [プレースホルダー スタイル] をクリックし、[サンプル値] をクリックします。

  6. [実行] をクリックして、レポートをプレビューします。

日付値には日付のみが表示され、売上の値は通貨として表示されます。

4. 隣接する列グループを追加する

行グループと列グループは、親子関係としてネストさせることも、兄弟関係で隣接させることもできます。

Subcategory 列グループに隣接する列グループを追加し、セルをコピーして新しい列グループを入力し、次に式を使用してその列グループ ヘッダーの値を作成します。

隣接する列グループを追加するには

  1. [ デザイン ] をクリックしてデザイン ビューに戻ります。

  2. [Subcategory]を含むセルを右クリックし、[グループの追加]をポイントして、[右隣に追加]をクリックします。

    [Tablix のグループ] ダイアログ ボックスが表示されます。

  3. [ グループ化 ] ボックスの一覧で [SalesDate] を選択し、[OK] をクリックします。

    サブカテゴリ列グループの左側に新しい列グループが追加されます。

  4. [SalesDate],を含む新しい列グループのセルを右クリックし、[] をクリックします。

  5. 次の式を式ボックスにコピーします。

    =WeekdayName(DatePart("w",Fields!SalesDate.Value))  
    

    この式により、販売日から曜日が抽出されます。 詳細については、「式 (レポート ビルダーおよび SSRS)」を参照してください。

  6. Total を含む Subcategory 列グループ内のセルを右クリックし、[ コピー] をクリックします。

  7. 手順 5 で作成した式を含むセルのすぐ下にあるセルを右クリックし、[ 貼り付け] をクリックします。

  8. Ctrl</localizedText> キーを押します。

  9. [サブカテゴリ] グループで、[Sales] 列ヘッダーとその下にある 3 つのセルをクリックし、右クリックして [ コピー] をクリックします。

  10. この 4 つのセルを新しい列グループの 4 つの空のセルに貼り付けます。

  11. [実行] をクリックして、レポートをプレビューします。

レポートには、月曜日と火曜日という名前の列が表示されます。 データセットには、この 2 つの曜日のデータのみが含まれています。

他の曜日のデータが含まれている場合は、レポートにそれらの曜日の列も表示されます。 各列には、担当地域別の列ヘッダー、 Sales、および売上合計があります。

5. 列の幅を変更する

マトリックスを含むレポートは、通常、実行時に水平方向と垂直方向に展開されます。 水平展開の制御は、印刷されたレポートに使用される Microsoft Word や Adobe PDF などの形式にレポートをエクスポートする場合に特に重要です。 レポートが複数のページにまたがって水平方向に拡張される場合、印刷レポートは理解しにくくなります。 水平方向の拡張を最小限に抑えるには、列のサイズを変更して、折り返しをしないでデータを表示できるだけの幅にします。 また、列の名前を変更して、タイトルがデータの表示に必要な幅に収まるようにすることもできます。

列の名前とサイズを変更するには

  1. [ デザイン ] をクリックしてデザイン ビューに戻ります。

  2. 左側の最も遠い Quantity 列のテキストを選択し、「 QTY」と入力します。

    列のタイトルが、QTY になります。

  3. Quantity という名前の他の列に対して手順 2 を繰り返します。 そのうちの 2 つがあります。

  4. 行列の上と横に列ハンドルと行ハンドルが表示されるように、マトリックスをクリックします。

    テーブルの上と横のグレーのバーは、列および行ハンドルです。

  5. 最も遠い QTY 列のサイズを左に変更するには、カーソルが二重矢印に変わるように、列ハンドル間の線をポイントします。 幅が 1/2 インチになるまで、列を左にドラッグします。

    1/2 インチの列幅は、数量を表示するのに十分です。

  6. その他の QTY 列についても、手順 5. を実行します。

  7. [実行] をクリックして、レポートをプレビューします。

数量を含むレポートの列に QTY という名前が付けられ、列の幅が狭くなりました。

6. マトリックス セルの結合

コーナー領域は、マトリックスの左上隅にあります。 マトリックス内の行グループと列グループの数に応じて、コーナー領域にセル数は変わります。 このチュートリアルで作成するマトリックスには、コーナー領域に 4 つのセルがあります。 これらのセルは、行グループと列グループの階層の深さに対応して、2 行 2 列で表示されています。 このレポートでは 4 つのセルは使用されず、1 つに結合されます。

マトリックス セルを結合するには

  1. [ デザイン ] をクリックしてデザイン ビューに戻ります。

  2. 行列の上と横に列ハンドルと行ハンドルが表示されるように、マトリックスをクリックします。

  3. Ctrl キーを押し、4 つのコーナー セルを選択します。

  4. セルを右クリックし、[セルの 結合] をクリックします。

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

  6. [ 塗りつぶし ] タブをクリックします。

  7. (fx)ボタンをクリックして塗りつぶしの色を設定します。

  8. 次の式をコピーして式ボックスに貼り付けます。

    #96a4b2  
    

    これは、スレート スタイルで使用される灰色の青の色の RGB 16 進値です。

  9. OK をクリックします。

  10. [実行] をクリックして、レポートをプレビューします。

上隅のマトリックスは単一のセルであり、行グループおよび列グループのセルと同じ色を持っています。

7. レポート ヘッダーとレポート タイトルを追加する

レポート タイトルは、レポートの最上部に表示されます。 レポート タイトルは、レポート ヘッダーに配置することも、レポートが使用しない場合は、レポート本文の上部にあるテキスト ボックスに配置することもできます。 このチュートリアルでは、レポートの上部にあるテキスト ボックスを削除し、ヘッダーにタイトルを追加します。

レポート ヘッダーとレポート タイトルを追加するには

  1. [ デザイン ] をクリックしてデザイン ビューに戻ります。

  2. [ クリックしてタイトルを追加する] を含むレポート本文の上部にあるテキスト ボックスをクリックし、Delete キーを押します。

  3. リボンの [ 挿入 ] タブで、[ ヘッダー ] をクリックし、[ ヘッダーの追加] をクリックします。

    ヘッダーがレポート本文の先頭に追加されます。

  4. [ 挿入 ] タブで、[ テキスト ボックス] をクリックし、レポート ヘッダー内のテキスト ボックスをドラッグします。 テキスト ボックスのサイズをおおよそ横 6 インチ、縦 3/4 インチにして、レポート ヘッダーの左側に配置します。

  5. テキスト ボックスに、「 Sales by Territory、Subcategory、Day」と入力します

  6. 入力したテキストを選択して右クリックし、[ テキストのプロパティ] をクリックします。

    文字を同時に書式設定するには、連続している必要があります。

  7. [ テキストのプロパティ ] ダイアログ ボックスで、[ フォント] をクリックします。

  8. [フォント] ボックスの一覧で [Times New Roman] を選択します。[サイズ][24 pt] を選択し、[色][マルーン] を選択し、[スタイル] で [斜体] を選択します。

  9. OK をクリックします。

  10. [実行] をクリックして、レポートをプレビューします。

レポートのレポート ヘッダーにレポート タイトルが表示されます。

8. レポートを保存する

レポートは、レポート サーバー、SharePoint ライブラリ、またはコンピューターに保存することができます。

このチュートリアルでは、レポートをレポート サーバーに保存します。 レポート サーバーにアクセスできない場合は、レポートをコンピューターに保存します。

レポート サーバーにレポートを保存するには

  1. [レポート ビルダー] ボタンで、[名前を付けて保存] をクリックします。

  2. [ 最近使用したサイトとサーバー] をクリックします。

  3. レポートを保存する権限があるレポート サーバーの名前を選択または入力します。

    "レポート サーバーに接続しています" というメッセージが表示されます。 接続が完了すると、レポート サーバー管理者が既定のレポートの場所として指定したレポート フォルダーの内容が表示されます。

  4. [名前] に表示されている既定の名前を「 SalesByTerritorySubcategory」に変更します。

  5. [保存] をクリックします。

レポートがレポート サーバーに保存されます。 接続するレポート サーバーの名前が、ウィンドウの下部にあるステータス バーに表示されます。

コンピューターにレポートを保存するには

  1. [レポート ビルダー] ボタンで、[名前を付けて保存] をクリックします。

  2. [ デスクトップ]、[ マイ ドキュメント]、または [マイ コンピューター] をクリックし、レポートを保存するフォルダーを参照します。

  3. [名前] に表示されている既定の名前を「 SalesByTerritorySubcategory」に変更します。

  4. [保存] をクリックします。

9. (省略可能) テキスト ボックスを 270 度回転する

マトリックスを含むレポートは、実行すると、水平方向と垂直方向に拡張されます。 テキストボックスを垂直方向に、つまり 270 度回転させると、水平方向のスペースを節約できます。 表示されるレポートは狭くなり、Microsoft Word などの形式にエクスポートされた場合、印刷ページに収まる可能性が高くなります。

テキスト ボックスでも、テキストを水平方向または垂直方向 (上から下) に表示できます。 詳細については、「 テキスト ボックス (レポート ビルダーおよび SSRS)」を参照してください

テキスト ボックスを 270 度回転するには

  1. [ デザイン ] をクリックしてデザイン ビューに戻ります。

  2. を含むセルをクリックします。 [Territory].

  3. [プロパティ] ウィンドウで WritingMode プロパティを見つけ、ドロップダウン リストで [Rotate270] を選択します。

    [プロパティ] ウィンドウが開かない場合は、リボンの [ 表示 ] タブをクリックし、[ プロパティ] を選択します。

  4. CanGrow プロパティが True に設定されていることを確認します。

  5. Territory 列の幅を 1/2 インチに変更し、列のタイトルを削除します。

  6. [実行] をクリックして、レポートをプレビューします。

販売区域名が垂直方向 (上から下) に表示されます。 Territory 行グループの高さは、販売区域名の長さによって変わります。

次のステップ

これで、マトリックス レポートを作成する方法に関するチュートリアルは終了です。 マトリックスの詳細については、「テーブル、マトリックス、およびリスト (レポート ビルダーおよび SSRS)マトリックス (レポート ビルダーおよび SSRS)Tablix データ領域領域 (レポート ビルダーおよび SSRS)Tablix データ領域のセル、行、および列 (レポート ビルダー) および SSRS」を参照してください。

こちらもご覧ください

チュートリアル (レポート ビルダー)
SQL Server 2014 のレポート ビルダー