チュートリアル:レポートへのスパークラインの追加 (Report Builder)
このチュートリアルでは、レポート ビルダーを使用して、Reporting Services のページ分割されたレポートにスパークライン グラフを含む基本的なテーブルを作成します。
スパークラインとデータ バーは、小さい領域で大量の情報を伝達する小さい単純なグラフで、多くの場合、Reporting Services レポートで使用されます。 次の図に、このチュートリアルで作成するものと同様のレポートを示します。
このチュートリアルの推定所要時間:30 分。
必要条件
要件に関する詳細については、「チュートリアルの前提条件 (Report Builder)」を参照してください。
1. テーブルを使用したレポートを作成する
コンピューター、Web ポータル、SharePoint 統合モードのいずれかから レポート ビルダーを起動します Reporting Services 。
[新しいレポートまたはデータセット] ダイアログ ボックスが開きます。
[新しいレポートまたはデータセット] ダイアログ ボックスが表示されない場合、[ファイル] メニュー >[新規作成] を選択します。
左ペインで、 [新しいレポート] が選択されていることを確認します。
右ペインで、 [テーブルまたはマトリックス ウィザード] をクリックします。
[データセットの選択] ページで、 [データセットを作成する]>[次へ] の順に選択します。 [データ ソースへの接続の選択] ページが開きます。
Note
このチュートリアルでは、特定のデータは必要ありません。SQL Server データベースへの接続だけが必要です。 [データ ソース接続] の一覧に既にデータ ソース接続が表示されている場合は、データ ソース接続を選択して手順 10 に進みます。 詳細については、「別の方法でデータ接続を取得する (Report Builder)」を参照してください。
新規を選択します。 [データ ソースのプロパティ] ダイアログ ボックスが表示されます。
[名前] に、データ ソースの名前として「Product Sales」と入力します。
[接続の種類の選択] で、 [Microsoft SQL Server] が選択されていることを確認します。
[接続文字列] に次のテキストを入力します。
Data Source\=<servername>
式
<servername>
には、たとえば Report001 など、SQL Server データベース エンジンのインスタンスがインストールされているコンピューターを指定します。 レポート データは SQL Server のデータベースから抽出されるものではないので、データベース名を含める必要はありません。 指定したサーバー上の既定のデータベースを使用して、クエリが解析されます。[Credentials](資格情報) を選択します。 外部データ ソースへのアクセスに必要な資格情報を入力します。
[OK] を選択します。
[データ ソースへの接続の選択] ページに戻ります。
データ ソースに接続できることを確認するために、[接続テスト] を選択します。
"接続が正常に作成されました" というメッセージが表示されます。
[OK] を選択します。
[次へ] を選択します。
2. テーブルウィザードでクエリおよびテーブルレイアウトを作成する
レポートでは、クエリが事前に定義された共有データセットを使用するか、そのレポートでのみ使用する埋め込みデータセットを作成できます。 このチュートリアルでは、埋め込みデータセットを作成します。
Note
このチュートリアルのクエリにはデータ値が含まれているため、外部データ ソースを必要としません。 このため、クエリが非常に長くなっています。 ビジネス環境でクエリにデータを含めることはありません。 これは、学習に使用することのみを目的としています。
テーブルウィザードでクエリおよびテーブルレイアウトを作成する
[クエリのデザイン] ページでは、リレーショナル クエリ デザイナーが開きます。 このチュートリアルでは、テキストベースのクエリ デザイナーを使用します。
[テキストとして編集] を選択します。 テキスト ベースのクエリ デザイナーは、クエリ ペインと結果ペインで構成されています。
[クエリ] ボックスに次の Transact-SQL クエリを貼り付けます。
SELECT CAST('2015-01-04' AS date) as SalesDate, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(16996.60 AS money) AS Sales, 68 as Quantity UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(1350.00 AS money) AS Sales, 18 as Quantity UNION SELECT CAST('2015-01-10' AS date) as SalesDate, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(1147.50 AS money) AS Sales, 17 as Quantity UNION SELECT CAST('2015-01-04' AS date) as SalesDate, 'Accessories' as Subcategory, 'Budget Movie-Maker' as Product, CAST(1056.00 AS money) AS Sales, 44 as Quantity UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Accessories' as Subcategory, 'Slim Digital' as Product, CAST(1380.00 AS money) AS Sales, 18 as Quantity UNION SELECT CAST('2015-01-05' AS date) as SalesDate,'Accessories' as Subcategory, 'Budget Movie-Maker' as Product, CAST(780.00 AS money) AS Sales, 26 as Quantity UNION SELECT CAST('2015-01-07' 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('2015-01-08' AS date) as SalesDate, 'Camcorders' as Subcategory, 'Budget Movie-Maker' as Product, CAST(10400.00 AS money) AS Sales, 13 as Quantity UNION SELECT CAST('2015-01-09' AS date) as SalesDate, 'Camcorders' as Subcategory, 'Budget Movie-Maker' as Product, CAST(3000.00 AS money) AS Sales, 60 as Quantity UNION SELECT CAST('2015-01-10' AS date) as SalesDate, 'Digital' as Subcategory, 'Budget Movie-Maker' as Product, CAST(7234.50 AS money) AS Sales, 39 as Quantity UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Digital' as Subcategory, 'Carrying Case' as Product, CAST(10836.00 AS money) AS Sales, 84 as Quantity UNION SELECT CAST('2015-01-07' AS date) as SalesDate, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(2550.00 AS money) AS Sales, 17 as Quantity UNION SELECT CAST('2015-01-04' AS date) as SalesDate, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(8357.80 AS money) AS Sales, 44 as Quantity UNION SELECT CAST('2015-01-08' AS date) as SalesDate, 'Digital SLR' as Subcategory, 'Slim Digital' as Product, CAST(18530.00 AS money) AS Sales, 34 as Quantity UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Digital SLR' as Subcategory, 'Slim Digital' as Product, CAST(26576.00 AS money) AS Sales, 88 as Quantity
クエリ デザイナーのツール バーで、[実行 (!)] を選択します。
SalesDate、 Subcategory、 Product、 Sales、および Quantityの各フィールドを取得するクエリが実行され、結果セットが表示されます。
[次へ] を選択します。
[フィールドの配置] ページで、 Sales を [値] にドラッグします。
Sales は Sum 関数を使用して集計されます。 値は [Sum(Sales)] です。
Product を [行グループ] にドラッグします。
SalesDate を [列グループ] にドラッグします。
[次へ] を選択します。
[レイアウトの選択] ページの [オプション] で、 [小計と総計を表示] が選択されていることを確認します。
ウィザードのプレビュー ペインに、3 行を含むテーブルが表示されます。 レポートを実行すると、各行は次のように表示されます。
1 行目はテーブルで 1 回表示され、列見出しを示します。
2 行目は製品ごとに 1 回表示され、製品名、1 日あたりの合計、および行の合計を示します。
3 行目のテーブルで 1 回表示され、総計を示します。
[次へ] を選択します。
[完了] を選択します。
テーブルがデザイン画面に追加されます。 テーブルには 3 列および 5 行が含まれています。
グループ化ペインを確認します。 グループ化ウィンドウが表示されない場合、[表示] メニューの [グループ化] を選択します。 行グループ ペインには 1 つの行グループProduct が表示されます。 列グループ ペインには 1 つ列グループSalesDate が表示されます。 詳細データは、データセットクエリによって取得されるすべてのデータです。
[実行] を選択してレポートをプレビューします。
2a. データを通貨として書式設定する
既定では、 Sales フィールドの集計データは通常の数値として表示されます。 このフィールドを書式設定して、数値を通貨として表示します。 書式設定したテキスト ボックスおよびプレースホルダー テキストのサンプル値を表示するには、 [プレースホルダーのスタイル] の設定を切り替えます。
デザイン ビューに切り替えるには、[デザイン] を選択します。
[SalesDate] 列の 2 行目 (列見出しの次の行) のセルを選択します。 Ctrl キーを押しながら、
[Sum(Sales)]
を含むすべてのセルを選択します。[ホーム] タブの >[数値] グループで、[通貨] を選択します。 書式設定された通貨を表示するようにセルが変化します。
地域設定が英語 (米国) の場合、既定のサンプル テキストは [$12,345.00] です。 通貨値の例が表示されない場合は、[数値] グループで、[プレースホルダーのスタイル]>[サンプルの値] の順に選択します。
2b. (オプション) データを日付として書式設定する
既定では、 SalesDate フィールドには日付と時刻の情報が表示されます。 このフィールドを書式設定して、日付のみを表示できます。
[SalesDate]
が格納されたセルを選択します。[ホーム] タブで、[数値] グループ > [日付] の順に選択します。
セルに、日付の例として [2000/1/31] と表示されます。
[実行] を選択してレポートをプレビューします。
SalesDate の値は既定の日付形式で表示され、 Sales の集計値は通貨の形式で表示されます。
3. スパークラインを追加する
[デザイン] を選択してデザイン ビューに戻ります。
テーブルの合計列を選択します。
右クリックをします。 [列の挿入] をポイントし、[左] を選択します。
新しい列の
[Product]
行のセルを右クリックし、[挿入]、[スパークライン] の順にクリックします。[スパークラインの種類を選択] で、[列] 行の最初のスパークラインが選択されていることを確認してから、[OK] を選択します。
スパークラインを選択して、グラフ データ ペインを表示します。
[値] ボックスのプラス記号 (+) を選択してから、[Sales] を選択します。
Sales フィールドの値がスパークラインの値になります。
[カテゴリ グループ] ボックスのプラス記号 (+) を選択してから、[SalesDate]を選択します。
[実行] を選択してレポートをプレビューします。
スパークライン グラフ内のバーが揃っていません。 データの 2 行目のバーは 4 本しかないので、バーが 6 本ある最初の行のバーよりも太くなっています。 1 日あたりの各製品の値を比較できません。 整列する必要があります。
また、どの行も、最も高いバーが行の高さになっています。 この外観では、各行の最大値は同じではないので、誤解を招きます。たとえば、Budget Movie-Maker の最大の値は 10,400 ドルですが、Slim Digital の最大の値は 26,576 ドルで 2 倍以上あります。 ところが、これらの 2 つの行の最も高いバーはほぼ同じ高さになっています。 すべてのスパークラインで、同じスケールを使用する必要があります。
4. スパークラインを垂直方向および水平方向に揃える
スパークラインは、測定方法が異なると、読み取りにくくなります。 各スパークラインの縦軸と横軸は、残りのスパークラインと一致させる必要があります。
[デザイン] を選択してデザイン ビューに戻ります。
スパークラインを右クリックし、[縦軸のプロパティ] を選択します。
[軸を整列する] チェック ボックスをオンにします。 Tablix1 は、リスト内の唯一のオプションです。
このオプションによって、各スパークラインのバーの高さが相対的に設定されます。
[OK] を選択します。
スパークラインを右クリックし、[横軸のプロパティ] を選択します。
[軸を整列する] チェック ボックスをオンにします。 Tablix1 は、リスト内の唯一のオプションです。
このオプションによって、各スパークラインのバーの幅が相対的に設定されます。 あるスパークラインで他のスパークラインよりバーの数が少ない場合は、そのスパークラインのデータがない位置は空白のスペースになります。
[OK] を選択します。
[実行] を選択してレポートを再度プレビューします。
これで、各スパークライン内のすべてのバーが、他のスパークライン内のバーと揃えられ、高さが相関的になりました。
7. (オプション) 列幅を変更する
テーブルの各セルには、既定でテキスト ボックスが含まれます。 テキスト ボックスは、ページを表示するときにテキストに合わせて垂直方向に拡張されます。 表示されるレポートでは、各行がその行で最も高いテキスト ボックスの高さに拡張されます。 デザイン サーフェイスの行の高さは、表示されるレポートの行の高さには影響しません。
各行の垂直方向の領域を小さくするには、列の幅を広げ、列で想定されるテキスト ボックスの内容が 1 行に収まるようにします。
列の幅を変更する
[デザイン] を選択してデザイン ビューに戻ります。
テーブルを選択し、灰色のバーをテーブルの上部および横に表示します。 これらのバーは、列および行のハンドルです。
列ハンドルの間の罫線をポイントします。カーソルが 2 方向の矢印の形状に変化します。 たとえば、製品名が 1 行に表示されるように Product 列をドラッグします。
[実行] を選択し、レポートをプレビューして、列の幅が十分に広くなったかどうかを確認します。
8. (オプション) レポートタイトルを追加する
レポート タイトルは、レポートの最上部に表示されます。 レポート ヘッダーがあれば、そこにレポート タイトルを配置します。レポート ヘッダーを使用しない場合は、レポート本文の一番上のテキスト ボックスに配置します。 このチュートリアルでは、自動的にレポート本文の一番上に配置されるテキスト ボックスを使用します。
テキストの語句や文字のフォントのスタイル、サイズ、および色を変更して、テキストをさらに強調することもできます。 詳細については、「ページ分割されたレポートのテキスト ボックス内のテキストの書式設定 (Report Builder)」を参照してください。
レポート タイトルの追加
デザイン サーフェイスで、[選択してタイトルを追加] を選択します。
Sales by Date と入力し、テキスト ボックスの外側を選択します。
Product Salesを含むテキスト ボックスを選択します。
[ホーム] タブで、[フォント] グループ、[色] の順に進み、[青緑] を選択します。
[太字] を選択します。
[OK] を選択します。
9. レポートを保存する
レポートをレポート サーバーまたは自分のコンピューターに保存します。 レポートをレポート サーバーに保存しない場合は、サブレポートなど Reporting Services のいくつかの機能が使用できなくなります。
レポート サーバーにレポートを保存する
レポート ビルダー ボタンで、[名前を付けて保存] を選びます。
[最近使ったサイトとサーバー] を選択します。
レポートを保存する権限があるレポート サーバーの名前を入力するか選択します。
"レポート サーバーに接続しています" というメッセージが表示されます。 接続が完了すると、レポート サーバー管理者がレポートの既定の場所として指定したレポート フォルダーのコンテンツが表示されます。
[名前] に入力されている既定の名前を「 Product Sales」に置き換えます。
[保存] を選択します。
レポートがレポート サーバーに保存されます。 接続しているレポート サーバーの名前がウィンドウ下部のステータス バーに表示されます。
コンピューターにレポートを保存する
レポート ビルダー ボタンで、[名前を付けて保存] を選びます。
[デスクトップ] 、[マイ ドキュメント] 、または [マイ コンピューター] を選択して、レポートを保存するフォルダーを参照します。
[名前] に入力されている既定の名前を「 Product Sales」に置き換えます。
[保存] を選択します。