...

SQL Server 2012 自習書シリーズ No.9

by user

on
Category: Documents
75

views

Report

Comments

Transcript

SQL Server 2012 自習書シリーズ No.9
SQL Server 2012 自習書シリーズ No.9
Reporting Services によるレポート作成(中)
初版: 2008 年 3 月 12 日
SQL Server 2012 更新版: 2012 年 9 月 30 日
有限会社エスキューエル・クオリティ
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
この文章に含まれる情報は、公表の日付の時点での Microsoft Corporation の考え方を表しています。市場の変化に応える必要
があるため、Microsoft は記載されている内容を約束しているわけではありません。この文書の内容は印刷後も正しいとは保障で
きません。この文章は情報の提供のみを目的としています。
Microsoft、SQL Server、Visual Studio、Windows、Windows XP、Windows Server、Windows Vista は Microsoft Corporation
の米国およびその他の国における登録商標です。
その他、記載されている会社名および製品名は、各社の商標または登録商標です。
© Copyright 2012 Microsoft Corporation. All rights reserved.
2
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
目次
本自習書の内容について ..................................................................................................... 6
STEP 6.
Tablix レポートの 基本操作 ................................................................................... 7
6.1
この Step で行う作業 .............................................................................................. 8
6.2
ウィザードを利用せずにマトリックスを作成するには ...................................................... 9
6.3
Tablix のセルのフォント、配置、背景色、罫線を設定する ............................................... 17
6.4
Tablix のグループ化の操作 ....................................................................................... 18
6.5
グループを入れ子にするには(子グループを追加するには) .............................................20
6.6
ドリルダウンの設定 ................................................................................................ 24
6.7
隣接グループを追加するには ..................................................................................... 28
6.8
列を挿入(追加)するには ........................................................................................ 32
6.9
列を削除するには ................................................................................................... 34
6.10
行を挿入するには ................................................................................................ 36
6.11
子グループに合計を追加するには ............................................................................ 38
6.12
セルの結合/分割を行うには .................................................................................. 40
6.13
テキスト ボックスの編集(リッチ テキスト ボックス) ..............................................42
6.14
テーブル(表)形式レポートの作成 ......................................................................... 43
6.15
テーブルへのグループの追加 .................................................................................. 48
STEP 7.
データバー、インジケーター、 スパークラインの利用 ................................................. 51
7.1
データバー、インジケーター、スパークライン .............................................................. 52
7.2
データバーの追加 ................................................................................................... 58
7.3
インジケーターの追加 ............................................................................................. 62
7.4
スパークラインの追加 ............................................................................................. 65
STEP 8.
パラメーターの利用 ............................................................................................. 70
8.1
作成するレポート(商品区分ごとの売上レポート) ........................................................ 71
8.2
区分コードのパラメーター化 ..................................................................................... 72
8.3
パラメーター値をレポートへ表示 ............................................................................... 82
8.4
ドロップダウン リストによるパラメーターの選択.......................................................... 84
8.5
ラベル フィールドをレポートへ表示 ........................................................................... 90
8.6
パラメーターの複数選択........................................................................................... 92
8.7
レポート サーバーへレポートの保存 ........................................................................... 97
8.8
ジャンプ レポートの作成 ....................................................................................... 101
STEP 9.
レポート サーバーの構成 と URL アクセス構文 ...................................................... 106
9.1
レポート サーバーの構成 ....................................................................................... 107
9.2
レポート サーバーの構成を後から設定する方法 .......................................................... 111
9.3
レポート マネージャーでのレポートの管理 ................................................................ 117
9.4
URL アクセス構文とは .......................................................................................... 120
9.5
URL アクセス構文でのレポートの表示: rs:Command=Render ................................... 121
9.6
URL アクセス構文でのパラメーターの指定 ................................................................ 124
9.7
そのほかの URL アクセス構文 ................................................................................ 126
3
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
9.8
URL アクセス構文でのレポートの出力形式の指定 ........................................................ 128
STEP 10. アプリケーションからの利用 ................................................................................ 130
10.1
この Step で作成するアプリケーション ................................................................. 131
10.2
ReportViewer コントロールからのアクセス ........................................................... 132
10.3
パラメーターの指定 ........................................................................................... 138
10.4
ASP.NET Web フォームからのアクセス ................................................................. 140
STEP 11. グラフの各要素 のカスタマイズ ........................................................................... 144
11.1
この Step で説明する内容 .................................................................................. 145
11.2
ウィザードを利用しないグラフの作成 .................................................................... 147
11.3
3D を有効化して見栄えを良くする........................................................................ 152
11.4
グラフのタイトルの見栄えを良くする .................................................................... 154
11.5
グラデーションやパターンを設定して見栄えを良くする ............................................. 156
11.6
軸のタイトルを変更して見栄えを良くする............................................................... 157
11.7
グラフの背景色を設定して見栄えを良くする ............................................................ 159
11.8
グラフの罫線(枠)を設定して見栄えを良くする ...................................................... 160
11.9
グラフ領域の色を設定して見栄えを良くする ............................................................ 162
11.10
グラフに影を設定して見栄えを良くする ................................................................. 163
11.11
グラフにグラデーションを設定して見栄えを良くする ................................................ 164
11.12
凡例の背景色/罫線/位置を設定して見栄えを良くする ............................................. 165
11.13
データ ラベルを表示してデータ値を分かりやすくする ............................................... 167
11.14
縦軸ラベルの書式を変更して見栄えを良くする ......................................................... 169
11.15
縦軸ラベルの間隔を変更して見栄えを良くする ......................................................... 170
11.16
縦軸へインターレース色を設定して見栄えを良くする ................................................ 171
11.17
補助グリッド線を表示して見栄えを良くする ............................................................ 172
11.18
横軸ラベルの見栄えを良くする ............................................................................. 173
11.19
横軸のラベルへ合計を表示する ............................................................................. 174
11.20
横軸のラベルをすべて表示する ............................................................................. 175
11.21
横軸ラベルをグループ化して見栄えを良くする ......................................................... 176
11.22
横軸ラベルの日付データの書式を変更して見栄えを良くする........................................ 178
11.23
グラフの色パレットを変更して見栄えを良くする ...................................................... 179
11.24
色パレットをカスタマイズしてさらに見栄えを良くする ............................................. 183
11.25
カスタム色パレットを簡単に再利用できるようにするには .......................................... 186
11.26
色の透明度(アルファ)を設定して見栄えを良くする ................................................ 189
11.27
描画スタイル(DrawingStyle)を変更して見栄えを良くする ...................................... 191
11.28
データ ラベルを外側に表示して円グラフを見栄え良くする ......................................... 193
11.29
データ ラベルの表示を変更してデータの比率を表示する ............................................ 194
11.30
データを並べ替える ........................................................................................... 198
11.31
円グラフの開始を 0 時からへ変更するには ............................................................. 200
11.32
円グラフで「その他」の項目を補助円で表示するには ................................................ 201
11.33
ドーナッツ グラフの真ん中に合計を表示するには .................................................... 202
11.34
ドーナッツ グラフを二重にするには ...................................................................... 204
11.35
棒グラフの間隔を調整するには ............................................................................. 207
11.36
棒グラフの最大値と最小値を色分けするには ............................................................ 208
11.37
ツールヒントの表示 ........................................................................................... 210
4
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.38
レーダー チャートの見栄えを良くするには ............................................................. 212
11.39
折れ線グラフの見栄えを良くするには .................................................................... 214
11.40
空データ(EmptyPoint)を表示するには ................................................................ 217
11.41
グラフへの移動平均の追加 ................................................................................... 218
11.42
散布図の見栄えを良くするには ............................................................................. 223
11.43
バブル チャートの作り方 .................................................................................... 224
11.44
範囲グラフの作り方 ........................................................................................... 225
11.45
おわりに .......................................................................................................... 229
5
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
本自習書の内容について
本自習書の内容について
本自習書は、「SQL Server 2012 Reporting Services によるレポートの作成(上)
」の続編です。
「SQL Server 2012 Reporting Services によるレポートの作成(上)
」では、次の内容を説明し
ました。

STEP 1. Reporting Services の概要と自習書を試す環境について

STEP 2. レポート作成の基本操作

STEP 3. グラフ作成の基本

STEP 4. ゲージによる売上達成レポートの作成

STEP 5. マップ作成の基本操作
引き続き、本自習書「SQL Server 2012 Reporting Services によるレポートの作成(中)」で説
明する内容は、次のとおりです。

STEP 6. Tablix レポートの 基本操作

STEP 7. データバー、インジケーター、スパークライン

STEP 8. パラメーターの利用

STEP 9. レポート サーバーの構成 と URL アクセス構文

STEP 10. アプリケーションからの利用

STEP 11. グラフの各要素のカスタマイズ
本自習書を試す環境については、「SQL Server 2012 Reporting Services によるレポートの作成
(上)」の Step1 を参照して下さい。
6
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
STEP 6. Tablix レポートの
基本操作
この STEP では、Tablix(テイブリックス)のうち「マトリックス」および「テー
ブル」を利用したレポートの基本操作(行列の追加や書式変更、レイアウト操作な
ど)を説明します。
この STEP では、次のことを学習します。

ウィザードを利用しないマトリックスの作成

Tablix のグループ化の操作、子グループの追加、隣接グループの追加

列の挿入と削除、行の挿入と削除、合計の追加

セルの結合と分割

テキスト ボックスの編集、プレースホルダーの作成

