SSRS で新規陽性者数の推移グラフを作ってみる【番外編】

SSRS で新規陽性者数の推移グラフを作ってみる【第7回で、都道府県の絞り込みをデータセットのフィルタで実装しましたが、クエリの WHERE 句への実装に変更したいと思います。

今回作っているレポートは、元データが物理ファイルなのであまり関係ありませんが、普通にデータベース上のテーブルだと WHERE 句への実装の方が好ましいです。なぜならフィルタはあくまでもデータベースから取得したデータをSSRS上で絞り込みしているだけですが、WHERE 句だと絞り込みはデータベース側で行われるからです。つまりインデックス等のデータベース側の機能がフル活用できるというメリットがあります。では、どういうときにフィルタを使うべきか、という話がありますが、少なくともクエリで絞り込めるなら(=SQLであるなら)、「データセット」のフィルター機能は意味がない思います。

クエリの修正

まず、データセット"DataSet1″のプロパティから「クエリ」に WHERE 句を追加します。追加するのは以下のWHERE 句です。バインド変数には「@」を付けます。

WHERE T.都道府県 = @都道府県
クエリの修正

パラメータの設定

次にパラメータを開くと設定したバインド変数が追加されています。ここから「式」ボタン(fx)から「レポートのパラメータ」と紐づけます。同じパラメータという言葉ですが意味が違うので注意してください。

パラメータの設定

フィルターの削除

最後に都道府県をフィルタしていた定義を削除します。

フィルターの削除

これで入替は完了です。変更前と同じ結果になれば問題ないです。

BISQLServer,SSRS

Posted by takmaru