松本美穂と松本崇博が執筆した SQL Server 2016 自習書シリーズの「No.3 Reporting Services の新機能」の HTML 版です。 日本マイクロソフトさんの Web サイトで Word または PDF 形式でダウンロードできますが、今回、HTML 版として公開する許可をいただきましたので、ここに掲載いたします。 なお、記載している内容は、2016年 9月時点での情報になります。[2018年12月29日]
次に、比較合計グラフや放射状ゲージ、差分インジケーター、インジケーター データ グリッドなどを利用して、昨年比(前年比や前年同月比)を表示するレポートを作成してみましょう。
モバイル レポート パブリッシャーには、前年比や予算比など、差額や比率を見栄え良く表示できるパーツがたくさん用意されていて、これらを利用することでよりダッシュボードらしくなります。
昨年比のための前年金額は、次のクエリ(サンプル スクリプトの Report_Query2.sql)を利用して取得するようにします。
まずは、レポート ビルダーを利用して、共有データセットを作成します。
1.最初に、レポート ビルダーを起動します。
2.[作業の開始]ページが表示されたら、[新しいデータセット]をクリックします。
3.データ ソースの選択ページが表示されたら、Step3 で作成した共有データ ソースである「db_NorthwindJ」が選択されていることを確認して、[作成]ボタンをクリックします。
4.次に、[クエリ デザイナー]が表示されるので、[テキストとして編集]をクリックして、サンプル スクリプト内の「Report_Query2.txt」ファイルから SQL をコピーして貼り付けます。
貼り付け後、ツール バーの[!](実行)ボタンをクリックして、結果を確認します。このクエリでは、FORMAT や LAG 関数を利用して、前年同月の受注金額を取得するようになっています。
クエリ結果を確認したら、画面上部の[保存]ボタン(フローピーの形をしたアイコン)をクリックします。
5.[データセットとして保存]ダイアログが表示されたら、「ds_受注クエリ_前年付き」など任意のデータセット名を入力して[OK]ボタンをクリックします。
6.以上で、共有データセットの作成が完了です。
次に、モバイル レポート パブリッシャーでレポートを新規作成します。
1.まずは、モバイル レポート パブリッシャーで新しいレポートを作成するために、画面上部の一番左にある[新しいモバイル レポート]をクリックします。
2.次に、[データ]ボタンをクリックして、[データ]ページを開き、[データの追加]ボタンをクリックします。
3.[データの追加]ページが表示されたら、[レポート サーバー]をクリックします。
4.次に、[サーバーからデータを追加]ページが表示されるので、データセットが格納されているレポート サーバーをクリックします。
5.続いて、レポート サーバー上の共有データセットが一覧表示されるので、前の手順で作成した「ds_受注クエリ_前年付き」をクリックします。
これで共有データセットからデータ読み込まれ、読み込まれたデータは、次のように表示されます。
次に、「スコアカード グリッド」パーツを利用して、年(会計年度)ごとの売上金額と前年金額、前年比を表示してみましょう。
1.まずは、[レイアウト]ボタンをクリックして、レイアウト ページを開き、[ナビゲーター]カテゴリの[スコアカード グリッド]パーツをグリッド上にドラッグ&ドロップして配置します(縦は 3グリッド、横は 3グリッド分ぐらいに広げます)。
2.次に、スコアカード グリッドに対して、会計年度ごとの受注金額を割り当てるために、次のように[データ]ボタンをクリックして、[データ]ページを開きます。
3.[データのプロパティ]セクションの[キー]と[ラベル]、[データ キー]で「ds_受注クエリ_前年付き」データセットの「会計年度」列を設定することで、スコアカード グリッドに会計年度を表示することができます。
4.[選択時にこれらのデータセットをフィルターにかける]セクションでは、「SimulatedTable」へのチェックを外して、「ds_受注クエリ_前年付き」データセットの「会計年度」列を設定することで、スコアカード グリッドをスライサーとして利用できるようになります。
5.続いて、[スコアカード列]セクションで、次のように[スコアの追加]をクリックします。
表示されたテキスト ボックスには「前年比」と入力します。前の Step では、[値の追加]で値を追加しましたが、[スコアの追加]をクリックすることで、インジケーターを追加することができます。インジケーターは、前年比など、前年に比べて良かったのか、悪かったのかなどを矢印で表示するときなどに便利なものです。
次に、テキスト ボックスの隣の[オプション]ボタンをクリックして、インジケーターの設定を行います。
[ゲージの種類]では「差分インジケーター」、[ゲージ データ]で「受注金額」列、[比較フィールド]で「前年同月」列を設定することで、受注金額が前年同月に対して良かったのか悪かったのかをインジケーターで表示できるようになります。
6.設定後は、[プレビュー]ボタンをクリックして、レポートのプレビューを表示します。
2016年度は 2015年度よりも売上金額が良かったので緑の三角形、2015年度は 2014年度よりも悪かったので赤の逆三角形、2014年度は 2013年度のデータがないので 2013年度よりは良いということで緑の三角形で表示されています。今回は[ゲージの種類]で「差分インジケーター」(既定値)を選択しましたが、次のように他の種類を設定することもできます。
このように、スコアカード グリッドでは、スコアの追加でインジケーターを追加することで、見栄えの良い、ダッシュボードらしいパーツにすることができます。
7.動作の確認後は、[←]ボタンをクリックして、レポートのプレビューを終了します。
8.スコアカード グリッドは、インジケーター(前年比)だけだと実際の値(受注金額と前年度の金額)が分かりづらいので、次はこれらの値を表示するように変更します。これを行うには、[スコアカード列]セクションで、次のように[値の追加]をクリックします。
[値の追加]をクリックすると、テキスト ボックスが表示されるので、[受注金額]と入力して、隣のドロップダウン リストから[受注金額]列を選択します。これで、スコアカード グリッドに会計年度ごとの受注金額の合計を表示できるようになります。
9.次に、もう一度[値の追加]をクリックして、前年度の金額も表示できるようにします。
テキスト ボックスには[前年]と入力して、隣のドロップダウン リストからは[前年同月]列を選択します。これで、年ごとの前年金額の合計を表示できるようになります。
10.設定後は、[プレビュー]ボタンをクリックして、レポートのプレビューを表示します。
会計年度ごとの受注金額の合計と前年度の金額が表示されることによって、前年比が分かりやすくなったと思います。
11.動作の確認後は、[←]ボタンをクリックして、レポートのプレビューを終了します。
12.次に、スコアカード グリッド に表示されている「すべて」を非表示に設定します。これを行うには、[レイアウト]ボタンでレイアウト ページを開いて、スコアカード グリッドを選択して、[すべて選択を許可]を「オフ」に設定します。
13.設定後、[プレビュー]ボタンをクリックして、レポートのプレビューを表示し、すべて が表示されなくなることを確認します。
14.動作を確認したら、[←]ボタンをクリックして、レポートのプレビューを終了します。
次に、レポートに比較合計グラフ(比較グラフ)を追加して、月ごとの売上データを前年度の売上金額と比較するグラフを作成してみましょう。比較合計グラフは、合計グラフ(棒グラフ)の高機能版で、比較値を追加表示できるので、前年金額や予算/目標金額などを表示するのに役立つ便利なグラフです。
1.まずは、[レイアウト]ボタンをクリックして、レイアウト ページを開き、[グラフ]カテゴリの[比較合計グラフ]をドラッグ&ドロップして配置します。大きさは、縦 5グリッド、横 5グリッド分に広げます。
配置後は、[データ構造]を[行ごと]に変更します。
2.次に、比較合計グラフに月ごとの売上データと前年金額を表示するようにするために、[データ]ボタンをクリックして、[データ]ページを開きます。
[データのプロパティ]セクションの[系列名フィールド]で「ds_受注クエリ_前年付き」データセットの「年月」列、[主要な系列]で「受注金額」列を選択します。これで、月ごとの受注金額を表示できるようになります。
また、[比較対象系列]で「受注金額」列のチェックを外して、「前年同月」列のみをチェックすることで、前年同月の受注金額も表示できるようになります。
3.次に、比較合計グラフとスコアカード グリッドを連動させられるようにするために、「年月」列の隣の[オプション]ボタンをクリックして、[次に基づいてフィルター]で「スコアカード グリッド 1」をチェックします。
4.設定後、[プレビュー]ボタンをクリックして、レポートのプレビューを表示します。
スコアカード グリッドと比較合計グラフが連動して、スコアカード グリッドで選択した「会計年度」のデータ(画面は 2015年度)のみが比較合計グラフで表示されることを確認できます。比較合計グラフでは、月ごとの売上が金額の大きい月の順に表示されています(並べ替え順を変更する方法は後述します)。
また、比較合計グラフでは、受注金額が太い棒、前年同月の金額が細い棒で表示されて、前年同月との比較が簡単にできるようになっています。
5.比較合計グラフでは、次のように棒グラフを ""長押し" することで、比率を確認することもできます。
画面は 2015年度の 11月を長押ししたときのものですが、前年同月に比べて -23% 低い売上金額(マイナスの場合は赤の逆三角形で表示される)であることが分かります。
6.動作を確認したら、[←]ボタンをクリックして、レポートのプレビューを終了します。
次に、レポートに「放射状ゲージ」パーツを追加して、前年比を表示してみます。前の Step では、番号ゲージを試しましたが、番号ゲージでは単純な数値のみの表示であったのに対して、放射状ゲージでは比較値(前年比や予算比など)を追加表示できるので、よりダッシュボードらしくなる、便利なパーツです。
1.まずは、[レイアウト]ボタンをクリックして、レイアウト ページを開き、[ゲージ]カテゴリの[放射状ゲージ]をドラッグ&ドロップして配置します。次のように スコアカード グリッドの下に配置して、大きさは縦 1グリッド、横 3グリッド分に広げます。
2.次に、放射状ゲージ に受注金額と前年金額を表示するために、[データ]ボタンをクリックして、[データ]ページを開きます。
[データのプロパティ]セクションの[主要な値]で「ds_受注クエリ_前年付き」データセットの「受注金額」列、[比較対象値]で「前年同月」列を選択します。これで、受注金額と前年同月を比較した値を表示できるようになります。
また、「受注金額」列の隣の[オプション]ボタンをクリックして、[次に基づいてフィルター]で「スコアカード グリッド 1」をチェックします。これで、受注金額をスコアカード グリッドと連動させられる(選択した「会計年度」の集計値にする)ことができます。
3.次に、「前年同月」列の隣の[オプション]ボタンをクリックして、[次に基づいてフィルター]で「スコアカード グリッド 1」をチェックして、前年同月をスコアカード グリッドと連動させられるようにします。
このように放射状ゲージの場合は、それぞれの値に対して、[次に基づいてフィルター]を設定する必要があります。
4.設定後、[プレビュー]ボタンをクリックして、レポートのプレビューを表示します。
スコアカード グリッドと放射状ゲージが連動して、スコアカード グリッドで選択した「会計年度」のデータ(画面は 2015年度)のみが放射状ゲージで表示されることを確認できます。スコアカード グリッドに表示している受注金額(9.54M)と放射状ゲージに表示されている金額(\9,538,900)が同じであることから連動していることを確認できます。
放射状ゲージには、売上金額の合計だけでなく、前年度の合計金額との差額(2015年度なら前年度の合計金額は 11.6M なので、11.6M - 9.54M が差額)が表示されて、前年比(前年度と比較して何%だったのか、2015年度なら前年度より -18% 低い)も表示されるので、前年度との比較が簡単にできるようになっています。
5.動作を確認したら、[←]ボタンをクリックして、レポートのプレビューを終了します。
次に、レポートに「差分の番号」パーツを追加して、前年比を表示してみます。これの利用方法は、放射状ゲージとほとんど同じです。
1.まずは、レイアウト ページで、[ゲージ]カテゴリの[差分の番号]をドラッグ&ドロップして配置します。次のように放射状ゲージの下に配置して、大きさは縦 1グリッド、横 2グリッドに広げます。
2.次に、差分の番号に受注金額と前年金額を表示するために、[データ]ボタンをクリックして、[データ]ページを開きます。
[データのプロパティ]セクションの[主要な値]で「ds_受注クエリ_前年付き」データセットの「受注金額」列、[比較対象値]で「前年同月」列を選択します。これで、受注金額と前年同月を比較した値を表示できるようになります。
また、「受注金額」列の隣の[オプション]ボタンをクリックして、[次に基づいてフィルター]で「スコアカード グリッド 1」をチェックします。これで、受注金額をスコアカード グリッドと連動させられる(選択した「会計年度」の集計値にする)ことができます。
3.次に、「前年同月」列の隣の[オプション]ボタンをクリックして、[次に基づいてフィルター]で「スコアカード グリッド 1」をチェックして、前年同月をスコアカード グリッドと連動させられるようにします。
4.設定後、[プレビュー]ボタンをクリックして、レポートのプレビューを表示します。
スコアカード グリッドと差分の番号が連動して、スコアカード グリッドで選択した「会計年度」のデータ(画面は 2015年度)のみが差分の番号で表示されることを確認できます。放射状ゲージと差分の番号に表示されている金額(\9,538,900)や前年比(-18%)が同じであることから連動していることを確認できます。
このように、差分の番号は、放射状ゲージと同様、前年との比較が簡単にできる便利なパーツです。
5.動作を確認したら、[←]ボタンをクリックして、レポートのプレビューを終了します。
次に、レポートに「差分インジケーター」パーツを追加して、前年比を表示してみます。これの利用方法も、放射状ゲージや差分の番号とほとんど同じです。
1.まずは、レイアウト ページで、[ゲージ]カテゴリの[差分インジケーター]をドラッグ&ドロップして配置します。次のように差分の番号の右に配置して、大きさは縦横 1グリッドのままにしておきます。差分インジケーターは、狭いスペースでレポートの見栄えを良くすることができる便利なパーツです。
2.次に、差分インジケーターに受注金額と前年金額を表示するために、[データ]ボタンをクリックして、[データ]ページを開きます。
[データのプロパティ]セクションの[主要な値]で「ds_受注クエリ_前年付き」データセットの「受注金額」列、[比較対象値]で「前年同月」列を選択します。これで、受注金額と前年同月を比較した値を表示できるようになります。
また、「受注金額」列の隣の[オプション]ボタンをクリックして、[次に基づいてフィルター]で「スコアカード グリッド 1」をチェックします。これで、受注金額をスコアカード グリッドと連動させられる(選択した「会計年度」の集計値にする)ことができます。
3.次に、「前年同月」列の隣の[オプション]ボタンをクリックして、[次に基づいてフィルター]で「スコアカード グリッド 1」をチェックして、前年同月をスコアカード グリッドと連動させられるようにします。
4.設定後、[プレビュー]ボタンをクリックして、レポートのプレビューを表示します。
スコアカード グリッドと差分インジケーターが連動して、スコアカード グリッドで選択した「会計年度」のデータ(画面は 2015年度)のみが差分インジケーターで表示されることを確認できます。差分インジケーターでは、前年比のみ(2015年度なら -17.8%)が表示されて、マイナスなら赤い下矢印、プラスなら緑の上向き矢印で表示されます(金額は表示されません)。
放射状ゲージと差分の番号に表示されている前年比(-18%)と同じであることからも連動していることを確認できます。差分インジケーターは、比率のみを表示するパーツになりますが、狭いスペース(縦横 1グリッドなど)で利用できて、レポートの見栄えを良くすることができるので(ダッシュボードらしくできるので)、便利なパーツです。
5.動作を確認したら、[←]ボタンをクリックして、レポートのプレビューを終了します。
次に、レポートに「インジケーター データ グリッド」パーツを追加して、前年比を表示してみます。インジケーター データ グリッドは、スコアカード グリッドと似ているパーツですが、スコアカード グリッドがフィルター目的で利用するのに対して、インジケーター データ グリッドは、データを表形式(グリッド形式)で表示するために利用します。設定方法は、スコアカード グリッドとほとんど同じです。
1.まずは、レイアウト ページで、[データ グリッド]カテゴリの[インジケーター データ グリッド]をドラッグ&ドロップして配置します。次のように比較合計グラフの右側に配置して、大きさは縦全部(5グリッド分)、横 2グリッドに広げます。
2.次に、インジケーター データ グリッドに月ごとの受注金額を表示するために、[データ]ボタンをクリックして、[データ]ページを開きます。
[データのプロパティ]セクションの[グリッド ビューのデータ]で[ds_受注クエリ_前年付き]を選択して、[データ グリッド列]で[受注金額]と[年月]列のみをチェックして、他のチェックを外すようにします。これで、インジケーター データ グリッド に月ごとの受注金額を表示できるようになります。
3.次に、[データ グリッド列]の[年月]列が一番上にくるようにドラッグします(チェックボックスの左側にあるグリッドの形をしたアイコンを選択して、ドラッグすることで、列の順番を移動することができます)。
4.次に、[ds_受注クエリ_前年付き]データセットの隣の[オプション]ボタンをクリックして、[次に基づいてフィルター]で「スコアカード グリッド 1」をチェックします。これで、インジケーター データ グリッドをスコアカード グリッドと連動させられるようになります。
5.設定後、[プレビュー]ボタンをクリックして、レポートのプレビューを表示します。
スコアカード グリッドとインジケーター データ グリッドが連動して、スコアカード グリッドで選択した「会計年度」のデータ(画面は 2015年度)のみがインジケーター データ グリッドで表示されることを確認できます。
6.動作を確認したら、[←]ボタンをクリックして、レポートのプレビューを終了します。
7.次に、インジケーター データ グリッドで表示されている行番号を非表示に設定します。これを行うには、レイアウト ページを開いて、インジケーター データ グリッドを選択し、[行番号]を「非表示」に設定します。
8.設定後、[プレビュー]ボタンをクリックして、レポートのプレビューを表示します。
9.次に、インジケーター データ グリッドの「年月」をクリックしてみます。
「年月」をクリックすると、昇順で並べ替えが行われて、4月から順番に表示されるようになったことを確認できます。
10.次に、インジケーター データ グリッドの「受注金額」をクリックして、受注金額の小さい順に並べ替えてみます。
このようにインジケーター データ グリッドは、ヘッダーをクリックすることで、データの並べ替えを行うことができます。既定の並べ替え順は、クエリ結果に依存するので、既定の並べ替え順を変更したい場合には、クエリで ORDER BY を記述して、データ グリッドで表示したい形に並べ替えたものを取得しておく必要があります(1つのレポートでは、複数の共有データセットを利用することができるので、データ グリッド用に共有データセットを作成しておくというのも1つの方法です)。
インジケーター データ グリッドは、スコアカード グリッドと非常に似ているパーツですが、並べ替えに関する動作と、フィルターができるかどうか(スコアカード グリッドはフィルターが可能)の違いがあります。
11.動作を確認したら、[←]ボタンをクリックして、レポートのプレビューを終了します。
12.次に、インジケーター データ グリッドにインジケーターを追加して、前年同月比を分かりやすく表示してみましょう。この設定方法は、スコアカード グリッドの場合とほとんど同じで、[データ]ページを利用します。
[データ]ページでは、インジケーター データ グリッドを選択して、[データ グリッド列]セクションで、[ゲージ列の追加]をクリックします。これでゲージ列(インジケーター)を追加することができます。
13.次に、テキスト ボックスの隣の[オプション]ボタンをクリックして、インジケーターの設定を行います。
[ゲージの種類]では「差分の背景」、[ゲージ データ]で「受注金額」列、[比較フィールド]で「前年同月」列を設定することで、受注金額が前年同月に対して良かったのか悪かったのかを背景色を変更して表示(良い場合は緑、悪い場合は赤で表示)できるようになります。スコアカード グリッドでは、「差分インジケーター」を利用して、前年比を矢印(緑の三角形と赤の逆三角形)で表示していますが、「差分の背景」を利用すれば、前年比を緑と赤で表示できるだけでなく、実際の差額と比率の値も表示することができるので便利です。
14.設定後、[プレビュー]ボタンをクリックして、レポートのプレビューを表示します。
インジケーター データ グリッドに前年同月の金額と比較して、良かったのか悪かったのかが一目瞭然になったことが分かると思います。
このように、ゲージやインジケーターなど、前年や予算比など、比較対象があった場合に、見栄え良く表示するパーツや機能が多く用意されているのがモバイル レポート パブリッシャーの大きな特徴です。
15.動作を確認したら、[←]ボタンをクリックして、レポートのプレビューを終了します。
次に、作成したモバイル レポートをレポート サーバーに保存しておきましょう。
1.モバイル レポートを保存するには、モバイル レポート パブリッシャーで、次のように[モバイル レポートの保存]アイコンをクリックします。
2.[名前を付けてモバイル レポートを保存]ページが表示されたら、[サーバーに保存]をクリックします。
3.次に、[新しいレポート名]に「売上昨年比レポート」など任意のレポート名を入力して、[保存]ボタンをクリックします。
以上で、レポート サーバーへの保存が完了です。
第60回:SQL Server 2017 自習書 No.3「SQL Server 2017 Machine Learning Services」のご案内
第59回:SQL Server 2017 自習書 No.2「SQL Server 2017 on Linux」のご案内
第58回:SQL Server 2017 自習書 No.1「SQL Server 2017 新機能の概要」のご案内
第57回:SQL Server 2017 RC 版とこれまでのドキュメントのまとめ
第56回:「SQL Server 2016 への移行とアップグレードの実践」完成&公開!
第55回:書籍「SQL Server 2016の教科書 開発編」(ソシム)が発刊されました
第54回:「SQL Server 2016 プレビュー版 Reporting Services の新機能」自習書のお知らせ
第 53 回:SQL Server 2016 Reporting Services の新しくなったレポート マネージャーとモバイル レポート機能
第 52 回:SQL Server 2016 の自習書を作成しました!
第 51 回:PASS Summit と MVP Summit で進化を確信!
第 50 回:新しくなった Power BI(2.0)の自習書を作成しました!
第49 回:Excel 2016 の Power Query を使う
第 48 回:新しくなった Microsoft Power BI ! 無料版がある!!
第 47 回:「Microsoft Azure SQL Database 入門」 完成&公開!
第 46 回:Microsoft Power BI for Windows app からの Power BI サイト アクセス
第 45 回:Power Query で取得したデータを PowerPivot へ読み込む方法と PowerPivot for Excel 自習書のご紹介
第44回:「SQL Server 2014 への移行とアップグレードの実践」ドキュメントを作成しました
第43回:SQL Server 2014 インメモリ OLTP 機能の上級者向けドキュメントを作成しました
第42回:Power Query プレビュー版 と Power BI for Office 365 へのクエリ保存(共有クエリ)
第41回:「SQL Server 2014 CTP2 インメモリ OLTP 機能の概要」自習書のお知らせです
第40回: SQL Server 2012 自習書(HTML版)を掲載しました
第39回: Power BI for Office 365 プレビュー版は試されましたか?
第38回: SQL Server 2014 CTP2 の公開
第37回: SQL Server 2014 CTP1 の自習書をご覧ください
第36回: SQL Server 2014 CTP1 のクラスター化列ストア インデックスを試す
第35回: SQL Server 2014 CTP1 のインメモリ OLTP の基本操作を試す
第34回: GeoFlow for Excel 2013 のプレビュー版を試す
第33回: iPad と iPhone からの SQL Server 2012 Reporting Servicesのレポート閲覧
第32回: PASS Summit 2012 参加レポート
第31回: SQL Server 2012 Reporting Services 自習書のお知らせ
第30回: SQL Server 2012(RTM 版)の新機能 自習書をご覧ください
第29回: 書籍「SQL Server 2012の教科書 開発編」のお知らせ
第26回: SQL Server 2012 の Power View 機能のご紹介
第25回: SQL Server 2012 の Data Quality Services
第24回: SQL Server 2012 自習書のご案内と初セミナー報告
第23回: Denali CTP1 が公開されました
第22回 チューニングに王道あらず
第21回 Microsoft TechEd 2010 終了しました
第20回 Microsoft TechEd Japan 2010 今年も登壇します
第19回 SQL Server 2008 R2 RTM の 日本語版が公開されました
第18回 「SQL Azure 入門」自習書のご案内
第17回 SQL Server 2008 自習書の追加ドキュメントのお知らせ
第16回 SQL Server 2008 R2 自習書とプレビュー セミナーのお知らせ
第15回 SQL Server 2008 R2 Reporting Services と新刊のお知らせ
第14回 TechEd 2009 のご報告と SQL Server 2008 R2 について
第13回 SQL Server 2008 R2 の CTP 版が公開されました
第12回 MVP Summit 2009 in Seattle へ参加