テーブルの作成とグループの追加
7
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.1
この Step で行う作業
この Step で行う作業
この STEP では、ウィザードを利用しないで Tablix レポートを作成したり、スタイルの変更、
Tablix の基本操作(行列の追加や削除、書式変更、レイアウト操作、グループの入れ子、隣接グ
ループの追加、セルの結合/分割など)を説明します。
書式の変更
フォントの色と
サイズを変更
背景色(塗りつ
ぶし)を変更
罫線(枠線)
を設定
Tablix の各要素の操作
コーナー ハンドル
列グループ
列ハンドル
行ハンドル
行グループ
各セルはテキスト
ボックス
グループを入れ子にした場合の操作
列グループ(親)
子グループ
行グループ(親)
列グループ(親)
のインジケーター
子グループ
列グループ(子)
のインジケーター
行グループ(子)
のインジケーター
行グループ(親)
のインジケーター
8
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.2
ウィザードを利用せずにマトリックスを作成するには
ウィザードを利用せずにマトリックスを作成するには
ここでは、次のような Step2 で作成した「区分ごと/年ごとの受注金額の合計」を表示するマト
リックス レポートをウィザードを利用せずに作成する手順を説明します。
「空のレポート」の選択
ウィザードを利用しないでマトリックスを作成する場合は、次のように操作します。
1.
まずは、レポート ビルダーを起動します。
2.
[作業の開始]ページが表示されたら、[新しいレポート]の[空のレポート]をクリックし
ます。
1
2
3.
レポートのデザイン画面が表示されたら、次のようにデザイン上の任意の場所を右クリックし
9
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
て、
[挿入]から[マトリックス]をクリックします。
1
レポート上で
右クリック
2
4.
[データセットのプロパティ]ダイアログが表示されたら、Step2 で作成した共有データセ
ットを使用するので、[共有データセットを使用します]が選択されていることを確認して、
[参照]ボタンをクリックします。
1
2
5.
これにより、
[データセットの選択]ダイアログが表示されるので、Step2 で作成した「ds_
受注クエリ」を選択して、[開く]ボタンをクリックします。
10
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
6.
[データセットのプロパティ]ダイアログへ戻ったら、「ds_受注クエリ」が選択されている
ことを確認して、
[OK]ボタンをクリックします。
1
2
なお、共有データセットを作成していない場合は、Step 2.14 の手順にしたがって、共有デ
ータセットを作成するか、このダイアログで[レポートに埋め込まれたデータセットを使用し
ます]を選択して、別途データセットを作成してください。データセットに指定するクエリは、
サンプル スクリプト内の「Step2-2_Query.txt」ファイルに記載しています。
7.
これにより、次のようにレポート上に「マトリックス」オブジェクトが貼り付けられます。
11
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
列グループ
「マトリックス」オブジェクト
が貼り付けられる
行グループ
選択した
共有データセット
Σ 値(データ)
「レポート データ」ペインには、選択した共有データセット(既定では DataSet1 という
名前で作成される)が表示されていることを確認できます。また、データセットを展開すると、
「受注コード」や「年」
、
「四半期」
、
「受注金額」などが表示されて、データセットのクエリで
取得している列が一覧されていることを確認できます。
Note: マトリックス オブジェクトを配置する別の方法
マトリックス オブジェクトは、次のようにリボンの[挿入]タブをクリックして、
[マトリックス]から[マトリ
ックスの挿入]をクリックしても配置することができます。
1
2
3
デザイン上の貼
り付けたい場所
をクリック
フィールドの配置
マトリックス オブジェクトを配置した後は、マトリックス内へフィールドを配置します。
1.
まずは、
「区分名」を表示するために、次のように[行]グループ セルの右上端に表示される
フィールド セレクター アイコン(
)をクリックして、表示されたフィールド(列)の一
覧から「区分名」を選択します。
12
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
ここをクリックすると
フィールド一覧が表示される
↓
1
行グループへ
「区分名」
2
これにより、[行]グループへ「区分名」が配置されます。
2.
次に、同様の操作で、
[列]グループへ受注日の「年」を配置します。
列グループへ
「年」
3.
続いて、
「受注金額」を表示するために、
[データ]グループへ「受注金額」を配置します。
データ(Σ 値)
へ「受注金額」
これにより、「Sum(受注金額)」
(受注金額の合計)が配置されます。
4.
データ グループへ配置した「Sum(受注金額)
」を選択して、書式を[通貨]へ設定します。
13
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2
1
5.
ここまで作成したレポートを[実行]ボタンをクリックして、プレビュー画面で確認してみま
しょう。
このように、ウィザードで作成したのと同じように、商品区分ごと・年ごとの売上金額を表示
するクロス集計レポートが作成できたことを確認できます。
確認後、デザイン画面へもどります。
年合計や区分合計、全体合計の追加
作成したクロス集計レポートには、全ての商品区分の受注金額を合計した「年合計」が表示されて
いないので、これを追加します。
1.
年合計を追加するには、次のように行グループの[区分名]セルを右クリックして、[合計の
追加]から[後]をクリックします。
14
↓
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
これにより、[区分名]のセルの「下」(後)に合計行が追加されます([前]を選択した場合
は、区分名の「上」へ合計行が追加されます)
。合計行の[Sum(受注金額)]と入力されてい
るセルが、年合計を表示するためのセルです。
2.
[実行]ボタンをクリックして、プレビュー画面で結果を表示すると、次のように年合計が表
示されることを確認できます。
すべての商品区分の受注金額の合計が、
年ごとに表示されていることを確認
確認後、デザイン画面へ戻ります。
3.
次に、全ての年度の受注金額の合計(区分合計)も追加してみましょう。次のように[年]セ
ルを右クリックして、
[合計の追加]を選択し、
[後]をクリックします。
15
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
↓
区分合計
全体合計
1
これにより、[年]の「右側」へ合計列が追加されます。
4.
作成したレポートをプレビュー表示して、結果を確認してみましょう。
すべての年度の受注金額の合計が、
区分ごとに表示されていることを確認
全体合計
区分合計と全体合計が表示されたことを確認できます。
確認後、デザイン画面へ戻ります。
16
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.3
Tablix のセルのフォント、配置、背景色、罫線を設定する
Tablix のセルのフォント、配置、背景色、罫線を設定する
マトリックス(Tablix 内)のセルは、フォントの種類やサイズ、文字の色、配置(右揃え、中央
揃えなど)
、背景色、罫線などを設定して見栄えをよくすることができます。
フォントの色と
サイズを変更
背景色(塗りつ
ぶし)を変更
罫線(枠線)
を設定
これらを行うには、対象となるセルを選択してから、次のように「リボン」の書式設定ボタンを操
作します(Excel などの Office 製品と同様の操作で、各種の書式を設定できます)
。
背景色(塗り
つぶし)
罫線の形
フォントの種類や
サイズ、色の変更
配置場所の変更
(上、上下中央、下
左、左右中央、右)
罫線のサイズ、スタイ
ル、色の変更
これまで作成してきたマトリックスに対して、任意のフォントやサイズ、文字の色、配置、背景色、
罫線などを設定してみてください。
17
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.4
Tablix のグループ化の操作
Tablix のグループ化の操作
作成したマトリックス(Tablix)では、次のようにグループ化を設定しています。
列グループへ
「年」
↓
行グループへ
「区分名」
「受注金額」の合計
(Sum)を計算
このように設定したグループの状態は、画面下に表示される[グループ化]ペインから確認/変更
することができます。
行グループへ
「区分名」
列グループへ
「年」
グループ化ペインでグループの横の[▼]ボタンをクリックして「グループ プロパティ」をクリ
ックすれば、グループの名前やグループ化の条件などを確認できます。
1
グループの名前
2
グループ化の
条件
18
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
グループの並べ替えの設定
[グループ プロパティ]では、
[並べ替え]ページから、グループ内の並べ替えの順序を設定する
ことができます。
並べ替えに利用
する列を選択
19
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.5
グループを入れ子にするには(子グループを追加するには)
グループを入れ子にするには
マトリックス(Tablix)のグループは、次のように入れ子にする(子グループを追加する)ことが
できます。
列グループ(親)
子グループ
行グループ(親)
列グループ(親)
のインジケーター
子グループ
列グループ(子)
のインジケーター
行グループ(親)
のインジケーター
行グループ(子)
のインジケーター
「年」グループに「四半期」を子グループとして追加するには
「年」グループに「四半期」を子グループとして追加した場合は、四半期ごとの集計を表示できる
ようになります。
「年」全体の集計から、
「四半期」ごとの集計が
表示される
これを行うには、
[グループ化]ペインの[列グループ]の「年」の下へ、
「四半期」フィールドを
ドラッグ&ドロップします。
2
1
「四半期」フィールドを
グループ化ペインの「年」
の下へドラッグ&ドロップ
20
セルが自動的に
追加される
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
Note: 子グループを追加する別の方法
子グループの追加は、親となるグループ上で右クリックして、[グループの追加]から行うこともできます。
1
「年」の列またはセル
上で右クリック
3
グループ化するフィールド
を選択する
2
↓
「区分名」グループに「商品名」を子グループとして追加するには
「区分名」グループに「商品名」を子グループとして追加した場合は、商品ごとの集計を表示でき
るようになります。
「商品区分」ごとに
「商品」ごとの集計を表
示できるようになる
これを行うには、列グループのときと同様、[グループ化]ペインを利用します。次のように「商
品名」フィールドを[グループ化]ペインの[行グループ]の「区分名」の下へドラッグ&ドロッ
プします。
21
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2
1
セルが自動的に追
加される
「商品名」を「区分名」の
下にドラッグ&ドロップ
Note: 子グループを追加する別の方法(行グループの場合)
列グループのときと同様、行グループへの子グループの追加は、親となるグループ上で右クリックして、[グループの追
加]から行うこともできます。
1
3
「区分名」の行または
セル上で右クリック
グループ化するフィールド
を選択する
2
↓
22
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
Note: ウィザードでグループ化を設定する場合
Step2 で利用した「テーブルまたはマトリックス ウィザード」を利用する場合は、次のように[フィールドの配置]ペ
ージでグループ化を設定することができます。
列グループへ
「年」→「四半期」
Σ 値へ
「受注金額」
行グループへ
「区分名」→「商品名」
列グループへ
「年」→「四半期」
行グループへ
「区分名」→「商品名」
23
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.6
ドリルダウンの設定
ドリルダウンの設定
行グループや列グループは、ドリルダウンを設定して、折りたたみ形式へ変更することもできます。
ドリルダウン
これも試してみましょう。
上の画面のように商品名を折りたためるようにするには、次のように[行グループ]ペインの[商
品名]の[▼]ボタンをクリックして、[グループ プロパティ]をクリックします。
1
2
[グループ プロパティ]ダイアログが表示されたら、[表示]ページをクリックして開き、[レポ
ートの初期実行時]で「非表示」を選択します。
24
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
3
4
[次のレポート アイテムでの表示の切り替えを可能にする]をチェックして、
「区分名」を選択し、
[OK]ボタンをクリックします。
これで、レポートを最初に開いたときには、商品の一覧は表示されず、区分名がドリルダウンでき
+ ボタンが
表示されて
商品名は表示
されない
↓
るようになります。
+ ボタンを
クリックすると
商品名が表示される
区分名の左にある「+」ボタンをクリックして展開すると、商品の一覧が表示される(ドリルダウ
ンできる)ことを確認できます。また、
「-」ボタンをクリックすると、商品一覧が非表示へ戻る(ド
リルアップできる)ことも確認できます。
年に対するドリルダウンの設定
年と四半期に対しても、同じようにドリルダウンを設定して、年をドリルダウンすると、四半期の
売上金額が表示されるようにしてみましょう。
次のように[列グループ]ペインの[四半期]の[▼]ボタンをクリックして、
[グループ プロパ
ティ]をクリックします。
25
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
[グループ プロパティ]ダイアログが表示されたら、[表示]ページをクリックして開き、[レポ
ートの初期実行時]で「非表示」を選択します。
1
2
3
4
[次のレポート アイテムでの表示の切り替えを可能にする]をチェックして、
「年」を選択し、
[OK]
ボタンをクリックします。
これで、レポートを最初に開いたときには、四半期の一覧は表示されず、年がドリルダウンできる
ようになります。
+ ボタンが表示されて
四半期は表示されない
+ ボタンをクリックすると
四半期が表示される
↓
26
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
ウィザードでドリルダウンを設定する方法
ドリルダウンは、Step2 で利用した「テーブルまたはマトリックス ウィザード」を利用して簡単
に設定することもできます。次のようにウィザードの[レイアウトの選択]ページで、[グループ
の展開/折りたたみ]がチェックされている場合(既定はチェック済)は、ドリルダウンが有効に
なります。
1
27
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.7
隣接グループを追加するには
隣接グループを追加するには
マトリックス(Tablix)では、入れ子のグループ(親子)だけでなく、親子関係のないグループを
列や行へ追加することもできます。このようなグループは、「隣接グループ」と呼ばれています。
たとえば、「四半期」を「年」の子グループとしてではなく、隣接グループ(独立した別のグルー
プ)として設定した場合は、次のように表示されます。
「年」と「四半期」を別々
のグループとして追加
各四半期は、2005~2007(3年分)
の四半期の受注金額を集計したもの
これを行うために、まず「四半期」グループを次のように削除します。
[列グループ]の[四半期]
の[▼]ボタンをクリックして、[グループの削除]をクリックします。
2
3
1
[グループの削除]ダイアログが表示されたら、[グループのみの削除]を選択して、[OK]ボタ
ンをクリックします。なお、[グループおよび関連する行と列の削除]を選択した場合は、階層関
係のある親グループ「年」も削除されてしまうので、[グループのみの削除]を選択することに注
意してください。もし、間違って[年]グループを削除してしまった場合は、Ctrl + Z キーを押
下して元に戻すことができます。
28
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
次に、マトリックス内の「四半期」がある行ハンドルを、次のように右クリックして、
[行の削除]
をクリックします。
1
行ハンドルを
右クリック
2
隣接グループの追加
次に、隣接グループを追加するために、次のように「年」グループの列上で右クリックして、[グ
ループの追加]をクリックし、[右に隣接](右側に配置する場合)または[左に隣接](左側に配
置する場合)をクリックします。
1
3
「年」の列またはセ
ル上で右クリック
グループ化するフィールド
を選択する
2
4
↓
配下にはならず
並列に追加される
集計データは自分で
配置する
[Tablix のグループ]ダイアログが表示されたら、
[グループ化]で[四半期]を選択して、
[OK]
ボタンをクリックします。
このように隣接したグループは、次のように見分けることができます。
入れ子(親子階層がある場合)
グループが階層的
に表示される
隣接グループ(別々のグループの場合)
グループが並列
で表示される
グループが二重
で表示される
グループが別々
に表示される
ここでは、四半期を例に隣接グループを説明しましたが、隣接グループはまったく関係のない集計
29
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
結果(年と支社、年と仕入先など)を同じ Tablix 内へ表示したい場合に便利な機能です。年と四
半期のように階層関係がある場合は、入れ子のグループにしたほうが結果が直感的になります。
隣接グループの削除
作成した隣接グループは、次のように削除することができます。
2
3
1
行グループへ隣接グループを追加する方法
隣接グループは、行グループへ追加することも可能です。
これを行うために、まず「商品名」グループを次のように削除します。
2
3
1
1
列ハンドルを
右クリック
2
次に、隣接グループを追加するために、次のように「区分名」グループの行上で右クリックして、
30
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
[グループの追加]をクリックし、[下に隣接](下に配置する場合)または[上に隣接](上に配
置する場合)をクリックします。
1
「区分名」の行または
セル上で右クリック
配下にはならずに
並列で追加される
集計データは自分で
配置する
↓
2
3
これもあまり良い例ではありませんが、区分名と商品名を隣接グループ(別々のグループ)として
追加しています。この場合は、それぞれ独立した集計結果を取得できます。
区分ごとの
集計
区分に関係なく
商品ごとの集計
確認後、次のように操作して、隣接グループを削除しておきましょう。
2
3
1
31
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.8
列を挿入(追加)するには
列を挿入する
マトリックス(Tablix)へ列を挿入する場合は、グループ内か、グループの外かで操作方法が変わ
ります。グループの外で操作する場合は、次のようになります。
グループの外で列を追加する場合
1
列またはセル上
で右クリック
2
左側に列を挿入
右側に列を挿入
↓
「右揃え」を選択して
右側に列を挿入した場合
列またはセル上で右クリックして、[列を挿入]の「左揃え」または「右揃え」をクリックするこ
とで、列を追加することができます。
グループ内で列を挿入する場合
列グループ内で列の挿入を行う場合は、次のように「内側のグループ」(グループ内)へ列を追加
するのか、
「外側のグループ」
(グループの外)へ列を追加するかを選択する必要があります。
内側のグループ(グルー
プ内)へ追加する場合
外側のグループ(グルー
プの外)へ追加する場合
内側のグループへ追加した場合と外側のグループで追加した場合では、「式」を利用した計算結果
に差が出るので、この違いを説明します(式については、Step 13 で詳しく説明します)
。
まずは、次のように内側のグループとして追加(年グループの中へ列を追加)した場合を説明しま
す。
1
「年」を
右クリック
2
追加した列へ次のように「式」を入力します。
32
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
=ReportItems!受注金額.Value
式を入力
↓
受注金額の値が各年
ごとに表示される
ReportItems という組み込みのコレクションでレポート内の任意のアイテム(テキスト ボック
スなど)を取得し、Value プロパティで値を取得できます(詳しくは Step 13 で説明します)
。
この式によって、
「受注金額」セル(テキスト ボックス)データを取得することができます。
このように内側のグループ(グループ内)へ列を追加した場合は、グループ内のデータ(2005、
2006、2007)に連動した列として機能します。
グループの外側に列を挿入する場合
外側のグループ(グループの外)へ列を追加した場合は、次のようになります。
グループの外へ
列を追加
グループの外側に
列が追加される
↓
式を同じように入力
=ReportItems!受注金額.Value
結果を分かりやすくするために背景色を変更
直前の年(2007)の金
額のみが表示される
グループの外側へ列を追加した場合は、直前の年(2007)の金額のみが表示されます。
このように、列を追加する場合は、グループの内側か、外側かを注意して行う必要があります。
33
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.9
列を削除するには
列を削除する
マトリックス(Tablix)で列を削除する場合は、グループ化項目かどうかで操作方法が変わります。
グループ化項目でない場合の操作は、次のようになります。
グループ化項目ではない場合
グループ化項目でない場合は、列ハンドルを右クリックして「列の削除」をクリックするだけで、
列を削除することができます。
グループ化項目を削除する場合
年(親)→ 四半期(子)でグループ化をしているときに、四半期を削除したい場合は、次のよう
↓
に操作しないように注意する必要があります。
「OK」をクリックすると
親グループも含めて削除
されてしまう
親子階層のある四半期と年は、"同じ列" として扱われているので、四半期を削除しようとすると、
親(年)もまとめて削除されてしまいます。
これを回避するには、次のように[グループ化]ペインから[グループの削除]をクリックします。
↓
親も含めて
まとめて削除
四半期グループ
のみ削除
この場合も「グループおよび関連する行と列の削除」を選択した場合は、親子関連のあるグループ
もまとめて削除されてしまうので、注意してください。
34
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
上記の操作では、四半期グループの削除後に、行が残ったままになるので、次のように行ハンドル
を右クリックして、「行の削除」をクリックし、行を削除しておくようにします。
なお、グループの削除を行う前に、この操作を行った場合は、次のようになります。
↓
親(年)も含めて
まとめて削除
四半期グループ
の行のみ削除
グループが
残っている状態
この場合に「行および関連するグループの削除」を選択した場合は、親子関連のあるグループもま
とめて削除されてしまうので、注意してください。
35
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.10 行を挿入するには
行を挿入する
マトリックス(Tablix)へ行を挿入する場合も、列のときと同様、グループ内か、グループの外か
で操作方法が異なります。グループの外で操作する場合は、次のようになります。
グループの外で行を追加する場合
行またはセル上で
右クリック
上側に行を挿入
下側に列を挿入
↓
「下」を選択して
下に行を挿入した場合
グループ内で操作する場合
グループ内で操作する場合は、「内側のグループ」(グループ内)に行を追加するのか、「外側のグ
ループ」
(グループの外)に行を追加するのかを選択する必要があります。
内側のグループ(グルー
プ内)へ追加する場合
外側のグループ(グルー
プの外)へ追加する場合
内側のグループへ行を追加した場合は、次のような結果になります。
↓
↓
式を同じように入力
=ReportItems("受注金額").Value
受注金額が各区分ご
とに表示される
36
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
グループの外側に列を挿入する場合
外側のグループ(グループの外)へ行を追加した場合は、次のようになります。
↓
↓
グループの外側に
行が追加される
式を同じように入力
=ReportItems!受注金額.Value
結果を分かりやすくするために背景色を変更
直前の行の受注金額のみ
が表示される
したがって、行を追加する場合も、グループの内側か、外側かを意識して行う必要があります。
37
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.11 子グループに合計を追加するには
子グループに合計を追加するには
「年」→「四半期」の階層関係がある場合に、子グループ(四半期)へ合計を追加するには、次の
ように、合計を追加したい列グループのセル上で右クリックして、[合計の追加]をクリックしま
す。
合計を追加したい
セル上で右クリック
↓
1
「後」を選択して
右側へ合計値を追加
左に列を追加
2
右に列を追加
合計列が追加
[前]を選択した場合は左側、
[後]を選択した場合は右側へ合計を追加することができます。
行グループへ合計を追加するには
「区分名」→「商品名」の階層関係がある場合に、子グループ(商品名)の行グループへ合計を追
加するには、次のように、合計を出したい行グループのセル上で右クリックして、[合計の追加]
をクリックします。
合計を追加したい
セル上で右クリック
↓
1
「後」を選択して
下へ合計値を追加
2
上に列を追加
下に列を追加
38
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
結果は、次のようになります。
飲料の全商品の
合計の行が追加
加工食品の全商品の合
計の行が追加
このように、グループ化項目では、行グループでも列グループでも簡単に合計を追加することがで
きます。
39
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.12 セルの結合/分割を行うには
セルを結合する
複数のセル(テキスト ボックス)は、簡単に結合することができます。
4つのセルを結合
2つのセルを結合
セルを結合するには、結合したいセルをドラッグして選択し、右クリックして[セルの結合]をク
リックします。
1
結合したいセルをドラッグし
て選択。選択後、右クリック
↓
結合後、中央揃え
2
結合したセルは、左上のセルの文字列のみが残り、他は削除されてしまうことに注意してください。
結合後のセルは、他のセルと同様、フォントの種類を変更したり、配置場所を変更したりできます。
なお、セルの結合は、次のようにリボンの「結合」ボタンから行うことも可能です。
2
1
結合したいセルを
ドラッグして選択
40
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
結合できるセルとできないセル
マトリックス(Tablix)は、内部的には次の 4 つのデータ領域に分けられ、異なるデータ領域のセ
ル同士を結合することはできません。
Tablix コーナー
Tablix 列グループ
Tablix 行グループ
Tablix 本体
また、Tablix 本体の領域のセルは、垂直方向のセルと結合することはできません。
セルを分割する
結合したセルを元へ戻したい場合など、セルを分割するには、次のようにセルを右クリックして「セ
ルの分割」をクリックします。
1
分割したいセル
を右クリック
↓
分割された
セル
2
セルの分割は、リボンの「分割」ボタンをクリックしても行えます。
2
1
分割したいセル
を右クリック
41
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.13 テキスト ボックスの編集(リッチ テキスト ボックス)
テキスト ボックスの編集
マトリックス(Tablix)のセルは、リッチ テキスト ボックスとも呼ばれ、任意の文字を追加して
編集することができます。
「年」という文字を追加して入力
「年」の文字が追加
されて表示される
プレースホルダーの作成
セル内では、プレースホルダーの作成を行うと、既にフィールドが配置されているセルに対して、
他のフィールドを追加表示させることができます。これは、次のように操作します。
他のフィールドを追加したいセル内の位置にカーソルを移動して右クリックし、[プレースホルダ
ーの作成]をクリックします。
1
フィールドを挿入した
い位置で右クリック
2
2
[プレースホルダー プロパティ]ダイアログが表示されたら、
[値]へ配置したいフィールドを選
択します。フィールドを追加後、任意で文字を追加して、次のように表示することができます。
「年」フィールド
「年」という文字
「四半期」フィールド
42
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.14 テーブル(表)形式レポートの作成
テーブル(表)形式レポートの作成
次に、Tablix のもう 1 つの形であるテーブル(表)形式のレポートを作成してみましょう。ここ
では、Step2 で作成した共有データセットのクエリ結果をそのままテーブル形式で表示するレポ
ートを作成してみましょう。
データセットのクエリ結果を
そのままテーブル(表)で表示
テーブルの作成
それでは、これを試してみましょう。
1.
まずは、レポート ビルダーを起動します。
2.
[作業の開始]ページが表示されたら、[新しいレポート]の[空のレポート]をクリックし
ます。
1
2
43
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
3.
レポートのデザイン画面が表示されたら、次のようにデザイン上の任意の場所を右クリックし
て、
[挿入]から[表]をクリックします。
1
レポート上で
右クリック
2
4.
[データセットのプロパティ]ダイアログが表示されたら、Step2 で作成した共有データセ
ット(ds_受注クエリ)が表示されるので、これを選択して、
[OK]ボタンをクリックします。
1
2
なお、共有データセットを作成していない場合は、[レポートに埋め込まれたデータセットを
使用します]を選択して、別途データセットを作成してください(データセットに指定するク
エリは、サンプル スクリプト内の「Step2-2_Query.txt」ファイルに記載)。
5.
次に、配置したテーブルへ、次のように「受注コード」と「受注日」、
「商品名」フィールドを
配置します。
44
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.
次に、一番右側へ列を 1 つ追加します。
1
7.
追加した列へ「受注金額」フィールドを配置します。
8.
次に、受注日の書式を「日付」
、受注金額の書式を「通貨」へ設定します。
2
1
2
2
1
9.
ここまでの結果を確認してみましょう。
45
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
41ページ分ある
1
クリック
[最終]ボタンをクリックすると、全部で 41 ページ分のデータが表示されていることを確認
できます。
テーブルの場合は、列グループと行グループがなく、詳細グループのみが存在し、1 件ごとの
データが表示されます。
詳細
グループ
詳細グループは、
[グループ化]ペインで確認することができます。
詳細グループ
46
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
レポートの結果とデータセットのクエリ(Step 2.14 で共有データセットを作成したときの
クエリ)の実行結果を比べると、同じデータが 1 件ずつ表示されていることを確認できます。
同じ結果が表
示されている
このように、テーブルは、データセットのクエリ結果を 1 件ずつ表示したい場合に利用しま
す。
47
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.15 テーブルへのグループの追加
テーブルへのグループの追加
テーブルへは、マトリックスの場合と同様、グループを追加して、グループごとに表示することも
できます。グループの追加は、次のように[グループ化]ペインから行います。
2
1
区分名グループの列
が自動追加される
「区分名」を詳細グループ
の上にドラッグ&ドロップ
この画面のように「区分名」フィールドを詳細グループの上へドラッグ&ドロップすれば、区分ご
とにグループ化して結果を表示できるようになります。
合計の追加
商品区分ごとの合計を追加するには、
[グループ化]ペインで「
(詳細)
」を右クリックして、
[合計
の追加]をクリックします。
48
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
↓
区分ごとの
受注金額の合計
受注コードの合計も
自動追加されるので、Del キーで
これは削除しておく
プレビューを表示して、区分ごとの受注金額の合計が表示されることを確認しておきましょう。
「飲料」区分の
受注金額の合計
このようにグループ化や合計の追加は、テーブルでもマトリックスでも同じように操作できます。
どちらも実体は Tablix なので、同じ操作が可能です。
テーブルの詳細グループを削除するとマトリックス !?
次に、テーブルの詳細グループを削除してみましょう。
1
2
↓
詳細グループが削除されて
区分名グループだけになる
49
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
詳細グループを削除すると、区分名グループのみが残るので、結果は次のようになります。
区分ごとの
受注金額の合計のみが
表示される
この結果から不要な列(受注コード、受注日、商品名)を削除すると次のようになります。
この結果は、次のように、マトリックスの[データ フィールド]
(Σ 値)に「受注金額」、
[行グル
ープ]に「区分名」を配置したのと同じ結果になります。
マトリックスのデータ フィールドへ「受注金額」
行グループへ「区分名」
前述したように、テーブルもマトリックスも実体は Tablix です。違いは、最初の形だけで、テー
ブルの場合は詳細グループが用意されて、クエリ結果を 1 行ずつ表示することができ、マトリッ
クスの場合は詳細グループがなく、行グループと列グループが設定しやすくなっています。
50
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
STEP 7. データバー、インジケーター、
スパークラインの利用
この STEP では、SQL Server 2008 R2 から新しく追加されたデータバー、イン
ジケーター、スパークラインの利用方法について説明します。
この STEP では、次のことを学習します。

データバーの利用

インジケーターの利用

