チュートリアル:基本的な表レポートの作成 (Report Builder)
SQL Server Reporting Services (SSRS) のレポート ビルダーを使用して、SQL データのテーブル レポートを作成できます。 このチュートリアルでは、サンプルの売上データから基本的な表レポートを作成する方法を説明します。
このチュートリアルでは、次の作業を行いました。
- ウィザードの手順に従ってテーブル レポートを作成する
- テーブル データの埋め込みソースを識別する
- クエリを実行してデータ値を取得する
- テーブル データを整理して書式設定し、合計を追加する
- レポートをデザインして保存する
- エクスポートしたレポートを Microsoft Excel で確認する
このチュートリアルを完了する推定所要時間は 20 分です。
次の図に、このチュートリアルで作成するテーブル レポートを示します。
前提条件
要件に関する詳細については、「チュートリアルの前提条件 (Report Builder)」を参照してください。
テーブルまたはマトリックス ウィザードを使用してレポートを作成する
テーブルまたはマトリックス ウィザードを使用してテーブル レポートを作成します。 ウィザードには、Report と Shared データセットの 2 つのデザイン モードがあります。 レポート デザイン モードでは、レポート データ ペインでデータを指定し、デザイン サーフェイスでレポート レイアウトを指定します。 共有データセット デザイン モードでは、他のユーザーと共有するデータセット クエリを作成します。 このチュートリアルでは、レポート デザイン モードを使用します。
ウィザードを起動し、基本的なテーブル レポートを作成します。
コンピュータ、Reporting Services Web ポータル、SharePoint 統合モードのいずれかからレポート ビルダーを起動します。
[新しいレポートまたはデータセット] ダイアログが開きます。 ダイアログボックスが開かない場合は、[ファイル]>[新規] を選択します。
[新しいレポート] タブを選択し、右側のウィンドウの [テーブルまたはマトリックス ウィザード] を選択します。
データ接続を指定する
データ接続には、 SQL Server データベースなどの外部データ ソースに接続するときに必要な情報が含まれます。 通常、使用する接続情報と資格情報の種類はデータ ソースの所有者から提供されます。 データ接続を指定するには、レポート サーバーの共有データ ソースを使用するか、このレポートでのみ使用する埋め込みデータ ソースを作成します。
このチュートリアルでは、埋め込みデータ ソースを使用します。 共有データ ソースの使用方法の詳細については、「別の方法でデータ接続を取得する (Report Builder)」を参照してください。
データ接続用の埋め込みデータ ソースを作成します。
[データセットの選択] ページで [データセットの作成] オプションを選択してから、[次へ] を選択します。
[データ ソースへの接続の選択] ページで、[新規] を選択します。
[データ ソースのプロパティ] ダイアログで、[全般] タブで次のプロパティを設定します。
データ ソースの [名前] プロパティを Product_Sales に設定します。
[接続の種類の選択] プロパティで、Microsoft SQL Server が選択されていることを確認します。
[接続文字列] プロパティに、
<servername>
は SQL Server のインスタンス名として次の値を入力します。Data Source=<servername>
データベースからデータを取得するのではなく、データを指定するクエリを使用するため、接続文字列にデータベース名は含まれません。 詳細については、「チュートリアルの前提条件 (Report Builder)」を参照してください。
[資格情報] タブに切り替え、データ ソースの優先アクセス方法を選択します。 必要に応じて、資格情報を入力します。
[全般] タブで、[テスト接続] を選択して、データ ソースに接続できることを確認します。
"接続が正常に作成されました" というポップアップ メッセージが表示されます。[OK] を選択してポップアップ メッセージをオフにします。
データ ソースのセットアップを完了するには、[OK] を選択します。
ウィザードで続行するには、[次へ] を選択します。
クエリを作成する
レポートでは、クエリが事前に定義された共有データセットを使用するか、特定のレポートでのみ使用する埋め込みデータセットを作成できます。 このチュートリアルでは、埋め込みデータセットを作成します。
Note
チュートリアルの例では、クエリにデータ値が含まれているため、外部データ ソースを必要としません。 この方法ではクエリが非常に長くなりますが、学習目的に役立ちます。 標準のビジネス環境では、クエリにデータ値が含まれません。
次の手順に従ってクエリを作成します。
[クエリのデザイン] ページでは、リレーショナル クエリ デザイナーが開きます。 このチュートリアルでは、テキストベースのクエリ デザイナーを使用します。
[テキストとして編集] を選択します。 テキスト ベースのクエリ デザイナーは、クエリ ペインと結果ペインで構成されています。
上部のフィールドに次の Transact-SQL クエリを貼り付けます。
SELECT CAST('2009-01-05' AS date) as SalesDate, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(9924.60 AS money) AS Sales, 68 as Quantity UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'Accessories' as Subcategory, 'Tripod' as Product, CAST(1350.00 AS money) AS Sales, 18 as Quantity UNION SELECT CAST('2009-01-11' AS date) as SalesDate, '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, 'Accessories' as Subcategory, 'Mini Battery Charger' as Product, CAST(1056.00 AS money) AS Sales, 44 as Quantity UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'Accessories' as Subcategory, 'Telephoto Conversion Lens' as Product, CAST(1380.00 AS money) AS Sales, 18 as Quantity UNION SELECT CAST('2009-01-06' AS date) as SalesDate,'Accessories' as Subcategory, 'USB Cable' as Product, CAST(780.00 AS money) AS Sales, 26 as Quantity UNION SELECT CAST('2009-01-08' AS date) as SalesDate, 'Accessories' as Subcategory, 'Budget Movie-Maker' as Product, CAST(3798.00 AS money) AS Sales, 9 as Quantity UNION SELECT CAST('2009-01-09' AS date) as SalesDate, 'Camcorders' as Subcategory, 'Business Videographer' as Product, CAST(10400.00 AS money) AS Sales, 13 as Quantity UNION SELECT CAST('2009-01-10' AS date) as SalesDate, 'Camcorders' as Subcategory, 'Social Videographer' as Product, CAST(3000.00 AS money) AS Sales, 60 as Quantity UNION SELECT CAST('2009-01-11' AS date) as SalesDate, 'Digital' as Subcategory, 'Advanced Digital' as Product, CAST(7234.50 AS money) AS Sales, 39 as Quantity UNION SELECT CAST('2009-01-07' AS date) as SalesDate, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(10836.00 AS money) AS Sales, 84 as Quantity UNION SELECT CAST('2009-01-08' AS date) as SalesDate, 'Digital' as Subcategory, 'Consumer Digital' as Product, CAST(2550.00 AS money) AS Sales, 17 as Quantity UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(8357.80 AS money) AS Sales, 44 as Quantity UNION SELECT CAST('2009-01-09' AS date) as SalesDate, 'Digital SLR' as Subcategory, 'SLR Camera 35mm' as Product, CAST(18530.00 AS money) AS Sales, 34 as Quantity UNION SELECT CAST('2009-01-07' AS date) as SalesDate, 'Digital SLR' as Subcategory, 'SLR Camera' as Product, CAST(26576.00 AS money) AS Sales, 88 as Quantity
クエリ デザイナーのツール バーで、[実行 (!)] を選択します。
SalesDate、Subcategory、Product、Sales、および Quantity の各フィールドを取得するクエリが実行され、結果セットが表示されます。
結果セットの列見出しはクエリの名前に基づきます。 データセットの列見出しはフィールド名になり、レポートに保存されます。 ウィザードを完了した後、レポート データ ペインを使用してデータセットフィールドのコレクションを表示できます。
ウィザードで続行するには、[次へ] を選択します。
データをグループにまとめる
グループを形成するデータ フィールドを選択する場合、詳細データおよび集計データを表示する行と列を含むテーブルをデザインします。 次の手順では、最初の 2 つの手順でテーブルに表示するデータ値を指定し、最後の 2 つの手順で値を整理します。
[フィールドの配置] ページでテーブル データをグループに整理します。
[使用できるフィールド] ボックスから、[製品] フィールドと [数量] フィールドを [値] ボックスにドラッグします。 [製品] フィールドの後に [数量] フィールドを配置します。
数量データは、Sum 関数 (数値フィールドの既定の集計関数) によって自動的に集計されます。 値は [Sum(Quantity)] です。
ヒント
[Sum (Quantity)] 集計の横のドロップダウンの矢印を選択し、その他の集計関数を表示します。 この演習では、集計関数は Sum のままにします。
[Sales] フィールドを [値] ボックスにドラッグし、[Sum (Quantity)] 集計の後に配置します。
売上データは Sum 関数によって集計されます。 値は [Sum(Sales)] です。
[SalesDate] フィールドと [Subcategory] フィールドを [行グループ] ボックスにドラッグします。 [下位カテゴリ] フィールドを [SalesDate] フィールドの後に配置します。
ウィザードで続行するには、[次へ] を選択します。
小計と集計行を追加する
グループを作成したら、フィールドの集計値を表示する行を追加して書式を設定できます。 すべてのデータを表示するか、グループ化されたデータの展開と折りたたみをユーザーが対話的に行えるようにするかを選択できます。
テーブル データの小計と合計を追加するには、次の手順に従います。
[レイアウトの選択] ページの [オプション] で、次のオプションを構成します。
[小計と総計の表示]オプションを選択します。
[ブロック、小計は下] オプションを選択します。
[グループの展開/折りたたみ] オプションをオフにします。
このチュートリアルで作成するレポートでは、ユーザーが親グループ階層を展開して子グループ行および詳細行を表示できるようにするドリル ダウン機能は使用されません。
[次へ] を選択して、プレビュー ウィンドウでテーブルを確認します。 レポートを実行すると、テーブル レイアウトを示す 5 つの行が表示されます。
1 行目はテーブルで 1 回繰り返され、列見出しを示します。
2 行目は販売注文の行アイテムごとに 1 回表示され、製品名、注文数量、および行の合計を示します。
3 行目は販売注文カテゴリごとに 1 回表示され、カテゴリあたりの小計を示します。
4 行目は注文日ごとに 1 回表示され、1 日あたりの小計を示します。
5 行目はテーブルで 1 回繰り返され、総計を示します。
完了 を選択します。
レポート ビルダーを使って、デザイン サーフェイスにテーブルを追加します。 テーブルには 5 列 5 行が含まれています。 [行グループ] ウィンドウには 3 つの行グループが表示されます。SalesDate、Subcategory、Details です。 詳細データは、データセットクエリによって取得されるすべてのデータです。
ウィザードのプロセスが完了し、サンプル データを含むテーブル レポートが作成されました。 次のセクションでは、特定のテーブル データを書式設定して、リーダーに役立つフォームに値を表示します。
テーブル データの形式の設定
レポート ビルダーは、数値、日付、時刻などの既定の形式を使用して、レポート内のテーブル データ値を表示します。 [ホーム] タブの書式設定機能を使用して、テーブル データの表示方法を変更できます。
通貨値を一般的な数値ではなく、現地通貨で書式設定すると便利です。 もう 1 つのシナリオは、短期間の値の変化を要約したテーブル データです。 データを分単位または時間単位でのみ表示し、月、日、年も表示しない方が便利です。
次のセクションでは、書式設定機能を使用して、レポートでのテーブルの日付の表示方法を変更する方法について説明します。 書式付きテキスト ボックスとプレースホルダー テキストは、デザイン ビューのサンプル値として表示されます。
通貨値を表示する
既定では、[Sales] フィールドの集計データは、テーブル レポートで通常の数値として表示されます。 通貨形式を適用することで、値をより適切に表現できます。
テーブル データを通貨として書式設定するには、次の手順に従います。
レポート ビルダーで、テーブル レポートの Sales 列ヘッダーを選択します。
[ホーム] タブの [数値] グループで、[プレース ホルダー スタイル] ([123]) を選択し、[サンプル値] を選択します。
テーブル レポートの Sales 列で、
[Sum(Sales)]
値を含む 4 つのセルを複数選択します。[ホーム] タブの [数値] グループで、[通貨] ($) を選択します。 選択したセルは、通貨形式を使用してデータ値を表示するように変更されます。
地域設定が英語 (米国) の場合、既定のサンプル テキストはドル
[$12,345.00]
の値を示します。通貨値の例が表示されない場合は、セルのプレースホルダー スタイルを確認します。 [ホーム] タブの [数値] グループで、[プレースホルダー スタイル] ([123]) オプションが [サンプル値]に設定されていることを確認します。
[ホーム] タブで [実行] を選択して、レポートをプレビューします。
[売上] 列の集計値が通貨として表示されたことを確認します。 レポートの例を次に示します。
日付の表示 (月、日、年)
既定では、[SalesDate] フィールドには日付 (月、日、年) と時刻 (時間、分、秒) の両方のデータが表示されます。 これらの値の形式を変更して、日付のみを表示することができます。
日付のみを表示するように値を書式設定します。
[実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。
テーブル レポートで、
[SalesDate]
値を含むセルを選択します。[ホーム] タブの [数値] グループで、形式ドロップダウン メニューを展開し、[日付] を選択します。
セルに、日付の例として
[1/31/2000]
と表示されます。日付値の例が表示されない場合は、プレースホルダーのスタイルを確認してください。 [ホーム] タブの [数値] グループで、[プレースホルダー スタイル] ([123]) オプションが [サンプル値]に設定されていることを確認します。
[ホーム] タブで [実行] を選択して、レポートをプレビューします。
SalesDate 列の値が日付 (月、日、年) としてのみ表示されるようにします。 レポートの例を次に示します。
カスタム日付形式を使用する
また、テーブル内の特定のフィールドに対してカスタム書式設定を指定することもできます。
[実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。
テーブル レポートで、以前に
[SalesDate]
値が含まれていたセルに移動します。セルを右クリックして、[テキスト ボックスのプロパティ] を選択します。
[テキスト ボックスのプロパティ] ダイアログで、セルの書式設定を構成します。
タブ ウィンドウで [数値] を選択します。
[カテゴリ] リストで、[日付] を選択します。
[型] リストで [2000 年 1 月 31 日] を選択します。
サンプル セクションには、書式設定構成のプレビューが表示されます。
[OK] を選択して、カスタム書式設定を適用します。
テーブル セルが更新され、日付
[January 31, 2000]
の例が表示されます。[ホーム] タブで [実行] を選択して、レポートをプレビューします。
SalesDate 列の値に、月番号ではなく月の名前が表示されていることを確認します。 レポートの例を次に示します。
テーブルの書式を設定する
テーブル内のデータに特定の形式を適用するだけでなく、列の幅、行の高さ、テーブル タイトルなど、全体の属性を構成することもできます。 次のセクションでは、これらの手順について説明します。
列の幅を変更する
テーブルの各セルには、既定でテキスト ボックスが含まれます。 テキスト ボックスは、ページを表示するときにテキストに合わせて垂直方向に拡張されます。 表示されるレポートでは、各行がその行で最も高いテキスト ボックスの高さに拡張されます。 デザイン サーフェイスの行の高さは、表示されるレポートの行の高さには影響しません。
各行の垂直方向の領域を小さくするには、列の幅を広げ、列で想定されるテキスト ボックスの内容が 1 行に収まるようにします。
テーブル列の幅を変更するには、次の手順に従います。
[実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。
デザイン サーフェイスで、テーブルを選択し、行ハンドルおよび列ハンドルを表示します。 ハンドルは、テーブルの端に沿って灰色のバーで表示されます。
ハンドルを長押ししてドラッグすると、テーブルの幅が広がります。
ヒント
デザイン サーフェイスの幅を広げて、テーブルで作業するための表示領域を広げることができます。 テーブルがデザイン サーフェイスよりも広い場合は、スクロール バーを使用してテーブル全体を表示する必要があります。
下位カテゴリ列と製品列の間の線をポイントして、二重矢印カーソルを表示します。
線を選択してドラッグし、[Product] 列の幅を広げます。 列の製品名が表示レポートの 1 行に表示されるように幅を広げます。
[ホーム] タブで [実行] を選択して、レポートをプレビューします。
[製品] 列の値が 1 行に表示されていることを確認します。 レポートの例を次に示します。
レポート タイトルのカスタマイズ
レポート タイトルは、レポートの最上部に表示されます。 レポート ヘッダーにレポート タイトルを配置できます。 レポートでヘッダーを使用しない場合は、レポート本文の一番上のテキスト ボックスにタイトルを配置できます。 このチュートリアルでは、自動的にレポート本文の一番上に配置されるテキスト ボックスを使用します。
さまざまなフォント スタイル、テキスト サイズ、色の使用など、レポート タイトルをカスタマイズする方法は多数あります。 タイトルの一部と個々の文字は、個別の書式設定を使用できます。 詳細については、「ページ分割されたレポートのテキスト ボックス内のテキストの書式設定 (Report Builder)」を参照してください。
レポート タイトルをカスタマイズするには、次の手順に従います。
[実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。
デザイン サーフェイスで、[選択してタイトルを追加] テキスト ボックスを選択します。
[選択してタイトルを追加] テキスト ボックスに、テキスト [製品の売上] を入力し、テキスト ボックスの外側を選択します。
テキスト ボックスを右クリックして、[テキスト ボックスのプロパティ] を選択します。
[テキスト ボックスのプロパティ] ダイアログで、テキストの書式設定を構成します。
タブ ウィンドウで [フォント] を選択します。
[フォント] リストで [Arial] を選択します。
[サイズ] ボックスの一覧の [18pt] を選択します。
[色] ボックスの一覧の [青] を選択します。
[スタイル]で、[Bold] を選択します。
サンプル セクションには、書式設定構成のプレビューが表示されます。
[OK] を選択してタイトルの書式設定を適用します。
[ホーム] タブで [実行] を選択して、レポートをプレビューします。
テーブルに更新されたタイトルが表示されたことを確認します。
レポートの保存
レポートをレポート サーバーまたは自分のコンピューターに保存します。 レポートをレポート サーバーに保存しない場合は、サブレポートなど Reporting Services のいくつかの機能が使用できなくなります。
レポート サーバーにレポートを保存するには、次の手順に従います。
[ファイル] > [名前を付けて保存] を選びます。
[レポートとして保存] ダイアログで、右側のウィンドウの [最近使ったサイトとサーバー] を選択します。
レポートを保存する権限があるレポート サーバーの名前を入力するか選択します。
"レポート サーバーに接続しています" というメッセージが表示されます。 接続が完了すると、既定のレポート フォルダーが開きます。 レポート サーバー管理者は、既定フォルダーの場所を指定します。
レポート [名前] の既定値 Untitled を Product_Salesに置き換えます。
[保存] を選択します。
レポートがレポート サーバーに保存されます。 接続しているレポート サーバーの名前がウィンドウ下部のステータス バーに表示されます。
コンピューターにレポートを保存する
コンピュータにレポートを保存することもできます。
[ファイル] > [名前を付けて保存] を選びます。
[デスクトップ] 、[マイ ドキュメント] 、または [マイ コンピューター] を選択して、レポートを保存するフォルダーを参照します。
レポート [名前] の既定値 Untitled を Product_Salesに置き換えます。
[保存] を選択します。
レポートをエクスポートする
レポートは、Microsoft Excel や CSV (コンマ区切り) ファイルなど、別の形式にエクスポートすることができます。 詳しくは、「ページ分割されたレポートのエクスポート (Report Builder)」を参照してください。
このチュートリアルでは、レポートを Excel にエクスポートします。また、レポートのプロパティを設定して、ブック見出しに独自の名前を指定します。
Excel ブックのタブ名を設定する
Excel ブックのタブ名を指定するには、次の手順に従います。
[デザイン] を選択してデザイン ビューに戻ります。
[表示] タブを選択し、[プロパティ] を選択して、[プロパティ] ウィンドウを公開します。
デザイン サーフェイスで、テーブル レポート外の任意の場所を選択します。
[プロパティ] ペインに表示される項目は、デザイン サーフェイスで選択した場所に対応します。 この手順では、レポート領域外を選択します。
[プロパティ] ウィンドウで、[その他] グループを展開し、InitialPageName プロパティを検索します。
ヒント
[プロパティ] ウィンドウにプロパティが表示されない場合、ウィンドウ上部の [アルファベット] を選択し、すべてのプロパティをアルファベット順に並べ替えます。
InitialPageName プロパティに、ブックのタブ名「Product Sales Excel」と入力します。
レポートを Excel にエクスポートする
次の手順でレポートを Excel にエクスポートします。
[ホーム] タブで [実行] を選択して、レポートをプレビューします。
ツール バーの [エクスポート]>[Excel] を選択します。
[名前を付けて保存] ダイアログで、ファイルの保存先に進みます。
[ファイル名] に「Product_Sales_Excel」と入力します。
ファイルの種類が Excel (*.xlsx) であることを確認します。
[保存] を選択します。
Excel でレポートを表示する
これで、Excel でテーブル レポートを表示できるようになりました。
ブックを保存するフォルダーを開き、Product_Sales_Excel.xlsx ファイルをダブルクリックします。
ブック タブの名前が「Product Sales Excel」であることを確認します。