SSRS で新規陽性者数の推移グラフを作ってみる【第7回】
前回からの続きです。今回は最終回です。
ここまでの成果ですが、前回作った「グラフ表示期間」の場所が違うのと、サイズを含めた細かい見た目を除いては、デザインは近づいたと思います。

本レポートは最初から全国(都道府県=ALL)を対象に作ってきたわけですが、実際のデータは都道府県単位になっており、 本家サイトでも都道府県は選択できるようになっています。そこで、最後に都道府県をパラメータにして選択できるようにしたいと思います。
都道府県変換テーブル
元データ上では都道府県は、ALL, Hokkaido といった英語表記で記載されていますので、まずは日本語に変換するテーブルを準備します。DDLは省略しますが、以下のような感じです。
SELECT * FROM TESTDB..都道府県変換;

これを読み込んだ結果を使って都道府県を選択するためのコンボボックスを作成していきます。
データセットの作成
外部のデータの読み込みは、すべてデータセットを介して行う必要がありますので、まずは都道府県変換テーブルを読み込むデータセットを作成します。デザイナの左ペインのデータセットを選択して右クリック→「データセットの作成」を選択します。「データソース」を選択し、「クエリ」には作成した都道府県変換テーブルを SELECT する SQL を入力します。
※ほんとは「名前」も分かりやすくした方がいいです。もう遅いのでこのままで、、、

作成した DataSet2 がツリー上に表示されていれば OK です。

パラメータの作成
都道府県を選択するパラメータを追加します。左ペインの「パラメータ」を右クリック→「パラメータの追加」を選択してください。レポートパラメータのプロパティでは以下のように設定します。

「使用できる値」では「クエリから値を取得」を選択し、先ほど作成したデータセット(DataSet2)を選択して設定します。

「規定値」では、全国(ALL)をデフォルトとして設定します。

パラメータが追加されました。

フィルタ条件にパラメータ値を使う
都道府県の絞り込みは「第4回」にデータセット(DataSet1)のフィルタに設定しています。このフィルタ条件をパラメータから設定するように変更していきます。
まず、データセット DataSet1 のプロパティから「フィルター」を選択します。

現在は、固定値で ALL となっているので、変更するために「式」ボタン(fx)を選択し、式を入力します。指定したいパラメータをダブルクリックすることで式に転記されるので、そちらを利用しても良いです。

動作確認
「実行」ボタンでプレビューしてみます。都道府県を選択して「レポートの表示」を選択してみてください。選択した都道府県で絞り込んだグラフが表示されました。

縦軸のスケールを固定にしているので少し山が見にくいですね。本来なら縦軸も、前回の横軸のようにスケールを調整するルールを決めて自動調整すれば良いのですが、今回は割愛します。
まとめ
最後に少し調整しました。指標値の間に線を入れて、凡例を消して単位のテキストボックスを貼り付けました。グラフの色も本家と合わせ、全体的にサイズ調整してできたのが、こんな感じです。

左が目標としていたレポートで、右が完成したレポートです。まぁ、遜色ない感じではないでしょうか。
さて7回に渡って書いてきましたが、なんとか完成までいけました。正直慣れの問題で結構すぐに量産できるようになります。たくさん作る場合には、共有データソースや共有データセット、レポートパーツ等をうまく使わないと、後で痛い目にあいます。また、今回はデータセット名など、名前をまじめにつけてないところが多かったですが、このあたりも命名ルールを作った方がいいです。メンテナンスでほんとうに苦労します。
SSRS の良いところは、SQL Server を買ったらついてくるところです。中小企業向けであれば十分運用に耐えられるレポートを作成することができると思います。
あと私も知らなかったのですが、SQL Server 2016 以降(なのかな?)には、KPIだのモバイルレポートだの新たな機能もできてるようなので別途試してみたいと思います。
ということで、今回は終了です。
ディスカッション
コメント一覧
まだ、コメントがありません