スパークラインの利用
51
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
7.1
データバー、インジケーター、スパークライン
データバー、インジケーター、スパークライン
次に、SQL Server 2008 R2 から提供された機能である「データバー」や「インジケーター」、
「ス
パークライン」を含む商品区分別受注レポートを作成してみましょう。
データバー
インジケーター
スパークライン
Let's Try
それでは、これを試してみましょう。
1.
まずは、レポート ビルダーを起動します。
2.
[作業の開始]ページが表示されたら、[新しいレポート]の[空のレポート]をクリックし
ます。
1
2
3.
レポートのデザイン画面が表示されたら、次のようにデザイン上の任意の場所を右クリックし
52
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
て、
[挿入]から[マトリックス]をクリックします。
1
レポート上で
右クリック
2
4.
[データセットのプロパティ]ダイアログが表示されたら、Step2 で作成した共有データセ
ット(ds_受注クエリ)を選択して、
[OK]ボタンをクリックします。
1
2
なお、共有データセットを作成していない場合は、[レポートに埋め込まれたデータセットを
使用します]を選択して、別途データセットを作成してください(データセットに指定するク
エリは、サンプル スクリプト内の「Step2-2_Query.txt」ファイルに記載)。
5.
次に、配置したマトリックスの[行グループ]へ「区分名」、
[列グループ]へ「年」、
[データ]
へ「受注金額」フィールドを配置します。
53
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
列グループへ
「年」
行グループへ
「区分名」
データ(Σ 値)
へ「受注金額」
次に、区分と年の合計値を追加します。
↓
6.
↓
1
1
7.
次に、
「Sum(受注金額)」のセルを選択してリボンの[$]
(通貨記号)ボタンをクリックし、
受注金額を通貨形式(¥マーク付き)で表示するように変更します。
54
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2
1
8.
リボンの[実行]ボタンをクリックして、ここまでの状態を確認してみましょう。
確認後、デザイン画面へもどります。
2005 年のみのデータに絞り込む
次に、作成したマトリックスが 2005 年のデータのみを表示するように変更します。
1.
マトリックスのデータを 2005 年のデータのみに絞り込むには、次のように、マトリックス
の左上にあるコーナー ハンドルを右クリックして、[Tablix のプロパティ]をクリックしま
す。
55
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
左上のコーナー ハンドルを
右クリック
3
4
5
2
6
7
[Tablix のプロパティ]ダイアログが表示されたら、
[フィルター]ページで[追加]ボタン
をクリックします。
[式]で「
[年]」を選択して、
[値]へ「2005」と入力して、
[OK]ボタ
ンをクリックします。
2.
リボンの[実行]ボタンをクリックして、実行結果を確認してみましょう。
2005年のみの
データを表示
確認後、デザイン画面へもどります。
四半期ごとのデータを表示
次に、マトリックスに四半期ごとの受注金額を表示するように変更しましょう。
56
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1.
四半期ごとの受注金額の合計を表示するには、次のように「四半期」フィールドを[列グルー
プ]ペインの「年」の下にドラッグ&ドロップします。
1
2.
リボンの[実行]ボタンをクリックして、実行結果を確認してみましょう。
四半期ごとに
データを表示
確認後、デザイン画面へもどります。
3.
次に、レポートのスタイル(フォントや背景色、文字揃えなど)を任意に変更します。
57
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
7.2
データバーの追加
データバーの追加
次に、データバーを追加します。
1.
データバーを追加するために、次のようにマトリックスの「年」列を右クリックして[列を挿
入]から[右揃え]をクリックし、列を追加します。
1
列ハンドルを
右クリック
2
2.
次に、挿入した列の「区分名」行のセル上で右クリックして、[挿入]から[データバー]を
クリックします。
1
セル上で右ク
リック
2
3
3.
次のように[データバーの種類を選択]ダイアログが表示されたら、任意のデータバーを選択
して、[OK]ボタンをクリックします。
58
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
これで、マトリックスのセル内にデータバーが追加されます。
4.
続いて、次のようにセルのデータバーをクリックして[グラフ データ]ペインを表示します。
1
データバーを
クリック
2
4
フィールドが追
加される
3
[グラフ データ]ペインの[Σ 値]で[+]ボタンをクリックして、[受注金額]フィール
ドをクリックします。これで、
[Σ 値]へ[受注金額]フィールドが追加されます。
5.
リボンの[実行]ボタンをクリックして、実行結果を確認してみます。
59
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
受注金額に応じたデータバーが表示されることを確認できます。
確認後、デザイン画面へもどります。
データバーの色の設定
データバーは、任意の色へ変更することもできます。
1.
データバーの色を変更するには、セル内のデータバーを右クリックして、
[系列のプロパティ]
をクリックします。
1
データバーを
右クリック
2
2.
[系列のプロパティ]ダイアログが表示されたら、
[塗りつぶし]ページで、
[グラデーション]
など任意の塗りつぶしのスタイルを選択して色を指定します(今回の例では、一番目の[色]
で「オレンジ」、
[2 番目の色]で「白」、
[グラデーションのスタイル]で「左から右」を選択)
。
グラデーション
の設定
1
色の指定
グラデーション
スタイルの設定
3.
リボンの[実行]ボタンをクリックして、実行結果を確認すると、次のようになります。
60
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
確認後、デザイン画面へもどります。
61
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
7.3
インジケーターの追加
インジケーターの追加
次に、インジケーターを追加してみましょう。
1.
インジケーターを追加するために、まずは、次のようにマトリックスのデータバーを挿入した
列を右クリックして[列を挿入]から[右揃え]をクリックし、列を追加します。
1
列ハンドルを
右クリック
2
2.
次に、追加した列の「区分名」行のセル上で右クリックして、
[挿入]から[インジケーター]
をクリックします。
1
セル上で右ク
リック
2
3
3.
[インジケーターの種類の選択]ダイアログが表示されたら、任意のインジケーターを選択し
て、
[OK]ボタンをクリックします。
62
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
これで、マトリックスのセル内にインジケーターを追加できます。
4.
次に、追加したインジケーターをクリックして、
[ゲージ データ]ペインを表示します。
1
インジケーターを
クリック
2
クリック
3
[ゲージ データ]ペインの[Σ 値]で[▼]ボタンをクリックして、[受注金額]フィール
ドをクリックします。これで、
[Σ 値]を[受注金額]フィールドへ設定することができます。
5.
リボンの[実行]ボタンをクリックして、実行結果を確認してみます。
63
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
受注金額の大きさに応じて異なるインジケーターが表示されることを確認できます。
確認後、デザイン画面へもどります。
なお、インジケーターの形状は、既定では、Excel 2007/2010 でのアイコンセット機能と
同様、全体のパーセンテージをもとに 0~33、33~66、66~100% の 3 段階で区別されま
す。これを変更したい場合は、次のように[インジケーターのプロパティ]ダイアログの[値
と状態]ページから行います。
64
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
7.4
スパークラインの追加
スパークラインの追加
次に、スパークラインを追加してみましょう。
1.
スパークラインを追加するために、まずは、次のようにマトリックスの一番右の「合計」列を
右クリックして、
[列を挿入]から[右揃え]をクリックし、列を追加します。
1
列ハンドルを
右クリック
2
2.
次に、追加した列のセル上で右クリックして、[挿入]から[スパークライン]をクリックし
ます。
1
セル上で右ク
リック
2
3
3.
[スパークラインの種類の選択]ダイアログが表示されたら、縦棒のスパークラインを選択し
て、
[OK]ボタンをクリックします。
65
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
これで、マトリックスのセル内にスパークラインを追加できます。
4.
次に、追加したスパークラインをクリックして、
[グラフ データ]ペインを表示します。
1
スパークラインを
クリック
2
4
フィールドが追
加される
3
[グラフ データ]ペインの[Σ 値]で[+]ボタンをクリックして、[受注金額]フィール
ドをクリックします。これで、
[Σ 値]へ[受注金額]フィールドを設定できます。
5.
次に、[カテゴリ グループ]の(詳細)の「▼」ボタンをクリックして、[四半期]フィール
ドを選択します。
66
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
クリック
2
これにより、
[カテゴリ グループ]に配置されていた(詳細)を「四半期」へ変更することが
できます。
6.
リボンの[実行]ボタンをクリックして、実行結果を確認してみます。
四半期ごとの
傾向を表示
四半期ごとの受注金額がスパークラインとして表示されていることを確認できます。
確認後、デザイン画面へもどります。
スパークラインのカテゴリ グループを変更する
次に、スパークラインのカテゴリ グループを変更して、月ごとの受注合計金額の傾向が確認でき
るようにしてみましょう。
1.
スパークラインのカテゴリ グループを変更するには、次のように、スパークラインをクリッ
クして、
[グラフ データ]ペインを表示します。
67
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
スパークラインを
クリック
2
3
[カテゴリ グループ]の[+]ボタンをクリックして、
[月]フィールドを選択します。これ
で、
[カテゴリ グループ]の[四半期]フィールドの下に[月]フィールドを追加することが
できます。
2.
リボンの[実行]ボタンをクリックして、実行結果を確認してみます。
月ごとの
傾向を表示
月ごと(12 ヶ月分)の受注金額がスパークラインとして表示されていることを確認できます。
確認後、デザイン画面へもどります。
スパークラインの種類を変更する
次に、スパークラインの種類を変更して、月ごとの受注金額の傾向を折れ線グラフで確認できるよ
うにしてみましょう。
1.
スパークラインの種類を変更するには、次のようにセル内のスパークラインを右クリックして、
[スパークラインの種類の変更]をクリックします。
68
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
スパークラインを
右クリック
2
2.
[スパークラインの種類を選択]ダイアログが表示されたら、折れ線のスパークラインを選択
して、[OK]ボタンをクリックします。
1
2
3.
リボンの[実行]ボタンをクリックして、実行結果を確認してみます。
スパークラインが折れ線グラフで表示されていることを確認できます。
確認後、デザイン画面へもどります。
69
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
STEP 8. パラメーターの利用
この STEP では、パラメーターを含むレポートの作成方法について説明します。
この STEP では、次のことを学習します。

パラメーターの設定

パラメーター値をレポートへ表示

パラメーター値をドロップダウン リストで選択
70
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
8.1
作成するレポート(商品区分ごとの売上レポート)
作成するレポート
この Step では、次のようなパラメーターを含んだレポートを作成する手順を説明します。
商品区分の選択
(パラメータ)
年度の複数選択
(パラメータ)
71
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
8.2
区分コードのパラメーター化
区分コードのパラメーター化
まずは、商品の「区分コード」をパラメーター化して、選択した区分コードの売上データだけを表
示するようにしてみましょう。
区分コード
を入力
入力した区分コード
のデータのみ表示
共有データセットの変更
1.
最初に、レポート ビルダーを起動します。
2.
パラメーター化を行うには、データセットを変更する必要があるので、[作業の開始]ページ
では、[開く]を選択します。
1
72
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
3.
[レポートを開く]ダイアログが表示されたら、
[アイテムの種類]で[データセット(.rsd)
]
を選択して、Step2 で作成した共有データセット「ds_受注クエリ」を選択し、
[開く]ボタ
ンをクリックします。
2
3
1
4.
[データ ソースの資格情報の入力]ダイアログが表示されたら、データ ソースに接続するた
めの適切な資格情報を入力して、[OK]ボタンをクリックします。
1
2
5.
これにより、
[クエリ デザイナー]ダイアログが表示されて、データセットの変更が行えるよ
うになります。
2
3
1
WHERE 句を追加
4
73
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
クエリ デザイナーでは、クエリの一番最後へ「WHERE 商品.区分コード = @p1」を追加
して、[!](実行)ボタンをクリックします。
[クエリ パラメーターの定義]ダイアログが表示されたら、[パラメーター名]の「@p1」
の[パラメーター値]へ「1」と入力して、
「OK」ボタンをクリックします。これで、次のよ
うに商品区分コードが 1(飲料)のデータのみを取得することができます。
1
Note: 「@」マークを付けるとパラメーターになる
クエリ内では、任意の文字の先頭へ「@」マークを付けると、パラメーターとして設定することができます。
6.
次に、左上のレポート ビルダー メニューから[名前を付けて保存]をクリックして、違う名
前で共有データセットを保存します。
1
3
2
74
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
[データセットとして保存]ダイアログでは、
[名前]に任意の名前(ds_受注クエリ para な
ど)を入力して、
[OK]ボタンをクリックします。
レポートの作成
次に、新しいレポートを作成します。
1.
レポートを作成するために、別途レポート ビルダーを起動します(共有データセットを編集
しているレポート ビルダーは開いたままにしておいてください)。
2.
[作業の開始]ページでは、
[新しいレポート]の[空のレポート]を選択します。
1
2
3.
レポートのデザイン画面が表示されたら、デザイン上の任意の場所を右クリックして、
[挿入]
から[マトリックス]をクリックします。
1
レポート上で
右クリック
2
4.
[データセットのプロパティ]ダイアログが表示されたら、[参照]ボタンをクリックして、
前の手順で作成した共有データセット(ds_受注クエリ para)を選択し、
[開く]ボタンをク
リックします。
75
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2
3
1
5.
[データセットのプロパティ]ダイアログへ戻ったら、
[OK]ボタンをクリックしてダイアロ
グを閉じます。
1
2
6.
次に、配置したマトリックスの[行グループ]へ「区分名」、
[列グループ]へ「年」、
[データ]
へ「受注金額」フィールドを配置します。
76
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
列グループへ
「年」
行グループへ
「区分名」
データ(Σ 値)
へ「受注金額」
7.
次に、受注金額の書式を「通貨」へ変更します。
2
1
8.
次に、
「商品名」フィールドを「区分名」グループの下へ追加して、子グループを作成します。
1
9.
次に、各セルの書式(フォントや背景色など)を任意に設定して見栄えを調整します。
77
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
パラメーターの設定
次に、パラメーターを設定します。データセットのクエリの中で、「@」マークを付けたもの(前
の手順では @p1 を作成)は、自動的にパラメーターへ設定されているので、これを確認/変更
します。
1.
パラメーターを確認するには、
[レポート データ]ペインの[パラメーター]フォルダーを展
開します。
1
p1 という名前のパラメーターが自動的に作成されていることを確認できます。
2.
次に、「p1」パラメーターを右クリックして、[パラメーターのプロパティ]をクリックしま
す。
1
3.
[レポート パラメーターのプロパティ]ダイアログが表示されたら、
[プロンプト]で「商品
区分」など、パラメーターの内容を表す任意の文字を入力し、[データ型]で「整数」を選択
します。
78
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
4.
続いて、次のように[既定値]ページをクリックして開き、[値の指定]を選択して、[追加]
ボタンをクリックします。
1
2
3
4
5
[値]へ「1」(飲料)など、任意の商品区分コードを入力して、パラメーターの既定値を設
定し、[OK]ボタンをクリックします。
5.
[実行]ボタンをクリックしてプレビューを表示し、ここまでの結果を確認してみます。
79
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
レポートの上部へ「パラメーター ボックス」が表示されて、既定値として設定した値(ここ
では 1)が格納され、商品区分コード「1」の飲料区分の商品のみが表示されていることを確
認できます。
6.
次に、パラメーター ボックスの値を「2」(調味料)へ変更して、[レポートの表示]をクリ
ックしてみましょう。
1
2
今度は、商品区分コードが「2」(調味料)の商品のみが表示されることを確認できます。
80
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
このようにパラメーターを利用すると、レポートの結果を動的に変更できるようになります。
なお、「区分コード」と「区分名」の対応は、次のように Management Studio で「商品区
分」テーブルの中身を参照することで確認することができます。
1
区分コードと
区分名
81
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
8.3
パラメーター値をレポートへ表示
パラメーター値をレポートへ表示
次に、パラメーター値をレポート内へ表示するようにしてみましょう。
選択した区分コード
をレポート内へ表示
Let's Try
1.
まずは、次のようにレポート上のタイトルのテキスト ボックス内へ「区分」と入力します。
1
2
3
「区分」と入力
「の受注金額」
と入力
テキスト ボックス内へ p1 パラ
メーターをドラッグ&ドロップ
続いて、[パラメーター]フォルダーから「p1」パラメーターを、タイトルのテキスト ボッ
クス内へドラッグ&ドロップします。さらに、テキスト ボックス内へ「の受注金額」と入力
します。
2.
ここまでの設定をプレビュー表示して、結果を確認してみましょう。
82
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
パラメーター値が、レポート内へ表示されていることを確認できます。
3.
続いて、パラメーター ボックスの値を「2」へ変更して、
[レポートの表示]をクリックしま
す。
2
1
3
今度は、レポート内の表示が「2」へ変わったことを確認できます。
4.
確認後、タイトルを任意の書式(フォントなど)へ変更しておきましょう。
書式を任意
に変更
83
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
8.4
ドロップダウン リストによるパラメーターの選択
ドロップダウン リストによるパラメーターの選択
次に、パラメーターの値を、ドロップダウン リストで選択できるようにしてみましょう。また、
このときに表示するのは区分コートではなく、区分名が表示されるようにしましょう。
区分名の一覧を表示して
選択できるようにする
Let's Try
1.
まずは、ドロップダウン リストへ表示する「区分名」を取得するために、新しくデータセッ
トを追加します。次のように[データセット]フォルダーを右クリックして、[データセット
の追加]をクリックします。
1
1
2
[データセットのプロパティ]ダイアログが表示されたら、[レポートに埋め込まれたデータ
セットを使用します]を選択して、
[新規]ボタンをクリックします。
84
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2.
[データ ソースのプロパティ]ダイアログが表示されたら、Step2 で作成した共有データ ソ
ース(DS_NorthwindJ1)を選択して、
[OK]ボタンをクリックします。
1
2
3.
[データセットのプロパティ]ダイアログへ戻ったら、
[クエリ デザイナー]ボタンをクリッ
クします。
1
4.
[データ ソースの資格情報の入力]ダイアログが表示されたら、データ ソースに接続するた
めの適切な資格情報を入力して、[OK]ボタンをクリックします。
85
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
5.
[クエリ デザイナー]ダイアログが表示されたら、次のように[テーブル]フォルダーを展
開して、「商品区分」テーブルの「区分コード」と「区分名」列を選択して、[クエリの実行]
ボタンをクリックします。
2
1
商品区分コードと区分名
が取得できることを確認
3
商品区分コードと区分名が取得できていることを確認します。確認後、
[OK]ボタンをクリッ
クして、
[クエリ デザイナー]を閉じます。
6.
[データセットのプロパティ]ダイアログへ戻ったら、
[OK]ボタンをクリックしてダイアロ
グを閉じます。
86
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
7.
[レポート データ]ペインの[データセット]フォルダーに、新しく「DataSet2」が追加
されていることを確認できます。
1
8.
次に、
[パラメーター]フォルダーの「p1」を右クリックして、
[パラメーターのプロパティ]
をクリックします。
87
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2
1
3
4
5
[レポート パラメーターのプロパティ]ダイアログが表示されたら、
[使用できる値]ページ
を開いて、
「クエリから値を取得」を選択します。
[データセット]には「DataSet2」、
[値フ
ィールド]で「区分コード」、
[ラベル フィールド]で「区分名」を選択して、[OK]ボタン
をクリックします。これで、パラメーターをドロップダウン形式に変更して、区分名フィール
ドを表示できるようになります。
9.
ここまでの設定をプレビュー表示して、結果を確認してみましょう。
パラメーター ボックスがドロップダウン リストへ変更されて、区分名が選択できるようにな
っていることを確認できます。
10. 次に、パラメーターのドロップダウン リストから任意の区分名(菓子類など)を選択して、
[レポートの表示]をクリックしてみましょう。
88
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
選択した商品区分のデータが表示されることを確認できます。
89
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
8.5
ラベル フィールドをレポートへ表示
ラベル フィールドをレポートへ表示
次に、パラメーターで選択した区分名を、レポートへ表示するように変更してみましょう。
Let's Try
1.
まずは、タイトルのテキスト ボックス内の [@p1] を選択して右クリックし、[式]をクリ
ックします。
1
2.
[式]ダイアログが表示されたら、式を次のように変更します(Value を Label へ変更)。
=Parameters!p1.Label
90
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
「p1.Value」を「p1.Label」へ変更することで、パラメーターのラベル フィールドの値を
表示できるようになります(ラベル フィールドには、前の手順で区分名を割り当てるように
設定しています)
。
3.
ここまでの設定をプレビュー表示して、結果を確認してみます。
2
1
任意の商品区分を選択し、[レポートの表示]をクリックすると、今度は、区分コードではな
く、区分名が表示されることを確認できます。
91
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
8.6
パラメーターの複数選択
パラメーターの複数選択
次に、
「年度」を選択するパラメーターを追加して、複数の値を選択できるようにしてみましょう。
チェック ボックス形式へ変わって
複数の値が選択できるようになる
Let's Try
1.
まず、共有データセット(ds_受注クエリ para)を編集している側のレポート ビルダーを開
きます。レポート ビルダーを閉じてしまっている場合は、新しくレポート ビルダーを起動し
て、
[開く]から共有データセットを開いておいてください。
2.
クエリ デザイナーで、WHERE 句の最後へ「 AND YEAR(受注.受注日) IN (@p2)」を追
加して、
[!]
(実行)ボタンをクリックします。
2
3
WHERE 句
に追加
1
4
[クエリ パラメーターの定義]ダイアログが表示されたら、「@p1」には「1」、「@p2」に
92
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
は「2005」と入力して、「OK」ボタンをクリックします。これで、次のように 2005 年度
の商品区分コードが「1」(飲料)のデータのみを取得することができます。
2
1
確認後、画面上部の[保存]ボタン(フロッピーの形をしたアイコン)をクリックして、デー
タセットを保存します。
3.
次に、レポートを作成している側のレポート ビルダーへ戻って、[レポート データ]ペイン
で共有データセット(DataSet1)を右クリックして、[データセットのプロパティ]をクリ
ックします。
1
2
3
93
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
[データセットのプロパティ]ダイアログが表示されたら、[フィールドの更新]ボタンをク
リックします。これで共有データセット側で更新された情報をレポート側に反映させることが
できます。
実行後、
[OK]ボタンをクリックしてダイアログを閉じます。
4.
[パラメーター]フォルダーを展開すると、
「p2」パラメーターが自動的に作成されているこ
とを確認できます。
1
5.
次に、p2 パラメーターを右クリックして、
[パラメーターのプロパティ]をクリックします。
2
1
3
[レポート パラメーターのプロパティ]ダイアログが表示されたら、
[プロンプト]へ「年度」
など、パラメーターの内容を表す任意の文字を入力し、
[複数の値を許可]をチェックします。
6.
続いて、[使用できる値]ページをクリックして開き、[値の指定]を選択します。[追加]ボ
タンをクリックして、
[値]へ「2005」と入力します。
94
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
3
4
同様の操作で、
「2006」と「2007」の[値]を追加していきます。
7.
次に、[既定値]ページを開いて、既定値を指定します。
1
2
3
4
5
[値の指定]を選択して、
[追加]ボタンをクリックし、
[値]へ「2005」と入力します。同
様の操作で、「2006」と「2007」の[値]を追加していきます。
8.
設定後、プレビューを表示して、結果を確認してみましょう。
95
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2
1
レポートの上部に[年度]のパラメーター ボックスが表示されることを確認できます。
9.
パラメーター ボックスで任意の年度を複数選択して(2006 と 2007 など)、
[レポートの表
示]ボタンをクリックします。
2006 年と 2007 年のデータのみが表示されることを確認できます。
このように、クエリで IN 演算子でパラメーターを定義して、
[複数値を許可]するように設
定すれば、複数の値を選択できるようになります。
96
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
8.7
レポート サーバーへレポートの保存
レポート サーバーへレポートの保存
以上で、この Step のレポート作成が完了ですが、作成したレポートは、次の Step でも使用す
るので、名前を付けてレポート サーバー上へ保存しておきます。
1.
レポート ビルダー メニューで[名前を付けて保存]をクリックして、
「SalesRepo」という
名前でレポート サーバー上へ保存します。
1
2
4
3
レポート マネージャーからパラメーターの確認
レポート サーバー上に保存したパラメーター付きのレポートは、レポート マネージャーからパラ
メーターを確認/変更することもできます。これも確認しておきましょう。
1.
まずは、Internet Explorer を起動して、次のように URL を入力して、レポート マネージ
ャーへアクセスします。
http://サーバー名/Reports
97
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
レポートの一覧が表示されたら、「SalesRepo」の[▼]ボタンをクリックして、[管理]を
クリックします。
2.
次に、
[パラメーター]ページをクリックして開くと、パラメーターの既定値やプロンプト(文
字列の表示)などを変更することができます。
1
98
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
Note: 連動パラメーター(カスケード パラメーター)
パラメーターは、選択した値をもとに、さらに絞り込んだパラメーターを表示するように変更することもできます。たと
えば、商品区分を選択した後に、その区分内の商品一覧を表示して選択できるようにするといったことが可能です。これ
を行うには、まずは、共有データセットへ商品名のパラメーター(@p3)を追加します。
IN を利用して @p3 を追加
次に、新しい DataSet(DataSet3)を作成して、@p1(区分コード)を利用するようにクエリを記述します。
このように、DataSet1 のパラメーターと同じ「@p1」を使用して、別のデータセットを作成することで、パラメータ
ー @p1 と @p3 を連動させることができるようになります。
@p3 のパラメーターは、次のように設定します(DataSet3 の商品名を値フィールドへ割り当て)。
99
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
レポートは、次のように表示されます。
@p1 区分名
「飲料」を選択
@p3 商品名
「飲料」区分内の商品一覧が表示
されて、選択できるようになる
100
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
8.8
ジャンプ レポートの作成
ジャンプ レポートの作成
Reporting Services のレポートは、次のように別のレポートへジャンプさせることも簡単に行う
ことができます。
グラフ をクリックすると、
別レポートへジャンプできる。
「飲料」をクリック
グラフやレポート内の任意の値をクリックしたときに、その値をジャンプ先となるレポートのパラ
メーターへ代入する値として渡すことができます。
Let's Try
それでは、これを試してみましょう。
1.
ジャンプ先のレポートには、この Step で作成した SalesRepo レポートを利用します。
区分名(区分コード)
がパラメーター
この Step で作成した
SalesRepo レポート
101
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2.
ジャンプ元のレポートには、次のように区分ごとの受注金額を「円グラフ」で表示するレポー
トを利用します。
ジャンプ元となる
レポート
区分ごとの受注金額を
円グラフで表示
作成方法は、Step 3 で作成したグラフとほとんど同じで、
[Σ値]へ「受注金額」
、
[カテゴリ
グループ]へ「区分名」を設定して、区分ごとの受注金額を円グラフで表示するようにします。
Σ値 へ受注金額
データ ラベルの表示
方法については
Step 11 で説明
カテゴリ グループ
へ区分名
上画面のレポートは、データ ラベルを設定していますが、これを設定する方法については、
Step 11 で説明します。
3.
ジャンプ先となるレポートを設定するには、次のようにグラフを選択して右クリックし、[系
列のプロパティ]をクリックします。
102
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
4.
[系列のプロパティ]ダイアログが開いたら、
[アクション]ページを開いて、
[レポートに移
動する]を選択し、[レポートの指定]で[参照]ボタンをクリックします。
3
1
3
5.
[レポートの選択]ダイアログが表示されたら、レポート サーバー上の「SalesRepo」レポ
ートを選択して、
[開く]ボタンをクリックします。
1
2
3
103
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.
[系列のプロパティ]ダイアログへ戻ったら、[レポートの実行に使用するパラメーター]で
は、
[追加]ボタンをクリックして、
[名前]で「p1」、
[値]で「[区分コード]」を選択し、
[OK]
ボタンをクリックします。
1
2
ジャンプ先レポートの
パラメーターへ渡す値の設定
3
以上で、ジャンプ レポートの設定が完了です。
なお、上記ダイアログで、パラメーターへ渡す値として「区分コード」を選択するには、デー
タセットのクエリとして、次のように「区分コード」を取得しておく必要があります(Step 2
で作成した共有データセットは、区分コードを取得していないため、新しいデータセットを作
成する必要があります)
。
7.
設定後、レポートをレポート サーバー上へ保存します。
104
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
8.
3
Internet Explorer でレポートへアクセスし、ジャンプ レポートが正しく動作することを確
認しておきましょう。
グラフ をクリックすると、
別レポートへジャンプできる。
「飲料」をクリック
105
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
STEP 9. レポート サーバーの構成
と URL アクセス構文
この STEP では、レポート サーバーを構成する方法と、そのレポートを Web ブ
ラウザーからアクセスする際に利用できる「URL アクセス構文」について説明し
ます。URL アクセス構文は、レポートを参照するカスタム アプリケーションを作
成する際に最も基本となるものなので、非常に重要です。
この STEP では、次のことを学習します。

レポート サーバーの構成

レポート サーバーの構成を後から設定する方法

URL アクセス構文とは

レポートの一覧を表示(rs:Command=ListChildren)

レポートの表示(rs:Command=Render)

パラメーターの指定

レポートの出力形式の指定
106
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
9.1
レポート サーバーの構成
レポート サーバーの構成
Reporting Services のインストール時に、SQL Server のデータベース エンジンを同時にインス
トールする場合は、デフォルトでは「レポート サーバー」
(Reporting Services のサーバー機能)
が自動構成されます。これは、インストール時の次のページで確認できます。
SQL Server のデータベース エンジンと
Reporting Services を一緒にインストー
ルする場合
上画面のように、
[Reporting Services の構成]ページで「インストールと構成」が選択されて
いる場合(デフォルトでは選択されている)は、レポート サーバーが自動構成されます。この場
107
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
合は、次の URL でレポート サーバーへアクセスすることができます。
http://サーバー名/ReportServer
レポートの一覧
また、次の URL でレポート マネージャー(レポートの管理用 Web サイト)へアクセスするこ
とができます。
http://サーバー名/Reports
レポート マネージャー
SQL Server 上には、レポート サーバーのシステム データベースである「ReportServer」およ
び「ReportServerTempDB」
(一時領域用 DB)が自動作成されています。
1
108
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
レポート サーバーの構成を確認/変更するには
レポート サーバーの構成を確認/変更したい場合は、Reporting Services 構成マネージャーを
利用します。このツールは、次のように[Microsoft SQL Server 2012]の[構成ツール]メニ
ューの[Reporting Services 構成マネージャー]から起動することができます。
1
このツールを起動すると、次のように[Reporting Services 構成の接続]ダイアログが表示さ
れて、サーバー名とインスタンス名(既定のインスタンスの場合は MSSQLSERVER)が表示さ
れるので、
[接続]ボタンをクリックしてレポート サーバーへ接続することができます。
1
2
Reporting Services 構成マネージャーでは、次のように「Web サービス URL」ページで、レ
ポート サーバーの URL を確認することができます。
109
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
レポート サーバー
の URL
また、
「レポート マネージャー URL」ページで、レポート マネージャーの URL を確認すること
ができます。
1
レポート マネージャー
の URL
110
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
9.2
レポート サーバーの構成を後から設定する方法
レポート サーバーの構成を後から設定する方法
SQL Server のデータベース エンジンをインストールした後に、後から Reporting Services を
インストールする場合には、レポート サーバーを自動構成することができません。この場合は、
インストール時に次のように[インストールのみ]
(自動構成なし)しか選択できません。
レポート サーバーの構成手順
レポート サーバーを構成するには、Reporting Services 構成マネージャーを利用します。
1.
Reporting Services 構成マネージャーは、
[Microsoft SQL Server 2012]の[構成ツー
ル]メニューの[Reporting Services 構成マネージャー]から起動できます。
111
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2.
[Reporting Services 構成の接続]ダイアログが表示されたら、次のようにサーバー名と
インスタンス名(既定のインスタンスの場合は MSSQLSERVER)が表示されるので、
[接続]
ボタンをクリックしてレポート サーバーへ接続します。
1
2
3.
最初のページでは、Reporting Services サービスの停止や開始を行うことができます。
Reporting Services の実行アカウントの設定
レポート サーバーの URL の設定
レポートの格納先となるデータベースの設定
レポート マネージャの URL の設定
Reporting Services の
開始と停止
4.
次に、[Web サービス URL]ページを開いて、レポート サーバーの URL を設定します。
112
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
このページでは[適用]ボタンをクリックします。
数十秒後に、次のように結果が表示されれば、成功です。
1
5.
次に、[データベース]ページを開いて、レポート サーバーが利用するシステム データベー
スを作成します。
113
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
ここでは、
[データベースの変更]ボタンをクリックして、データベースを作成します。
1
1
2
2
1
1
2
2
114
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
1
データベースの作成が完了すると、次のように表示されます。
データベースが
作成された状態
6.
次に、
[レポート マネージャー URL]ページで、レポート マネージャーの URL を設定しま
す(ここでも[適用]ボタンをクリックします)
。
1
2
115
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
数十秒後に、次のように結果が表示されれば、成功です。
1
以上でレポート サーバーの構成が完了です。
116
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
9.3
レポート マネージャーでのレポートの管理
レポート マネージャーでのレポートの管理
レポート マネージャーは、レポートを管理するためのツールです。このツールでは、レポートを
参照したり、アップロードしたりすることも可能です。
レポートのアップロード
が可能
レポート一覧
レポートの参照
レポートを管理するには、次のようにレポートの[▼]ボタンをクリックして、[管理]をクリッ
クします。
117
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
レポートに関する
各種の設定が可能
フォルダーの作成
レポート マネージャーでは、次のようにフォルダーを作成することもできます。
1
2
作成された
フォルダー
3
118
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
セキュリティの設定
フォルダーやレポートに対しては、次のようにセキュリティを設定することができます。
1
1
2
Windows ユーザー名または
グループ名を指定
「コンテンツ マネージャー」は管理者、
「ブラウザー」は参照のみが可能なユーザーといった具合
に、フォルダー全体またはレポート単位でセキュリティを設定することができます。
119
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
9.4
URL アクセス構文とは
URL アクセス構文とは
レポート サーバーに保存されたレポートは、「URL アクセス構文」を利用してアクセスすること
ができます。URL アクセス構文は、レポートを参照するカスタム アプリケーションを作成する際
に最も基本となるものなので、構文を覚えておくことは非常に重要です。
レポートの一覧を表示する URL アクセス構文: rs:Command=ListChildren
URL アクセス構文では、レポートの一覧を表示する場合に、次のように記述します。
http://サーバー名/ReportServer?/フォルダー名
または
http://サーバー名/ReportServer?/フォルダー名&rs:Command=ListChildren
ReportServer の後に「?」マークを付けて、「/」区切りでフォルダー名を指定します。
それでは、これを試してみましょう。今回は、フォルダーを作成していないので、ルートにあるレ
ポートの一覧を表示してみます。
1.
ルートにあるレポートの一覧を表示するには、Internet Explorer のアドレスへ、次のように
フォルダー名を省略して入力します。
http://サーバー名/ReportServer?/
または
http://サーバー名/ReportServer?&rs:Command=ListChildren
1
前の Step で配置したレポート(SalesRepo)が一覧されることを確認できます。このよう
に「&rs:Command=ListChildren」を指定することで、レポートの一覧を取得できるよう
になります。
120
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
9.5
URL アクセス構文でのレポートの表示: rs:Command=Render
URL アクセス構文でのレポートの表示: rs:Command=Render
レポートを表示する URL アクセス構文は、次のとおりです。
http://サーバー名/ReportServer?/フォルダー名/レポート名
または
http://サーバー名/ReportServer?/フォルダー名/レポート名&rs:Command=Render
Let's Try
それでは、これを試してみましょう。SalesRepo レポートを表示してみましょう。
1.
SalesRepo レポートを表示するには、Internet Explorer のアドレスへ、次のように入力し
ます。
http://サーバー名/ReportServer?/SalesRepo
1
アドレスが「http://localhost/ReportServer/Pages/ReportViewer.aspx?/Sales
Repo」へ自動変換されて、SalesRepo レポートが表示されていることを確認できます。
2.
また、次のように「rs:CommandRender」と指定しても、同じようにレポートを表示する
ことが可能です。
http://サーバー名/ReportServer?/SalesRepo&rs:Command=Render
121
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
Note: レポート名が日本語の場合は URLEncode が必要
レポート名が日本語の場合は、URLEncode が必要です。たとえば、レポート名が「区分ごとの受注金額」の場合、
次のようにアドレスを入力すると、エラーが発生してレポートを表示することができません。
http://サーバー名/ReportServer?/区分ごとの受注金額
正しく接続するには、次のように、URLEncode が必要です。
http://サーバー名/ReportServer?/%e5%8c%ba%e5%88%86%e3%81%94%e3%81%a8%e3%81%ae
%e5%8f%97%e6%b3%a8%e9%87%91%e9%a1%8d
122
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
Note: URLEncode した値を調べるには
レポート名を URLEncode した値を調べたい場合は、Visual Studio で次のように System.Web 名前空間の
HttpUtility.UrlEncode メソッドを利用する Windows フォーム アプリケーションを作成すると便利です。
System.Web.HttpUtility.UrlEncode(調べたい文字)
使用例
1
調べたい文字
を入力
3
URLEncode
した値
2
なお、このメソッドを利用するには、事前の参照の追加で「System.Web.dll」
(C:\WINDOWS\Microsoft.NET
\Framework\バージョン フォルダーの下にあるファイル)を追加し、
[詳細コンパイル オプション]で[対象
フレームワーク]を「.NET Framework 4」へ設定しておく必要があります。
123
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
9.6
URL アクセス構文でのパラメーターの指定
URL アクセス構文でのパラメーターの指定
URL アクセス構文では、次のようにパラメーターを指定することも可能です。
http://サーバー名/ReportServer?/フォルダー名/レポート名&パラメーター名1=値1&パラメー
ター名2=値2& ・・・
Let's Try
それでは、これを試してみましょう。SalesRepo レポートをパラメーターを指定して表示してみ
ましょう。
1.
SalesRepo レポートのパラメーターを指定して、表示するには、Internet Explorer のアド
レスへ、次のように入力して接続します。
http://サーバー名/ReportServer?/SalesRepo&p1=3
1
このアドレスにより、p1(商品区分コード)が「3」の菓子類のデータのみが表示されること
を確認できます。
124
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
Note: 複数のパラメーターを指定するには
2006 年と 2007 年のように、複数のパラメーターを指定したい場合には、次のように入力します。
http://サーバー名/ReportServer?/SalesRepo&p1=3&p2=2006&p2=2007
Note: パラメーター値が日本語の場合は URLEncode が必要
レポート名と同様、パラメーター値が日本語の場合は、URLEncode が必要です。たとえば、次のように商品名の
パラメーター(@p3)があり、「抹茶バー」の値を指定する場合には、次のとおりです。
http://サーバー名/ReportServer?/SalesRepo2&p1=3&p2=2006&p2=2007&p3=%e6%8a%b9%e8
%8c%b6%e3%83%90%e3%83%bc
2007年の抹茶バーのデータは無いため
2006年のデータのみが表示されている
125
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
9.7
そのほかの URL アクセス構文
そのほかの URL アクセス構文
そのほかの URL アクセス構文には、次のようなものがあります。
構文
意味
rc:Toolbar=False
レポート ツールバーを非表示
rc:Parameters=False
パラメーター入力ボックスを非表示
rc:Zoom=150%
150% 拡大して表示
これは、次のように利用できます。
ツールバーを非表示にしたい場合
http://サーバー名/ReportServer?/フォルダー名/レポート名&rc:Toolbar=False
パラメーター入力ボックスを非表示にしたい場合
http://サーバー名/ReportServer?/フォルダー名/レポート名&rc:Parameters=False
Let's Try
それでは、これを試してみましょう。
1.
まずは、パラメーター入力ボックスを非表示にしてみましょう。Internet Explorer のアドレ
スへ、次のように入力して接続します。
http://サーバー名/ReportServer?/SalesRepo&p1=3&rc:Parameters=False
1
パラメーター入力ボックスが表示されていないことを確認できます。
126
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2.
次に、レポートのツールバーを非表示にしてみましょう。次のように入力します。
http://サーバー名/ReportServer?/SalesRepo&p1=3&rc:Toolbar=False
1
レポート ツールバーが表示されていないことを確認できます。
127
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
9.8
URL アクセス構文でのレポートの出力形式の指定
URL アクセス構文でのレポートの出力形式の指定
URL アクセス構文では、次のようにレポートの出力形式を指定することも可能です。
JPEG 形式へ出力
http://サーバー名/ReportServer?/フォルダー名/レポート名&rs:Format=IMAGE&rc:OutputFormat=JPEG
「rs:Format=IMAGE」とすることで、画像形式を指定し、
「rc:OutputFormat=JPEG」で JPEG
形式を指定しています。画像形式を指定した場合は、JPEG のほかには、BMP や EMP、GIF、
PNG、TIFF を指定することもできます。
Note: 画像(IMAGE)以外の形式への出力を指定する
「rs:Format=」へは、IMAGE のほかに、EXCEL や PDF、WORD などを指定することも可能です。
Let's Try
それでは、これを試してみましょう。
1.
Internet Explorer のアドレスへ、次のように入力して、JPEG 形式への出力を指定します。
http://サーバー名/ReportServer?/SalesRepo&p1=3&rs:Format=IMAGE&rc:OutputFormat=JPEG
1
これにより、
[ファイルのダウンロード]ダイアログが表示されるので、
[保存]ボタンをクリ
ックします。
128
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2.
[名前を付けて保存]ダイアログが表示されたら、任意の場所へ保存します。
1
3
2
3.
保存したファイルを開いて確認します。
JPEG ファイルが出力されたことを確認できます。
129
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
STEP 10.
アプリケーションからの利用
この STEP では、Visual Studio で作成した Windows フォームや ASP.NET
Web フォーム アプリケーションからレポートを参照する方法を説明します。
この STEP では、次のことを学習します。

ReportViewer コントロールからのアクセス

パラメーターの指定

ASP.NET Web フォームからのアクセス
130
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
10.1 この Step で作成するアプリケーション
この Step で作成するアプリケーション
Windows アプリケーション
ASP.NET アプリケーション
131
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
10.2 ReportViewer コントロールからのアクセス
ReportViewer コントロールからのアクセス
Windows フォームや Web フォームなどのアプリケーションから、レポートへアクセスするには、
ReportViewer コントロールを利用します。
Report Viewer
コントロール
Let's Try
それでは、実際に SalesRepo レポートへアクセスする Windows アプリケーションを作成して
みましょう。ここでは、Visual Studio 2010 を例に説明します。
1.
まずは、Visual Stduio 2010 を起動して、[ファイル]メニューから[新規作成]→[プロ
ジェクト]をクリックします。
1
2.
[新しいプロジェクト]ダイアログが表示されたら、[インストールされたテンプレート]か
ら今回は「Visual Basic」を選択して、
「Windows フォーム アプリケーション」を選択し
ます。
132
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
2
1
3
4
[名前]と[場所]へ任意のプロジェクト名と保存場所を入力して、
[OK]ボタンをクリック
します。
3.
次に、ツールボックスの[レポート]カテゴリから、[ReportViewer]コントロールを
Windows フォーム上へドラッグ&ドロップします。
1
4.
配置後、ReportViewer コントロールの右上に出ている「
133
」をクリックします。
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
ココをクリック
2
これにより、
[ReportViewer タスク]スマート タグが表示されるので、
[レポートの選択]
で 「 サ ー バ ー レ ポ ー ト 」 を 選 択 し ま す 。[ レ ポ ー ト サ ー バ ー の URL ] は 、
「http://localhost/reportserver」と設定されていることを確認し(必要に応じてサーバ
ー名を変更し)
、[レポート パス]へレポートのパス(今回は /SalesRepo)を入力します。
5.
次に、ReportViewer コントロールの大きさを調整して、レポートを表示しやすくしてから、
ツールバーの[デバッグ開始]ボタンをクリックします。
1
6.
これにより、Windows アプリケーションが起動して、レポートが表示されることを確認でき
ます。
134
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
任意の商品区分を選択して、[レポートの表示]ボタンをクリックすると、選択した商品区分
のみが表示されることを確認できます。
このように、ReportViewer コントロールを利用すると、アプリケーションから簡単にレポー
トへアクセスできるようになります。
ファイルへのエクスポート
次に、起動した Windows アプリケーションから、ファイルのエクスポートをしてみましょう。
1.
次のように[エクスポート]ボタンをクリックして、今回は「Excel」をクリックします。
1
2
2.
[名前を付けて保存]ダイアログが表示されたら、[ファイル名]へ任意の名前を入力して、
135
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
[保存]ボタンをクリックします。
1
2
3.
保存した Excel ファイルを開きます。
このように、Windows アプリケーションからでも、ファイルへのエクスポートを簡単に行う
ことができます。
136
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
エクスポート ボタンの非表示
ReportViewer コントロールでは、プロパティを設定して、レポート ツールバーをカスタマイズ
することもできます。それではこれを試してみましょう。
1.
配置した ReportViewer コントロールをクリックして、ReportViewer コントロールの[プ
ロパティ]を表示します。
2
1
[プロパティ]
を表示
ReportViewer
コントロールを
クリック
3
プロパティの一覧から、
[ツール バー]セクションにある[ShowExportButton]を「False」
へ設定します。これで、エクスポート ボタンを表示しないようにすることができます。
2.
[デバッグ開始]ボタンをクリックして、結果を確認してみましょう。
[エクスポート]ボタン
が表示されない
このように、ReportViewer コントロールの[ツールバー]セクションにあるプロパティを利
用すれば、レポート ツールバーにあるボタンの表示/非表示を設定することができます。
137
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
10.3 パラメーターの指定
パラメーターの指定
ReportViewer コントロールで、パラメーターを指定するには、Microsoft.Reporting.Win
Forms 名前空間の ReportParameter クラスを利用します。
1.
Windows フォームをダブル クリックして、Form_load イベント ハンドラーを生成し、次
のようにコードを記述します。
Imports Microsoft.Reporting.WinForms
:
Dim params(0) As ReportParameter
params(0) = New ReportParameter("p1", 3)
'p1 パラメーターに 3 を与える
ReportViewer1.ServerReport.SetParameters(params)
Me.ReportViewer1.RefreshReport()
Reporting.WinForms
名前空間のインポート
Form1_Load イベント ハンドラー内
へコードを記述
2.
[デバッグ開始]ボタンをクリックして、結果を確認します。
p1 パラメーター(商品区分コード)が 3 の菓子類のデータが表示されることを確認できま
す。
このように、ReportParameter オブジェクトを利用すると、プログラム内からレポートの
パラメーターを指定することができます。
138
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
Note: 複数選択可能なパラメーターがある場合
「年」パラメーター(p2)のように、複数選択可能なパラメーターがある場合は、次のように配列として、値を代
入する必要があります。
139
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
10.4 ASP.NET Web フォームからのアクセス
ASP.NET Web フォームからのアクセス
ASP.NET Web フォームからレポートへアクセスする場合にも、Windows フォームの場合と同じ
ように ReportViewer コントロールを利用します(利用方法についても、Windows フォームの
場合とまったく同じです)。
それでは、これを試してみましょう。
1.
Visual Stduio 2010 を起動し、[ファイル]メニューから[新規作成]→[プロジェクト]
をクリックします。
1
2.
[新しいプロジェクト]ダイアログが表示されたら、[インストールされたテンプレート]か
140
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
ら「Visual Basic」を選択して、
「ASP.NET Web アプリケーション」を選択します。
1
2
3
4
[名前]と[場所]へ任意のプロジェクト名と保存場所を入力して、
[OK]ボタンをクリック
します。
3.
次に、[デザイン]タブをクリックしてデザイン画面を表示して、ツールボックスの[AJAX
Extensions]カテゴリから、
[ScriptManager]を Web フォーム上へドラッグ&ドロップ
します。
2
1
141
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
Note: Visual Studio 2010 では、ReportViewer が AJAX 対応のコントロール
Visual Studio 2010 からは、ReportViewer コントロールが AJAX 対応のコントロールに変更されました。こ
のため、ScriptManager コントロールの配置が必要になります。
4.
次に、ツールボックスの[レポート]カテゴリから[ReportViewer]コントロールを Web
フォーム上へドラッグ&ドロップします。
1
5.
[ReportViewer タスク]スマート タグが表示されたら、
[レポートの選択]で「サーバー
レポート」を選択し、
[レポート サーバーの URL]へは、
「http://localhost/reportserver」
と設定されていることを確認します。[レポート パス]へは、レポートのパス(今回は
/SalesRepo)を入力します。
1
142
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
6.
ツール バーの[デバッグ開始]ボタンをクリックして、実行します。
2
1
レポートが表示されたら、任意の商品区分名を選択して、[レポートの表示]ボタンをクリッ
クし、選択した商品区分のデータが、正しく表示されることを確認します。
このように、ASP.NET Web アプリケーションでも、Windows アプリケーションと同様に
ReportViewer コントロールを利用して、簡単にレポートへアクセスすることができます。
143
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
STEP 11.
グラフの各要素
のカスタマイズ
この STEP では、グラフのタイトルや凡例、軸ラベル、背景、データ ラベル、目
盛りなど、グラフを構成する各要素をカスタマイズする方法について説明します。
この STEP では、次のことを学習します。

ウィザードを利用しないグラフの作成

3D の有効化と 3D 設定

グラフのタイトル、軸のタイトルのカスタマイズ

グラフの背景色、罫線(枠)
、グラフ領域のカスタマイズ

凡例、データ ラベルのカスタマイズ

軸ラベルのカスタマイズ、インタレースの設定、補助グリッド線の表示

グラフの色パレットによるスタイル変更、色パレットのカスタマイズ

色の透明度の設定

描画スタイル(DrawingStyle)の変更

データの並べ替え

円グラフとドーナツ グラフのカスタマイズ

棒グラフのカスタマイズ

レーダーチャート、折れ線グラフ、散布図の見栄えの設定

移動平均を追加したグラフ

範囲グラフの作り方
144
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.1 この Step で説明する内容
この Step で説明する内容
この Step では、ウィザードを利用しないでグラフを作成する方法や 3D の有効化、グラフを構
成する各要素(グラフのタイトル、凡例、軸ラベル、背景、データ ラベル、目盛りなど)のカス
タマイズ、色パレットの変更、描画スタイル(DrawingStyle)の変更など、見栄えの良いグラフ
を作成する方法などを説明します。

ウィザードを利用しないでグラフを作成
商品区分ごとに、
年度別(2005~2007年)
の受注金額の合計を表示

3D グラフの設定

グラフの各要素の変更
タイトル
凡例
グラフの枠線
(罫線)
グラフの背景
グラフ領域
軸タイトル
(縦軸)
データ ラベル
軸ラベル
(縦軸)
軸ラベル(横軸)
軸タイトル(横軸)
145
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)

グラフの色パレットの変更

グラフの DrawingStyle の変更

グラフの見栄えの調整
軸ラベルの
グループ化
データ ラベルを外出し、
比率やカテゴリ名の表示
改行の追加など
最大値と最小値の色分け
EmptyPoint(空のデータ)の扱い
最大値と最小値を
色分けする
146
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.2 ウィザードを利用しないグラフの作成
ウィザードを利用しないグラフの作成
ここでは、Step3 で作成した、次のような「区分ごと/年ごとの受注金額の合計」のグラフをウ
ィザードを利用せずに作成する手順を説明します。
Let's Try
ウィザードを利用しないでグラフを作成する場合は、次のように操作します。
1.
まずは、レポート ビルダーを起動します。
2.
[作業の開始]ページが表示されたら、[新しいレポート]の[空のレポート]をクリックし
ます。
1
2
147
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
3.
レポートのデザイン画面が表示されたら、デザイン上の任意の場所を右クリックして、
[挿入]
から[グラフ]をクリックします。
1
デザイン上の
貼り付けたい場所を
右クリック
2
4.
[グラフの種類を選択]ダイアログが表示されたら、[縦棒]を選択して、[OK]ボタンをク
リックします。
1
2
5.
次に、
[データセットのプロパティ]ダイアログが表示されるので、Step2 で作成した共有デ
148
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
ータセット(ds_受注クエリ)を選択して、
[OK]ボタンをクリックします。
1
2
なお、共有データセットを作成していない場合は、[レポートに埋め込まれたデータセットを
使用します]を選択して、別途データセットを作成してください(データセットに指定するク
エリは、サンプル スクリプト内の「Step2-2_Query.txt」ファイルに記載)。
フィールドの配置
次に、受注金額や区分名、年フィールドをグラフへ配置します。
1.
フィールドをグラフへ配置するには、次のようにグラフをクリックして、
[グラフ データ]ペ
インを表示します。
2
1
2.
「グラフ データ」
ペインが表示される
グラフを
クリック
次に、[グラフ データ]ペインの[Σ 値]の[+]ボタンをクリックして、「受注金額」フィ
149
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
ールドを選択します。
1
2
3.
次に、[カテゴリ グループ]の[詳細]の[▼]ボタンをクリックして、「区分名」フィール
ドを選択します。
1
2
↓
これで、区分ごとの受注金額の合計をグラフで表示できるようになります。
4.
次に、[系列グループ]の[+]ボタンをクリックして、
「年」フィールドを選択します。
150
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
これで、区分ごと・年ごとの受注金額の合計をグラフで表示できるようになります。
5.
グラフの大きさを任意に調整して、[実行]ボタンをクリックすると、次のように結果を確認
できます。
商品区分ごとに、
年度別(2005~2007年)
の受注金額の合計を表示
このように、ウィザードを利用しなくても、簡単にグラフを作成することができます。以降で
は、グラフの各要素の書式やスタイルを変更する方法を詳しく説明していきます。
151
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.3 3D を有効化して見栄えを良くする
3D の有効化
Step 3 では、
[グラフの種類を選択]ダイアログから「3D 棒グラフ」や「3D 面グラフ」を選択
することでグラフを 3D 化する方法を説明しましたが、種類を選択しなくてもグラフを 3D 化す
ることができます。また、[グラフの種類を選択]ダイアログでは、3D のグラフが用意されてい
ないものもあります(ドーナッツや範囲グラフなど)。こういったグラフでも、次のようにグラフ
を右クリックして「3D 効果」をクリックすれば、3D 化することができます。
1
3
グラフを
右クリック
2
[グラフ領域のプロパティ]ダイアログが表示されたら、
「3D の有効化」をチェックすることで、
次のように 3D 化することができます。
棒グラフ
↓
3D の有効化
3D 設定の変更
[グラフ領域のプロパティ]ダイアログでは、「系列のクラスタリングを有効にする」や「投影モ
ード」、「回転」、「傾斜」、「壁面の厚さ」などの各種の 3D 設定を変更することができます(次の
ページに結果例を掲載してあります)
。
152
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
「系列のクラスタリングを有効にする」をチェックした場合
投影モードを「パースペクティブ」へ変更した場合 (既定は 斜投影)
傾斜を「70」に変更した場合(既定は 30)
壁面の厚さを「40」へ変更した場合(既定は 7)
壁面の幅
パースペクティブで傾斜を「70」に変更(既定は 30)
パースペクティブで奥行を「30」に変更(既定は 0)
斜投影で回転を「50」に変更(既定は 30)
パースペクティブで回転を「50」に変更(既定は 30)
深さの比率を「200」に変更(既定は 100)
ギャップの深さを「200」に変更(既定は 100)
深さの比率
153
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.4 グラフのタイトルの見栄えを良くする
グラフのタイトルの見栄えを良くする
グラフのタイトルは、
「テキスト」や「フォントの種類/サイズ/色」、
「塗りつぶし(背景色)」、
「罫
線(枠線の色や幅)」、「影」、「配置場所」などを変更して、見栄えを良くすることができます(下
記のグラフは積み上げ縦棒)
。
タイトルのテキスト、
フォント変更可能
タイトルの影
タイトルの枠線
(罫線)
タイトルの背景色
(塗りつぶし)
タイトルを変更するには、タイトルを右クリックして、「タイトルのプロパティ」をクリックしま
す。
1
タイトルを
右クリック
2
「タイトルのプロパ
ティ」をクリック
塗りつぶし(背景色)の設定を変更
フォントの種類やサイズ、色などを変更
154
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
影の大きさ(オフセット)、色を変更
罫線(枠線)のスタイル、幅、色を変更
リボンからフォントや色を変更
「フォントの種類/サイズ/色」や「塗りつぶし」、
「罫線」は、リボンの書式設定ボタンから行う
こともできます。
塗りつぶし
の色
フォントの種類やサイ
ズ、色の変更
場所の変更
(左、中央、右)
155
罫線のサイズ、スタイ
ル、色の変更
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.5 グラデーションやパターンを設定して見栄えを良くする
グラデーションを設定する
タイトルの「塗りつぶし」(背景色)は、次のようにグラデーションを設定して見栄えを良くする
ことができます。
↓
グラデーションが左斜めから「ライム グリーン」→「緑」へ
1つ目の色
2つ目の色
グラデーション
の方向
パターンを設定する
タイトルの「塗りつぶし」(背景色)は、パターンを設定して見栄えを良くすることもできます。
↓
パターンを格子へ設定(色は茶色系へ変更)
1つ目の色
2つ目の色
パターンの
スタイル
156
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.6 軸のタイトルを変更して見栄えを良くする
軸のタイトルの変更
軸のタイトル(グラフの横軸と縦軸のタイトル)は、「テキスト」や「フォントの種類/サイズ/
色」、
「配置場所」などを変更して、見栄えを良くすることができます。
縦軸のタイトルのテ
キスト、フォント
変更可能
横軸のタイトルのテ
キスト、フォント
変更可能
軸のタイトルを変更するには、軸のタイトルを右クリックして、「軸のタイトルのプロパティ」を
クリックします。
1
軸のタイトルを
右クリック
2
「軸のタイトルのプロ
パティ」をクリック
フォントの種類やサイズ、色などを変更
タイトルのテキスト、配置場所の変更
157
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
フォントの種類やサイズ、色の変更は、リボンの書式設定ボタンから行うことも可能です。なお、
軸のタイトルでは、グラフのタイトルで設定できた「塗りつぶし(背景色)」や「罫線(枠線の色
や幅)」、
「影」などは設定することができません。軸のタイトルが不要な場合は、
[軸のタイトルの
表示]のチェックをオフにすれば軸のタイトルを削除することもできます。
縦軸のタイトルを縦書きにする
縦軸のタイトルは、
[プロパティ]ペインで[TextOrientation]プロパティを「Stacked」へ変
更することで、縦書きにすることもできます(既定値は Auto)
。
1
軸のタイトルを
選択
2
[プロパティ]ペインが表示されていない場合は、リボンの[表示]タブで[プロパティ]をチェ
ックしてください。
TextOrientation を「Stacked」へ変更
↓
既定の縦軸のタイトル
Note: 厳密な縦書きではない
Reporting Services では、縦書きフォントがサポートされていないので、「Stacked」へ設定した軸のタイトルは厳密
な縦書きではありません。内部的には、横書きの文字を 1 文字ずつ縦に並べただけになるので、カッコやセミコロンな
どは、横書きのままになり、ひらがなと漢字の位置は微妙にずれたりします(漢字のみを利用するなどの工夫が必要)。
ひらがなの位置が
微妙にずれる
カッコやコロンは、
横書きのまま
158
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.7 グラフの背景色を設定して見栄えを良くする
グラフの背景色を設定する
グラフは、背景色(グラデーションやパターン)を設定して見栄えを良くすることができます。
グラフの背景色を
グラデーション
背景色を設定するには、グラフの背景を右クリックし、
「グラフのプロパティ」をクリックします。
1
グラフの背景を
右クリック
2
「グラフのプロパ
ティ」をクリック
[塗りつぶし]ページを開くと、
「純色」
(一色)、
「グラデーション」
、
「パターン」から背景色を設
定することができます。設定方法は、グラフのタイトルの「塗りつぶし」と同様です。
159
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.8 グラフの罫線(枠)を設定して見栄えを良くする
グラフの罫線を設定する
グラフは、罫線(枠)を設定して、見栄えを良くすることができます。
グラフの枠
(罫線)を設定
罫線を設定するには、背景色の設定と同様、グラフの背景を右クリックして、「グラフのプロパテ
ィ」をクリックします。
1
グラフの背景を
右クリック
2
「グラフのプロパ
ティ」をクリック
罫線の種類
罫線のスタイル
や幅、色
罫線の種類には、
「線」、
「フレーム」、
「エンボス」
、
「浮き彫り」、
「浮き出し」の 5 種類があり、設
160
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
定すると次のようになります。
罫線の種類
「線」に設定
「フレーム」に設定
「エンボス」に設定
「浮き彫り」に設定
「浮き出し」に設定
161
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.9 グラフ領域の色を設定して見栄えを良くする
グラフ領域の色を設定する
グラフは、グラフ領域の色(塗りつぶし)を設定して、見栄えを良くすることができます。
グラフ領域の色
(塗りつぶし)を設定
グラフ領域の色を設定するには、グラフ領域を右クリックして、「グラフ領域のプロパティ」をク
リックします。
1
グラフ領域を
右クリック
2
「グラフ領域のプロパ
ティ」をクリック
[塗りつぶし]ページを開いて、
「純色」
(一色)、
「グラデーション」
、
「パターン」から背景色を設
定することができます。
162
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.10
グラフに影を設定して見栄えを良くする
グラフに影を設定する
グラフには、影を設定して、見栄えを良くすることができます。
グラフの影
を設定
影を設定するには、グラフを右クリックして、「系列のプロパティ」をクリックします。
1
グラフを
右クリック
2
「系列のプロパティ」
をクリック
影の大きさ
影の色
[影]ページを開いて、「影のオフセット」と「影の色」を変更して、影の大きさや色を設定する
ことができます。
163
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.11
グラフにグラデーションを設定して見栄えを良くする
グラフにグラデーションを設定する
グラフは、グラデーションを設定して、見栄えを良くすることができます。
グラフにグラデー
ションを設定
グラデーションを設定するには、影の設定と同様、グラフを右クリックして、
「系列のプロパティ」
をクリックします。
1
グラフを
右クリック
2
「系列のプロパティ」
をクリック
グラデーション
をチェック
グラデーションの
スタイルを変更
[塗りつぶし]ページを開いて、他の要素の塗りつぶし(背景色)と同様、グラデーションやパタ
ーンを設定することができます。
164
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.12
凡例の背景色/罫線/位置を設定して見栄えを良くする
凡例の背景色/罫線/位置を設定する
グラフは、凡例の背景色や罫線、位置を変更して、見栄えを良くすることができます。
凡例の背景色や罫線、
位置を変更
凡例を変更するには、凡例を右クリックして、「凡例のプロパティ」をクリックします。
1
凡例を
右クリック
2
「凡例のプロパティ」
をクリック
罫線(枠)の設定
背景色(塗りつぶし)の設定
ほかのプロパティと同様、
[塗りつぶし]ページで背景色、
[罫線]ページで罫線(枠)
、
[影]ペー
ジで影を設定することができます。
165
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
凡例の位置の変更
凡例の位置は、
[全般]ページから変更することができます。
レイアウト
位置
ドッキング(グラフ内
へ配置)するかどうか
ドッキング「なし」で「上中央」に配置
ドッキング「有り」で「上中央」に配置
ドッキング「有り」で「上左」に配置
スタイルを「表(縦)」に変更
166
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.13
データ ラベルを表示してデータ値を分かりやすくする
データ ラベルを表示する
グラフでは、データ ラベルを表示することで、データ値を分かりやすくすることができます。
データ ラベル
を表示
データ ラベルを表示するには、グラフを右クリックして、「データ ラベルの表示」をクリックし
ます。
1
グラフを
右クリック
2
「データ ラベルの
表示」をクリック
データ ラベルの書式を変更する
データ ラベルの書式を変更するには、データ ラベルを選択して「リボン」のボタンから行います。
2
1
データ ラベルを
選択
167
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
通貨形式(¥マーク付きで 3 桁ごとにカンマ区切り)へ変更するには、
「通貨」を選択するか、
「$」
ボタンをクリックします。
なお、書式は、
[プロパティ]ペインの「Fomart」プロパティから変更することもできます(Format
プロパティでの書式の記述方法は後述しています)
。
1
2
データ ラベルを
選択
データ ラベルは、他の要素と同様、フォントの種類やサイズ、色などを変更することもできます。
Note: Smart Label(スマート ラベル)機能
データ ラベルは、既定では「Smart Label」機能が有効に設定されているので、重なり合うラベルを自動調整してくれ
ています。
Smart Label が無効な状態(同じようなデータ値のラベルが重なってしまう)
Smart Label が有効な状態
「Smart Label」を無効に設定したい場合は、
[グラフ データ]ペインで[Σ 値]の「受注金額」を選択してから、
[プ
ロパティ]ペインを開き、
「SmartLabels」を展開して、
「Disabled」
(無効化)プロパティを「True」へ変更します(既
定は False)。
168
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.14
縦軸ラベルの書式を変更して見栄えを良くする
縦軸ラベルの書式を変更する
グラフの縦軸のラベルは、他の要素と同様、「書式」や「フォントの種類/サイズ/色」などを変
更することができます。
軸ラベルの
書式を変更
縦軸ラベルの書式を変更するには、縦軸のラベルを右クリックして、「縦軸のプロパティ」をクリ
ックします。
1
3
軸ラベルを
右クリック
小数点以下の桁数
3桁ごとに
カンマで区切るか
2
負(マイナス)の値
の場合の書式
「縦軸のプロパ
ティ」をクリック
[数値]ページで「通貨」を選択すれば、通貨形式へ変更できるようになります。なお、他の要素
と同様、リボンや Format プロパティから書式を変更することもできます。
このダイアログでは、[ラベルのフォント]ページでフォントの種類/サイズ/色を変更すること
も可能です。
169
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.15
縦軸ラベルの間隔を変更して見栄えを良くする
縦軸ラベルの間隔を変更する
グラフの縦軸の「ラベルの間隔」は、任意の値へ変更することができます。
軸ラベルの間隔を
100万ごとに変更
ラベルの間隔を変更するには、ラベルの書式設定と同様、縦軸のラベルを右クリックして、「縦軸
のプロパティ」をクリックします。
3
1
軸ラベルを
右クリック
4
2
「縦軸のプロパ
ティ」をクリック
[軸のオプション]ページで[間隔]を「1000000」へ変更すれば、100 万円単位でラベルを表
示できるようになります。なお、このように間隔を大きい値へ変更した場合は、次のようにデザイ
ン画面でグラフが表示されなくなってしまうので、この設定はグラフ作成の最終手順として行うこ
とをお勧めします。
デザイン画面からグラ
フが消えてしまう
170
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.16
縦軸へインターレース色を設定して見栄えを良くする
縦軸へインターレース色を設定する
グラフは、「インターレース色」を設定することで、グラフ領域を縞模様(ストライプ)で表示で
きるようになるので、見栄えを良くすることができます。
インターレース色を
設定すると、縞模様
で表示できる
インターレース色を設定するには、ラベルの間隔や書式設定と同様、縦軸のラベルを右クリックし
て、
「縦軸のプロパティ」をクリックします。
3
1
軸ラベルを
右クリック
2
4
「縦軸のプロパ
ティ」をクリック
[軸のオプション]ページで「インターレース色を使用する」をチェックして、[色]で任意の色
を選択(ここでは、「その他の色」から FloralWhite を選択)すれば、縞模様(ストライプ)で
表示できるようになります。
171
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.17
補助グリッド線を表示して見栄えを良くする
補助グリッド線を表示する
グラフは、「補助グリッド線」を表示することで、グラフ領域へ補助目盛りのラインを追加できる
ので、見栄えを良くすることができます。
補助グリッド線を
表示すると、背景に
補助目盛りのライン
を追加できる
補助グリッド線を表示するには、軸ラベルを右クリックして、「補助グリッド線の表示」をクリッ
クします。
1
軸ラベルを
右クリック
2
「補助グリッド線の
表示」をクリック
172
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.18
横軸ラベルの見栄えを良くする
横軸ラベルの見栄えを良くする
グラフの 横軸のラベルは、表示する角度を変更することで、見栄えを良くすることができます。
横軸のラベルの
表示角度を変更
表示角度を変更するには、横軸のラベルを右クリックして、
「軸のプロパティ」をクリックします。
3
1
軸ラベルを
右クリック
4
2
「横軸のプロパ
ティ」をクリック
[ラベル]ページで「自動調整を無効にする」をチェックして、[ラベルの回転角度]へ任意の角
度を入力(ここでは -45 を入力)すれば、ラベルの表示角度を変更できるようになります。
173
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.19
横軸のラベルへ合計を表示する
横軸のラベルへ合計を表示する
積み上げ棒グラフでは、横軸のラベルへ合計を表示して、結果を見やすくすることができます。
横軸のラベルに区分ごと
の合計金額を表示
ラベルへ合計金額を表示するには、
[カテゴリ グループ]へ配置した「区分名」フィールドを右ク
リックして、「カテゴリ グループのプロパティ」をクリックします。
3
1
4
カテゴリ フィールドの
「区分名」を右クリック
2
「カテゴリ グループのプ
ロパティ」をクリック
[標準]ページで[ラベル]の「fx」
(式)ボタンをクリックして、次のように式を入力します。
=Fields!区分名.Value & vbCrLf & Format( Sum(Fields!受注金額.Value), "C")
先頭の「Fields!区分名.Value」は、元々設定されていた区分名を表示するための式で、これに
Visual Basic での改行を意味する vbCrLf を文字列連結して、受注金額の合計(Sum(Fields!
受注金額.Value))を Format 関数で書式を通貨(C)へ設定しています。Fields や Sum、Format
などの式や関数については、Step 13 で詳しく説明します。
174
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.20
横軸のラベルをすべて表示する
横軸のラベルをすべて表示する
グラフの 横軸のラベルは、表示するデータ(カテゴリ数)が多い場合には、グラフの横幅などを
もとに自動的に表示されるラベル数が調整されます。
ラベルをすべて表示
↓
ラベルがすべて表示されていない(自動調整されている)
ラベルをすべて表示するには、横軸のラベルを右クリックして、「横軸のプロパティ」をクリック
します。
3
1
4
軸ラベルを
右クリック
2
「横軸のプロパ
ティ」をクリック
[軸のオプション]ページで[間隔]を「1」と入力すれば、ラベルをすべて表示できるようにな
ります(既定の間隔は 自動)
。
175
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.21
横軸ラベルをグループ化して見栄えを良くする
横軸ラベルをグループ化する
グラフの横軸へ時間を表示する場合は、四半期や年などでグループ化したほうが、見栄えを良くす
ることができます。
横軸のラベルを
グループ化
時間をグループ化するには、
[カテゴリ グループ]へ次のようにフィールドを配置します。
年 → 四半期 → 月
のようにグループ化
したい順に配置
また、グラフでは、横軸のラベルをひと月ごとに表示するために、前の Step と同様、
[軸のオプ
ション]ページで[間隔]を「1」へ設定しています。
3
1
軸ラベルを
右クリック
4
2
インターレース色は横軸
に対しても設定できる
「横軸のプロパ
ティ」をクリック
176
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
なお、「年」を[系列フィールド]へ配置した場合は、次のように月ごとの売上げ比較ができるグ
ラフへ変更することができます。
棒グラフの場合
折れ線グラフの場合
177
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.22
横軸ラベルの日付データの書式を変更して見栄えを良くする
横軸ラベルの日付データの書式を変更する
「月」や「四半期」、「年」は、データセットのクエリの中で、DATENAME や YEAR 関数を利用
して取得しているので、Reporting Services からは数値または文字列のデータとして扱われてい
ます(日付としては扱われていません)
。これに対して、
「受注日」列などの日付データ(datetime
データ型など)をそのままグラフへ表示する場合は、"yyyy/MM/dd hh:mm:ss" という形式で
軸ラベルが表示されてしまいます。
"yyyy/MM/dd hh:mm:ss" 形式
で X 軸ラベルが表示される
このような日付データは、軸ラベルの書式を変更して見栄えを良くすることができます。
軸ラベルの書式の変更は、前の Step と同様、横軸を右クリックして、
「横軸のプロパティ」をク
リックし、
[数値]ページから行えます。
3
4
1
2
軸ラベルを
右クリック
「横軸のプロパ
ティ」をクリック
178
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.23
グラフの色パレットを変更して見栄えを良くする
グラフの色パレット(Palette プロパティ)によるスタイル変更
グラフは、色パレット(Palette プロパティ)を変更することで、グラフのスタイル(見栄え)を
簡単に変更することができます。ここでは、円グラフを例に説明します。色パレットを変更するに
は、次のようにグラフの背景を右クリックして、
[グラフのプロパティ]をクリックします。
1
グラフの背景を
右クリック
2
これにより、
[グラフのプロパティ]ダイアログが表示されるので、
[全般]ページの[色パレット]
から任意のパレットを選択してスタイルを変更することができます。
デフォルトは「明るいパステル」で、これまで紹介してきたグラフの色合いです。
179
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
色パレットの種類
色パレットの種類は、次のとおりです。
明るいパステル (BrightPastel)
3D の場合
Excel
3D の場合
アースストーン
3D の場合
既定
3D の場合
180
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
淡色 (Light)
3D の場合
パステル (Pastel)
3D の場合
グレー スケール (GrayScale)
3D の場合
半透明 (SemiTransparent)
3D の場合
ベリー (Berry)
3D の場合
181
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
チョコレート (Chocolate)
3D の場合
炎 (Fire)
3D の場合
シーグリーン (SeaGreen)
3D の場合
色パレットのカスタマイズ
色パレットは、次のようにカスタマイズすることもできます。これは次の Step で説明します。
色パレットのカスタマイズ (Excel 2007/2010 風)
3D の場合
182
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.24
色パレットをカスタマイズしてさらに見栄えを良くする
色パレットのカスタマイズ(CustomPaletteColors)
[色パレット]プロパティで「ユーザー定義」を選択した場合は、ユーザーが選択した任意の色か
ら色パレットを作成することができます。
ユーザー定義の色パレットを作成するには、グラフの背景を選択してから[プロパティ]ペインを
開き、プロパティの一覧から「CustomPaletteColors」を探し、
「...」ボタンをクリックします。
[プロパティ]ペインが表示されていない場合は、リボンの[表示]タブで[プロパティ]をチェ
ックしてください。
1
グラフの背景
を選択
2
これにより、次のように[ChartColor コレクション エディター]ダイアログが表示されるので、
183
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
[追加]ボタンをクリックします。
2
1
[Color]で任意の色を選択します。色パレットに含めたい色の数だけ[追加]ボタンで色を追加
していきます。
このように色を追加した場合は、結果は次のようになります。
184
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
Excel 2007/2010 風の色合い
グラフの色合いを Excel 2007/2010 風にするには、次のように色を追加します。
↓
185
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.25
カスタム色パレットを簡単に再利用できるようにするには
カスタム色パレットの再利用
前の Step で説明したカスタム色パレットは、グラフやレポートが異なるたびに[ChartColor コ
レクション エディター]で色を追加しなければならないので、何度も同じ色パレットを利用する
場合には不便です。これを解決するには(簡単に再利用できるようにするには)、Visual Basic で
コードを記述します。Reporting Services では、ユーザーが記述したカスタム コードをレポート
へ追加して、それをプロパティから参照することが可能です。
カスタム コード(Visual Basic)をレポートへ追加
カスタム コードをレポートへ追加するには、次のようにレポートの外側の領域を右クリックして、
「レポートのプロパティ」をクリックします。
1
2
レポートの外側の領域
を右クリック
3
ここへコード
を記述
色パレットを変更するためのコードは、次のように記述します。
Private colorPalette As String() = {"Color1", "Color2", "Color3"}
Private count As Integer = 0
Private mapping As New System.Collections.Hashtable()
Public Function GetColor(ByVal groupingValue As String) As String
If mapping.ContainsKey(groupingValue) Then
Return mapping(groupingValue)
End If
Dim c As String = colorPalette(count Mod colorPalette.Length)
count = count + 1
mapping.Add(groupingValue, c)
Return c
End Function
186
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
colorPalette 変数(配列)を宣言している最初の 1 行("Color1", "Color2", …)を任意の色へ
変更して、利用してください。たとえば、Excel 2007/2010 風の色合いにしたい場合は、次の
ように色を指定します。
Private colorPalette As String() = {"#4572a7", "#aa4643", "#89a54e", "#71588f",
"#4198af", "#db843d", "#93a9cf", "#d19392"}
このコードでは、GetColor というメソッドで色を取得できるようにしているので、これを利用す
るように[Σ 値]の「受注金額」の[▼]ボタンをクリックして、[系列のプロパティ]をクリッ
クします。
2
1
3
[系列のプロパティ]ダイアログが表示されたら、[塗りつぶし]ページを開いて、[色]の「fx」
(式)ボタンをクリックします。
これにより、
[式]ダイアログが表示されるので、次のように式を入力します(カスタム コードで
作成した GetColor メソッドの引数へ区分名を与えます)。
=Code.GetColor(Fields!区分名.Value)
187
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
なお、式については、Step 13 で詳しく説明しています。
以上で、区分名の色パレットを GetColor メソッドから取得できるようになります。
188
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.26
色の透明度(アルファ)を設定して見栄えを良くする
色の透明度の設定
カスタム色パレットでは、透明度(アルファ)を設定することで、3D グラフの見栄えを良くする
ことができます(より立体的に表示できるようになります)。
通常
↓
透明度(アルファ)を設定
透明度は、カスタム色パレットを作成する際の[ChartColor コレクション エディター]ダイア
ログで、次のように「その他の色」クリックして設定できます。
1
2
次のように、
[色の選択]ダイアログが表示されたら、
[透明度]の値を変更するか、スライダーで
[色のサンプル]を見ながら調整します(既定値は 255。上の結果は 220 へ変更した場合です)
。
1
189
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
3D 面グラフや棒グラフでは透明度の効果が大きい
3D 面グラフや棒グラフでは、透明度を設定しない場合は、後ろの系列が見づらいので、透明度を
設定することで、見栄えの良いグラフを作成できるようになります。
通常 (後ろの系列データが隠れてしまう)
↓
透明度(アルファ)を 220 へ変更
190
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.27
描画スタイル(DrawingStyle)を変更して見栄えを良くする
描画スタイルの変更
グラフは、描画スタイル(DrawingStyle プロパティ、円グラフの場合は PieDrawingStyle プ
ロパティ)を変更することで見栄えを良くすることができます。
描画スタイルを SoftEdge へ変更
Concave へ変更
描画スタイルは、次のように[グラフ データ]ペインで[Σ 値]の「Sum(受注金額)」を選択し
て、プロパティ一覧から「CustomAttributes」を展開して「PieDrawingStyle」から変更でき
ます。
1
データ フィールドの
Sum(受注金額)
をクリック
2
なお、グラフの種類を 3D にしている場合や、ピラミッド、じょうご、バブル、面グラフなどに
している場合は、このプロパティは サポートされていない ので、プロパティの一覧に
PieDrawingStyle が表示されません。
191
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
棒グラフの DrawingStyle
棒グラフ(3D を除く)では、次の 4 種類の DrawingStyle が用意されています。
Cylinder
Emboss
LightToDark
Wedge
Cylinder や LightToDark は、見栄えが良いので、筆者はよく利用しています。
192
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.28
データ ラベルを外側に表示して円グラフを見栄え良くする
データ ラベルを外側へ表示
円グラフのデータ ラベルは、グラフの外側へ表示して、見栄えを良くしたい場合があります。
データ ラベルを
外側へ表示
データ ラベルをグラフの外側へ表示するには、グラフをクリックして、
[プロパティ]ペインから
「CustomAttributes」を展開して、「PieLabelStyle」を「Outside」へ設定します(既定は
Inside)。
1
グラフをクリック
2
「PieLabelStyle」を
「Outside」へ設定
また、
「PieLineColor」を任意の色(ここでは Black を選択)へ設定することで、外側へ表示し
たデータ ラベルへの "吹き出し線" を設定することができます。
なお、3D 円グラフの場合は、
「PieLineColor」を「自動」へ設定することで、吹き出し線を色パ
レットと同じ色へ設定することもできます。
吹き出し線をカスタム色パレット
と同じ色へ変更できる
193
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.29
データ ラベルの表示を変更してデータの比率を表示する
データ ラベルの表示を変更してデータの比率を表示する
円グラフのデータ ラベルは、
「比率」や「軸ラベル」などを表示して、見栄えを良くしたい場合が
あります。
データ ラベルへ軸ラベル
と割合を表示
データ ラベルの表示を変更するには、データ ラベルを右クリックして、「系列ラベルのプロパテ
ィ」をクリックします。
1
データ ラベルを
右クリック
2
「系列ラベルのプロパ
ティ」をクリック
[全般]ページの[ラベル データ]から「#PERCENT」を選択すれば比率(全体に対する割合)、
194
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
「#AXISLABEL」を選択すれば軸ラベル(Axis は軸という意味)をデータ ラベルへ表示できる
ようになります。
軸ラベルと比率を両方とも表示したい場合は、
[ラベル データ]へ「#AXISLABEL #PERCENT」
のように入力します。これらの # 付きの文字列は "グラフ キーワード" と呼ばれます(詳しくは
後述します)。グラフ キーワードは、「区分名: #AXISLABEL (#PERCENT)」のように任意
の文字列を組み合わせることができ、このように入力した場合のデータ ラベルは次のようになり
ます。
「ラベル データ」を
「区分名: #AXISLABEL (#PERCENT)」
と入力した場合
グラフ キーワードへの書式設定( {書式} )
グラフ キーワードは、キーワードの後ろへ { } を付けて書式を指定することができます。たとえ
ば、「#PERCENT{P1}」と入力した場合は、書式を P1 へ指定できます(パーセント表示で、
小数点以下 1 桁まで表示。既定は 2 桁まで表示する P2)
。
「ラベル データ」を
「#AXISLABEL (#PERCENT{P1})」
と入力した場合
書式の記述方法
Reporting Services の書式は、.NET Framework と同じ書式を利用します。パーセント形式の
「P」のほかに、通貨の「C」、数値の「N」などがあります。また、
「#」や「0」を使って数値の
書式を細かく設定することもできます。よく利用する書式は、次のとおりです。
195
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
書式指定子
データ
結果
c または C
123456.777
¥123,457
c2 または C2
123456.777
¥123,456.78
p または P
0.99555
99.56%
p1 または P1
0.99555
99.6%
#,##0
123456.777
123,457
#,##0;△#,##0
-123456.777
△123,457
(##)#-###
123456
(12)3-456
00000
123
00123
0.00
1.2
1.20
00.00
1.2
01.20
yyyy
2003/2/3
2003
ggyyyy年
2003/2/3
西暦2003年
yyyy年M月d日
2003/2/3
2003年2月3日
yyyy年MM月dd日
2003/2/3
2003年02月03日
hh時
13:5:2
01時
tthh時
13:5:2
午後01時
h時m分s秒
13:5:2
1時5分2秒
HH時mm分ss秒
13:5:30
13時05分02秒
; で区切って
負の値に対する
書式を指定可能
なお、利用できる書式の詳細は、「.NET Framework 開発者ガイド」へ記載されています。
型の書式設定
http://msdn.microsoft.com/ja-jp/library/fbxft59x.aspx
グラフ キーワードの一覧
Reporting Services で利用できるグラフ キーワードの一覧は、次のとおりです。
レポート ビルダー 3.0 のオンライン ブックの以下より引用
グラフ → グラフの書式設定 → グラフでのデータ ポイントの書式設定
グラフ キーワード
説明
適用可能なグラフの種類
同等の簡単な式の例
#VALY
データ ポイントの Y 値(縦軸)
すべて
=Fields!MyDataField.Value
#VALY2
データ ポイントの Y 値の 2 番目の値
範囲、バブル
なし
#VALY3
データ ポイントの Y 値の 3 番目の値
株価、ローソク足
なし
#VALY4
データ ポイントの Y 値の 4 番目の値
株価、ローソク足
なし
#SERIESNAME
系列名
すべて
なし
#LABEL
データ ポイント ラベル
すべて
なし
#AXISLABEL
軸データ ポイント ラベル
図形
=Fields!MyDataField.Value
#INDEX
データ ポイントのインデックス
すべて
なし
#PERCENT
データ ポイントの Y 値の比率
すべて
=FormatPercent(Fields!MyDataField.
Value/Sum(Fields!MyDataField.Valu
e, "MyDataSet"),2)
#TOTAL
系列のすべての Y 値の合計
すべて
=Sum(Fields!MyDataField.Value)
#LEGENDTEXT
凡例項目のテキストに対応するテキスト
すべて
なし
#AVG
系列内のすべての Y 値の平均
すべて
=Avg(Fields!MyDataField.Value)
#MIN
系列内のすべての Y 値の最小値
すべて
=Min(Fields!MyDataField.Value)
#MAX
系列内のすべての Y 値の最大値
すべて
=Max(Fields!MyDataField.Value)
#FIRST
系列内のすべての Y 値の最初の値
すべて
=First(Fields!MyDataField.Value)
既定値は、#VALY で、Y 軸(縦軸)のデータ値(Value)がデータ ラベルとして表示されます。
196
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
データラベルに改行を含める(\n)
データ ラベルには、次のように改行を含めることもできます。
データ ラベルに
改行を入れる
改行は、「\n」と記述することで入れることができるので、[ラベル データ]へ「#AXISLABEL
(#PERCENT{P1})\n #VALY{C}」と入力すれば、上の結果のように改行を含めることがで
きます。
197
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.30
データを並べ替える
データを並べ替える
グラフでは、金額の大きい順などにデータを並べ替えたい場合があります。
↓
受注金額の大きい順
に並べ替え
データを並べ替えるには、[カテゴリ グループ]へ配置したフィールドを右クリックして、「カテ
ゴリ グループのプロパティ」をクリックします。
4
3
7
5
1
2
カテゴリ フィールドの
「区分名」を右クリック
6
「カテゴリ グループのプ
ロパティ」をクリック
「受注金額」ダブルクリックする
と「Fields!受注金額.Value」
を生成してくれる
[並べ替え]ページを開いて、[追加]ボタンをクリックし、「fx」(式)ボタンをクリックして、
次のように式を入力します。
=Sum(Fields!受注金額.Value)
Fields!受注金額.Value で受注金額を取得でき、これを Sum 関数(Reporting Services に用意
された組み込み関数)で(区分ごとに)合計を計算した結果で並べ替えるという意味です。式の入
198
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
力後、
[カテゴリ グループのプロパティ]ダイアログへ戻ったら、
[順序]で「降順」を選択して、
大きい順で並べ替えるようにします。
その他のグラフの並べ替え例
その他のグラフを並べ替えた場合は、次のようになります。
↓
並べ替え
横棒グラフでは、一番大きい値は一番下へ表示されます(降順の場合)。一番大きい値を一番上へ
表示したい場合は、[順序]で「昇順」(小さい順)を選択するようにします。
円グラフ
↓
並べ替え
円グラフは、一番大きい値が 3 時(90 度)の位置から開始されますが、これを 0 時の位置から
開始する方法は、次の Step で説明します。
漏斗(じょうご)やピラミッド グラフでの並べ替え結果は、次のとおりです。
漏斗(じょうご)
ピラミッド
199
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.31
円グラフの開始を 0 時からへ変更するには
円グラフの開始を 0 時からへ変更
円グラフは、デフォルトでは一番最初の値が 3 時(90 度)の位置から開始されますが、Excel な
どと同じように 0 時の位置から開始することができます。
既定は 3時(90度)スタート
↓
0時スタートへ変更
開 始 位 置 を 変 更 す る に は 、 次 の よ う に グ ラ フ を 選 択 し て 、[ プ ロ パ テ ィ ] ペ イ ン か ら
[CustomAttributes]を展開し、
[PieStartAngle]を「270」へ設定します。
1
グラフを選択
2
PieStartAngle の既定値は、0(3 時スタート)なので、270 度(4 分の 3)回転させて、0 時ス
タートへ変更することができます。
200
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.32
円グラフで「その他」の項目を補助円で表示するには
円グラフで「その他」の項目を補助円で表示する
円グラフには、その他の小数項目を補助円(別の円)で表示する機能があります。
その他の項目を
別の円で表示
補 助 円 を 表 示 す る に は 、 次 の よ う に グ ラ フ を 選 択 し て 、[ プ ロ パ テ ィ ] ペ イ ン か ら
[CustomAttributes]を展開し、[CollectedStyle]が「CollectedPie」になっていることを
確認します。
1
グラフを選択
2
また、
[CollectedThreshold]を「10」へ変更することで、全体の 10%に満たないものを補助
円へ移動させることができます(既定は 5%)。今回は、菓子類(9.6%)
、乳製品(8.2)
、加工食
品(7.6)が 10%に満たない区分なので、補助円へ移動されています。
また、
[CollectedLabel]を「その他の区分」、
[CollectedColor]を「Pink」へ変更することで、
メインの円側のラベルを「その他の区分」、色を「ピンク」で表示できるようになります。なお、
ラベルの既定値は「その他」に設定されていますが、この場合は Other と表示されてしまいます。
また、補助円を設定した場合は、前の Step で紹介した PieStartAngle(開始位置)の値は無効
になり、
「その他」が右側へ表示されるようになります(補助円が右側へ表示されるため)
。
201
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.33
ドーナッツ グラフの真ん中に合計を表示するには
ドーナッツ グラフの真ん中に合計を表示する
ドーナッツ グラフでは、真ん中に合計を表示したい場合があります。
ドーナッツの真ん中に
合計値を表示
合計を表示する機能は、残念ながら標準では用意されていないので、「タイトル」を流用するテク
ニックを使います。これを行うには、次のようにグラフの背景を右クリックして、「新しいタイト
ルの追加」をクリックして、2 つ目のタイトルを追加します。
1
グラフの背景を
右クリック
2
次に、追加したタイトルへ合計を表示するために、タイトルを選択して、[プロパティ]ペインを
開き、[Caption]プロパティの「式」をクリックします。
1
新しく追加した
タイトルを選択
2
202
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
式へは、次のように入力します。
="合計" & vbCrLf & Format( Sum(Fields!受注金額.Value, "DataSet1"), "C")
受注金額の合計は、「Sum(Fields!受注金額.Value, "DataSet1")」で Sum 関数で取得し、
Format 関数を使って通貨書式(C)へ変更しています。また、文字列「合計」と、改行の「vbCrLf」
を文字列連結することで、1 行目に合計、2 行目に合計値を表示できるようになります。
式を設定後、タイトルの[プロパティ]ペインから[CustomPosition]を展開し、[Enabled]
プロパティを「True」へ変更します。
1
タイトルを選択
2
これで、タイトルを任意の位置(Top と Left プロパティで指定した場所)へ移動できるように
なります。次のように Top(グラフ内の上からの位置)
、Left(グラフ内の左からの位置)
、Width
(幅)、Hight(高さ)をうまく調整して、ドーナッツの真ん中へ新しいタイトルがくるようにし
ます。
ここでは、Top を 52、Left を 7.042、Width を 67、Hight を 10 へ変更していますが、
グラフの大きさによって真ん中の位置は変わってくるので、皆さんの環境に合わせて変更してくだ
さい。また、デザイン上は真ん中に配置されていても、実際の画面(プレビュー)では真ん中から
ズレてしまうこともあります。プレビュー結果を確認しつつ、少しずつそれぞれの値を調整してみ
てください。
203
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.34
ドーナッツ グラフを二重にするには
ドーナッツ グラフを二重にする
ドーナッツ グラフは、二重にして、2 つの系列を比較して表示したい場合があります。
ドーナッツを
二重にする
このように二重に表示する機能も、残念ながら標準では用意されていないので、2 つ目のドーナッ
ツ グラフを追加して、その位置と大きさ、ドーナッツの輪の大きさを調整するテクニックを使い
ます。
まずは、外側のドーナッツの輪の大きさを小さくするために、次のようにグラフを選択して、[プ
ロパティ]ペインから[CustomAttributes]を展開し、
[DoughnutRadius]を「40」へ設定
します(既定値は 60)
。
1
グラフを選択
2
次に、2 つ目のドーナッツ グラフを追加するために、次のようにグラフの背景を右クリックして、
「新しいグラフ領域の追加」をクリックします。
1
グラフの背景を
右クリック
↓
2
新しいグラフ領域
が追加される
204
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
次に、2 つ目のドーナッツ グラフへ「数量」の区分ごとの合計を表示するために[Σ 値]へ「数
量」フィールドを追加します。
1
2
追加した[数量]フィールドを右クリックして、
[系列のプロパティ]をクリックします。
2
3
1
[軸とグラフ領域]ページを開いて、[グラフ領域]で「Area1」を選択します。これで、数量の
合計を新しいグラフ領域へ表示できるようになります(2 つ目のドーナッツを作成できます)。
205
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
次に、新しいグラフ領域へ表示された 2 つ目のドーナッツ グラフのグラフの背景を選択して、
[プ
ロパティ]ペインを開きます。
3
1
グラフの背景
を選択
2
[BackgroundColor]プロパティを「色なし」へ設定することで、2 つのグラフを重ねて表示で
き る よ う に な り ま す 。 次 に 、 前 の Step で タ イ ト ル を 任 意 の 場 所 へ 移 動 し た と き と 同 様 、
[CustomPosition]を展開して、
[Enabled]プロパティを「True」へ変更し、Top(グラフ内
の上からの位置)、Left(グラフ内の左からの位置)、Width(幅)、Hight(高さ)をうまく調整
して、ドーナッツの真ん中へ 2 つ目のドーナッツがくるようにします。
また、次のように併せて[CustomInnerPlotPosition]を利用することで位置の微調整を行え
ます。
4
タイトルのときと同様、デザイン上は真ん中に配置されていても、実際の画面(プレビュー)では
真ん中からズレてしまうことも多いので、プレビュー結果を確認しつつ、少しずつそれぞれの値を
調整してみてください。
206
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.35
棒グラフの間隔を調整するには
棒グラフの間隔を調整する
棒グラフは、棒同士の間隔を調整して、棒を揃えて表示することもできます。
↓
棒を揃える
こ の よ う に 棒 を 揃 え る に は 、 次 の よ う に グ ラ フ を 選 択 し て 、[ プ ロ パ テ ィ ] ペ イ ン か ら
[CustomAttributes]を展開し、
[PointWidth]を「1」へ変更します(既定値は 0.8)。
1
グラフを選択
2
また、PointWidth を「1.3」のように 1 よりも大きい値を指定した場合は、次のように棒同士
を重ねることもできます。
棒を重ねる
207
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.36
棒グラフの最大値と最小値を色分けするには
棒グラフの最大値と最小値を色分けする
棒グラフでは、最大値と最小値の色を変更して、見栄えを良くすることができます。
最大値と最小値を
色分けする
これを行うには、DataSet のクエリを次のように記述して作成します。
1
3
2
GROUP BY 演算を利用して
区分ごとの受注金額の合計
を計算しておく
SELECT
商品区分.区分名
,SUM(受注明細.単価 * 受注明細.数量) AS 受注金額
FROM
商品 INNER JOIN 受注明細 ON 商品.商品コード = 受注明細.商品コード
INNER JOIN 商品区分 ON 商品区分.区分コード = 商品.区分コード
GROUP BY 区分名
クエリで GROUP BY 句を使って、クエリ レベルで区分ごとの受注金額の合計(SUM)を計算
しておきます(今までは、Reporting Services のグラフの機能によってグループ化と合計の計算
を行っていました。Reporting Services では、
「系列」や「カテゴリ」へ配置したフィールドでグ
ループ化を行い、
「Σ 値」へ配置したフィールドは、デフォルトで SUM 演算が行われるようにな
っています)。
208
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
クエリを変更後、次のようにグラフを選択して、[プロパティ]ペインから[Color]プロパティ
の「式」をクリックします(このプロパティは色を設定するためのものです)
。
1
グラフを選択
2
式へは、次のように入力します(改行せずに 1 行で記述してください)。
=Iif( Fields!受注金額.Value >= Max(Fields!受注金額.Value, "DataSet1"), "LimeGreen",
Iif(Fields!受注金額.Value > Min(Fields!受注金額.Value, "DataSet1"), "Orange", "red"))
Iif は、Reporting Services に用意された組み込みの関数で、次のように条件分岐をするために
利用できます(詳しくは Step 13 で説明します)
。
Iif( 条件式, 条件が満たされた場合の処理, 条件が満たされなかった場合の処理 )
条件式には、「Fields!受注金額.Value >= Max(Fields!受注金額.Value, "DataSet1")」と記述
し、Max 関数を使って受注金額(Fields!受注金額.Value)の最大値を取得し、それ以上の大き
さかどうかをチェックしています。最大値以上だった場合には、LimeGreen(薄い緑)へ色を変
更し、そうでない場合には入れ子の Iif 関数で再び条件分岐します。
2 つ目の Iif の条件式(Fields!受注金額.Value > Min(Fields!受注金額.Value, "DataSet1"))
では、最小値より大きいかどうかをチェックし、最小値より大きい場合は Orange(オレンジ)、
そうでない場合(つまり最小値の場合)は red(赤)へ変更するようにしています。
なお、この手順では、クエリを GROUP BY 句を利用するように変更していますが、もしこれを行
わない場合は、Max(Fields!受注金額.Value, "DataSet1") が「受注明細」テーブルの中での最
大値を取得してしまうため(区分ごとの合計の最大値ではないため)、色分けをうまく行うことが
できません。また、Max( Sum(Fields!受注金額.Value), "DataSet1") のように Sum 関数を
入れたとしても、エラーになってしまいます(グラフでは、Max と Sum 関数の入れ子がサポー
トされていません)。このような制約から、事前に GROUP BY 句で区分ごとの合計値を取得して
います。
209
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.37
ツールヒントの表示
ツールヒントの表示
「ツールヒント」を設定すると、次のようにマウス オーバー時にグラフの値を表示することがで
きます。
マウスをあてると
値が表示される
ツールヒントを設定するには、
[グラフ データ]ペインの「Σ 値」にある「受注金額」フィールド
の[▼]ボタンをクリックして、[系列のプロパティ]をクリックします。
1
クリック
2
[系列のプロパティ]ダイアログの[ツールヒント]で「#VALY」と入力して、[OK]ボタンを
クリックします。
210
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
1
2
#VALY は、Y 軸(縦軸=受注金額)のデータ値(Value)という意味の特殊キーワードです。
ツールヒントの書式変更
ツールヒントで指定している #VALY に対して書式を設定したい場合には、後ろに { } を付けて
書式を指定することができます。たとえば、
「#VALY{C}」と指定した場合は、通貨形式(Currency)、
「#VALY{N0}」と指定した場合は、数値形式(Numeric)で小数点以下の桁数を 0 に設定する
ことができます。
1
2
これで、ツールヒントが 3 桁ごとのカンマ区切りで表示されるようになります。うまく表示され
ない場合は、VALY と { の間に半角スペースが空いていないかどうかを確認してみてください
(半角スペースがある場合は、書式が有効になりません)。書式については、Step 11.29 グラフ キ
ーワードの一覧も参考にして下さい。
211
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.38
レーダー チャートの見栄えを良くするには
レーダー チャートの見栄えを良くする
レーダー チャートは、スタイルを変更することで、見栄えを良くすることができます。スタイル
を変更するには、次のようにグラフを選択して、
[プロパティ]ペインから[CustomAttributes]
を展開します。
1
グラフを選択
1
AreaDrawingStyle で Circle(円)か Polygon(多角形)を変更できます(既定は Circle)。
AreaDrawingStyle = Polygon
AreaDrawingStyle = Circle
円
多角形
212
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
CircularLabelStyle では、ラベルの表示方法を変更できます。
CircularLabelStyle = Radial
CircularLabelStyle = Circle
ラベルの表示方法
が変わる
また、RaderDrawingStyle を変更して、Line(折れ線)や Marker(マーカー)スタイルにす
ることもできます(既定は Area で面)
。
RaderDrawingStyle = Marker
RaderDrawingStyle = Line
213
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.39
折れ線グラフの見栄えを良くするには
折れ線グラフの見栄えを良くするには
折れ線グラフは、線の太さや影を変更したり、グリッド線やインターレース色を追加することで、
見栄えを良くすることができます。
線の太さを変更。グリッド線とインターレースの追加
↓
標準の折れ線
線の太さを変更するには、グラフを右クリックして、「系列のプロパティ」をクリックします。
1
グラフを
右クリック
2
4
2
1
3
[罫線]ページでは、線の太さを変更できます(ここでは 3pt へ変更しています)。
[影]ページ
では、線の影を設定することができます(ここでは「影のオフセット」を 1pt へ変更しています)
。
グリッド線やインターレース色は、縦軸のところで説明したものと同様です。横軸に対してこれら
を追加するには、横軸ラベルを右クリックして、
「グリッド線の表示」と「補助グリッド線の表示」
214
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
をチェックします。
1
軸ラベルを
右クリック
2
横軸へインターレース色(縞模様)を設定するには、横軸ラベルを右クリックして、「横軸のプロ
パティ」をクリックします。
1
軸ラベルを
右クリック
3
2
折れ線グラフの種類
折れ線グラフのそのほかの種類は、次のとおりです。
3D 折れ線
通常の折れ線
215
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
階段状折れ線
マーカー付き平滑折れ線
マーカー付き折れ線グラフの場合は、マーカーの大きさを[系列のプロパティ]ダイアログの[マ
ーカー]ページから行えます。
1
折れ線を
右クリック
3
4
2
216
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.40
空データ(EmptyPoint)を表示するには
空データを表示する
グラフのデフォルトでは "空のデータ" は表示されません。
EmptyPoint を設定
↓
空のデータ(2007年 3~5月、8~12月)
このグラフは、DataSet のクエリへ次のように WHERE 句を追加して、2007 年 3~5 月のデー
タを取得しないように変更したときの結果です。
WHERE NOT (YEAR(受注.受注日) = 2007 AND MONTH(受注.受注日) IN(3, 4, 5))
2007 年 8 月以降のデータは、もともと受注テーブルには存在していません。このように空のデ
ータがある場合には、EmptyPoint を設定して、線が繋がっているように見せることができます。
これを設定するには、次のようにグラフを選択して、[プロパティ]ペインから[EmptyPoint]
を展開し、
[Color]を任意の色(Silver など)
、BorderStyle(線のスタイル)と BorderWidth
(太さ)などを設定します。
1
グラフを選択
2
また、
[CustomAttributes]を展開して、
[EmptyPointValue]を「Zero」へ変更することで、
空のデータをゼロとして表示できます(既定は Average で平均)
。
Average (既定の場合)
EmptyPointValue = Zero
217
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.41
グラフへの移動平均の追加
グラフへの移動平均の追加
Reporting Services では、次のようにグラフ内への移動平均も簡単に追加することができます。
これにより、中・長期でのデータの傾向を簡単に把握できるようになります。
ここでは、次のように[Σ 値]に「受注金額」フィールド、
[カテゴリ グループ]に「年」と「月」
フィールドを配置した折れ線グラフを作成します。
このグラフへ 3 ヶ月の移動平均(3 ヶ月ごとの平均値)を追加するには、
[グラフ データ]ペイン
で[Σ 値]に配置している「受注金額」の[▼]ボタンをクリックして、
[計算系列の追加]をク
リックします。
1
2
218
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
これにより、
[計算系列のプロパティ]ダイアログが表示されるので、
[数式]で「移動平均」を選
択して、
[期間]を「3」へ設定し、
[OK]ボタンをクリックします。
1
2
3
これで、3 ヶ月の移動平均を追加することができます。
3 ヶ月移動平均
移動平均の線のスタイルを変更して、受注金額を表す線と区別しやすくするには、
「グラフ データ」
ペインの[DerivedSeries1]の[▼]ボタンをクリックして、「計算系列のプロパティ」をクリ
ックします。
1
2
219
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
[計算系列のプロパティ]ダイアログで、
[塗りつぶし]ページを開いて、
[色]で任意の色(ライ
ム グリーンなど)を選択します。
1
4
2
3
5
[罫線]ページを開いて、
[線のスタイル]で任意のスタイル(波線など)を選択し、
[線の幅]で
任意の線の幅(2pt など)を設定して、[OK]ボタンをクリックします。
結果は、次のように表示されます。
3 ヶ月の移動平均が波線のライム グリーンで表示されていることを確認できます。
同様の操作で、6 ヶ月の移動平均も追加できます。3 ヶ月の移動平均と異なるのは、
[計算系列の
220
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
プロパティ]ダイアログで、次のように[期間]を「6」へ設定するだけです。
2
3
1
4
前述の手順と同様、[塗りつぶし]ページと[罫線]ページを利用して、任意のスタイルへ変更し
ます。
4
1
2
3
5
このように Reporting Services では、移動平均を簡単に追加することができるので、中・長期で
のデータ傾向を簡単に把握できるようになります。
221
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
Note: その他の計算系列(ボリンジャー バンドなど)
Reporting Services では、移動平均だけでなく、株価チャートでお馴染みのボリンジャー バンドを追加することもで
きます。
ボリンジャー バンドなど、その他の計算系列には、次のものがあります。
222
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.42
散布図の見栄えを良くするには
散布図の見栄えを良くする
散布図は、マーカー付き折れ線グラフから折れ線を取ったようなグラフです。
折れ線グラフと同様、マーカーの大きさやグリッド線やインターレース色を追加することで見栄え
を良くすることができます。
マーカーの大きさを変更するには、グラフを右クリックして、
[系列のプロパティ]をクリックし、
[マーカー]ページから行えます。
1
グラフを
右クリック
3
4
2
223
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.43
バブル チャートの作り方
バブル チャートの作り方
バブル チャートは、散布図のマーカーに大きさの変化(3 つ目の系列)を与えられるグラフです。
3D
バブル チャート
グラフの種類をバブル チャートへ変更した場合は、マーカー(バブル)の大きさ(サイズ)を次
のように[Σ 値]で選択できるようになります(ここでは「数量」フィールドを設定)。
バブル チャートでは、バブルの大きさの上限と下限(Max と Min)を設定できます。これを行う
には、次のようにグラフを選択して、
[プロパティ]ペインから[CustomAttributes]を展開し、
[BubbleMaxSize]で上限サイズ、
[BubbleMinSize]で下限サイズを変更します。
1
グラフを選択
2
バブル チャートでは、バブルのサイズが大きくなった場合にほかのバブルが見えづらくなるので、
Step 11.26 で説明したアルファ(透明度)を設定したカスタム色パレットを作成することで見栄
えを良くすることができます。
224
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.44
範囲グラフの作り方
範囲グラフの作り方
範囲グラフは、2 つの値の範囲を塗りつぶした折れ線グラフのようなものです。
黄色の帯が
範囲グラフ
折れ線グラフ
このグラフは、売上げ「数量」の「平均値」を折れ線グラフ、「最大値と最小値の範囲」を範囲グ
ラフで作成しています。範囲グラフを利用せずに、最大値と最小値を折れ線グラフで作成した場合
は、次のようになります。
最大値
平均値
最小値
まずは、この折れ線グラフを作成してみましょう。次のように[グラフ データ]ペインの[Σ 値]
へ「数量」フィールドを配置し、配置後「[Sum(数量)]」の[▼]ボタンをクリックして、
「集計」
から「Max」をクリックします。
1
2
これにより「[Max(数量)]」となり、最大値を取得するようになります。
225
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
式を変更したら、次のように[[Max(数量)]]を右クリックして、[系列のプロパティ]をクリッ
クして、[系列のプロパティ]ダイアログを表示します。[凡例]を展開して、[凡例のユーザー定
義テキスト]を「Max 数量」と入力します(これで凡例を Max 数量へ変更することができます)
。
1
選択
3
4
2
次に、[Σ 値]へあと 2 つ「数量」フィールドを配置し、上記と同じように操作して、Max の部
分をそれぞれ Min、Avg へ変更して最小値、平均値を取得するようにします。
=Max(Fields!数量.Value)
で最大値を取得
=Min(Fields!数量.Value)
で最小値を取得
=Avg(Fields!数量.Value)
で平均値を取得
結果は、次のようになります。
最大値
平均値
最小値
226
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
範囲グラフの作成
次に、最大値と最小値を範囲グラフへ変更します。範囲グラフへ変更するには、次のように[Σ 値]
へ配置した最大値の「数量」フィールドを右クリックして、[グラフの種類の変更]をクリックし
ます。
1
2
[グラフの種類を選択]ダイアログが表示されたら、
「平滑範囲グラフ」を選択して[OK]ボタン
をクリックします。
これにより、次のように「低」が表示され、範囲の下限へ設定したい項目を配置する場所が表示さ
れます(Max 数量は「高」という範囲の上限を設定する場所へ配置されています)
。
3
↓
1
2
4
「低」の[▼]ボタンをクリックして、
「数量」を配置します。続いて、配置された「[Sum(数量)]」
の[▼]ボタンをクリックして、
「集計」から「Min」を選択します。これで「[Min(数量)]」へ変
更することができます。
227
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
続いて、
「Σ 値」に配置している「数量1」を削除します。
↓
1
これで最大値を上限、最小値を下限とした範囲グラフが完成です(帯状のグラフが追加されます)
。
範囲の色を変更したい場合は、次のようにグラフを選択して、
「系列のプロパティ」をクリックし、
[塗りつぶし]ページから行えます。
1
グラフを選択
3
2
結果は、次のようになります。
黄色の帯が
範囲グラフ
228
折れ線グラフ
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
11.45
おわりに
おわりに
最後までこの自習書の内容を試された皆さま、いかがでしたでしょうか? SQL Server 2012 の
Reporting Services では、グラフや Tablix(マトリックス、テーブル)を簡単にカスタマイズす
ることができ、見栄え良く、実践的なレポートを作成できることを体感していただけたのではない
でしょうか。
STEP 12 以降の(下)編では、さらに実践的で役立つ内容を説明していますので、こちらもぜひ
チャレンジしてみてください。
STEP 12 以降(下)で説明する内容について
STEP 12 以降で説明する内容は、次のとおりです。

STEP 12. 一覧を利用したレポートの作成

STEP 13. 式と関数の利用とより実践的なレポートの作成

STEP 14. 地図レポート シェイプ ファイル (ESRI Shapefile)の利用

STEP 15. ABC 分析レポートの作成

STEP 16. レポートの定期的な配信とキャッシュの設定

STEP 17. 共有レポート パーツによるオブジェクトの共有
229
SQL Server 2012 自習書 No.9 Reporting Services によるレポート作成(中)
執筆者プロフィール
有限会社エスキューエル・クオリティ(http://www.sqlquality.com/)
SQLQuality(エスキューエル・クオリティ)は、日本で唯一の SQL Server 専門の独立系コンサルティン
グ会社です。過去のバージョンから最新バージョンまでの SQL Server を知りつくし、多数の実績と豊富な
経験を持つ、OS や .NET にも詳しい SQL Server の専門家(キャリア 17 年以上)がすべての案件に対応
します。人気メニューの「パフォーマンス チューニング サービス」は、100%の成果を上げ、過去すべての
お客様環境で驚異的な性能向上を実現。チューニング スキルは世界トップレベルを自負、検索エンジンでは
(英語情報を含めて)ヒットしないノウハウを多数保持。ここ数年は BI/DWH システム構築支援のご依頼
が多い。
主なコンサルティング実績
大手映像制作会社の BI システム構築支援(会計/業務システムにおける予実管理/原価管理など)
大手流通系の DWH/BI システム構築支援(POS データ/在庫データ分析)
大規模テラバイト級データ ウェアハウスの物理・論理設計支援および運用管理設計支援
大手アミューズメント企業の BI システム構築支援(人事システムにおける人材パフォーマンス管理)
外資系医療メーカーの Analysis Services による「販売分析」システムの構築支援(売上/顧客データ分析)
9 TB データベースの物理・論理設計支援(パーティショニング対応など)
ハードウェア リプレイス時のハードウェア選定(最適なサーバー、ストレージの選定)、高可用性環境の構築
SQL Server 2000(32 ビット)から SQL Server 2008(x64)への移行/アップグレード支援
複数台の SQL Server の Hyper-V 仮想環境への移行支援(サーバー統合支援)
2 時間かかっていた日中バッチ実行時間を、わずか 5 分へ短縮(95.8% の性能向上)
ピーク時の CPU 利用率 100% のシステムを、わずか 10% にまで軽減し、大幅性能向上
平均 185.3ms かかっていた処理を、わずか 39.2ms へ短縮(78.8% の性能向上)
Java 環境(Tomcat、Seasar2、S2Dao)の SQL Server パフォーマンス チューニング etc
コンサルティング時の作業例(パフォーマンス チューニングの場合)
アプリケーション コード(VB、C#、Java、ASP、VBScript、VBA)の解析/改修支援
ストアド プロシージャ/ユーザー定義関数/トリガー(Transact-SQL)の解析/改修支援
インデックス チューニング/SQL チューニング/ロック処理の見直し
現状のハードウェアで将来のアクセス増にどこまで耐えられるかを測定する高負荷テストの実施
IIS ログの解析/アプリケーション ログ(log4net/log4j)の解析
ボトルネック ハードウェアの発見/ボトルネック SQL の発見/ボトルネック アプリケーションの発見
SQL Server の構成オプション/データベース設定の分析/使用状況(CPU, メモリ, ディスク, Wait)解析
定期メンテナンス支援(インデックスの再構築/断片化解消のタイミングや断片化の事前防止策など)etc
松本美穂(まつもと・みほ)
有限会社エスキューエル・クオリティ 代表取締役
Microsoft MVP for SQL Server(2004 年 4 月~)
経産省認定データベース スペシャリスト/MCDBA/MCSD for .NET/MCITP Database Administrator
SQL Server の日本における最初のバージョンである「SQL Server 4.21a」から SQL Server に携わり、現在、SQL Server
を中心とするコンサルティングを行っている。得意分野はパフォーマンス チューニングと Reporting Services。コンサル
ティング業務の傍ら、講演や執筆も行い、マイクロソフト主催の最大イベント Tech・Ed などでスピーカーとしても活躍
中。SE や ITPro としての経験はもちろん、記名/無記名含めて多くの執筆実績も持ち、様々な角度から SQL Server に
携わってきている。著書の『SQL Server 2000 でいってみよう』と『ASP.NET でいってみよう』
(いずれも翔泳社刊)は、
トップ セラー(前者は 28,500 部、後者は 16,500 部発行)。近刊に『SQL Server 2012 の教科書』
(ソシム刊)がある。
松本崇博(まつもと・たかひろ)
有限会社エスキューエル・クオリティ 取締役
Microsoft MVP for SQL Server(2004 年 4 月~)
経産省認定データベース スペシャリスト/MCDBA/MCSD for .NET/MCITP Database Administrator
SQL Server の BI システムとパフォーマンス チューニングを得意とするコンサルタント。過去には、約 3,000 本のスト
アド プロシージャのチューニングや、テラバイト級データベースの論理・物理設計、運用管理設計、高可用性設計、BI・
DWH システム設計支援などを行う。アプリケーション開発(ASP/ASP.NET、C#、VB 6.0、Java、Access VBA など)
やシステム管理者(IT Pro)経験もあり、SQL Server だけでなく、アプリケーションや OS、Web サーバーを絡めた、
総合的なコンサルティングが行えるのが強み。Analysis Services と Excel による BI システムも得意とする。マイクロソ
フト認定トレーナー時代の 1998 年度には、Microsoft CPLS トレーナー アワード(Trainer of the Year)を受賞。
230
Fly UP