さて、唐突ですが皆さまの会社・部門は、どのくらいデータを活用していますか?データの活用度として、大きく3つにレベル分けしてみますので考えてみてください。
- レベル1「現状把握」:経営層や部門長、営業担当に対し、売上などの過去実績を見える化
- レベル2「現状分析」:各担当者自身が過去の実績を商品や販売チャネル、顧客属性などの様々な切り口で分析し、原因・対応策を探る
- レベル3「自動最適」:大量データから統計的に傾向を見出し、予測結果をシステムに反映
なぜこんな話をしたかというと、今回フォーカスする SSRS こと SQL Server Reporting Services は上記のレベル1、一般的に「見える化」と言われる部分を担うWebアプリケーションサーバー(但し、参照用途のみ)としてSQL Server に含まれています。データベースとWebアプリが同一製品の中に?と不思議に思われる方もいるかもしれません。しかし、これこそが「データプラットフォーム」という考え方を体現していると言えます。SSRS はデータベースに蓄積された実績データをレポートやダッシュボードとして Web で提供したり、メールや特定のフォルダにスケジュールしたタイミングで自動配信したりします。この自動配信機能を「サブスクリプション」と言いますが、1 つのレポートに複数のサブスクリプションを作成し異なるパラメーター値を指定することにより、よりきめ細かなレポート配信を行えます。例えば、直近一週間の売上レポートに対して3つのサブスクリプションを作成し、東日本の売上レポートを東日本のメンバーに、西日本の売上レポートを西日本のメンバーに、全国の売上レポートを経営層に、毎週月曜の朝8時に配信するという具合です。レポートにアクセスする際には、明示的あるいは暗黙的にフィルター条件を適用し、必要なデータを表示します。レポートを作って提供するのはIT部門、見るのはエンドユーザーというように、作成者と利用者の役割がはっきり分かれるのも特徴の1つです。この SSRS についてさらにご紹介する前に、レベル2、3について触れておきます。
一般的に見える化を実現すると、なぜそうなったのかを知り、対策を打ちたくなってきます。PDCA サイクルを回す、Check から Action に進むための分析、それがレベル2です。「非定型分析」や「OLAP 分析」などと呼ばれますが、この実現手段として大きく2種類あります。
分析に必要なデータを自由に取得できるのであれば、セルフサービスの BI ツールにより各自が分析することが可能でしょう。「セルフサービス」という言葉の通り、データの収集・加工からレポートにするまでをユーザー自身が行えるように設計されたツールとなります。今まで何らかの方法でデータを Excel にコピーし、VLOOKUP などの関数やマクロを多用して作成していたレポートを置き換えるものです。ガートナー社による 2016年の Magic Quadrant for Business Intelligence and Analytical Platforms (英語) において、セルフサービス BI への取り組みに対する評価の比重を増やしていることからも、注目されている分野であると言えるでしょう。このMagic Quadrant で Leader に位置付けられているマイクロソフトでは Excel のアドインや Power BI Desktop という無償のクライアントツールを提供しています。これらをまとめて「Power BI」と呼んでおり、こちらのブログで簡単に紹介しています。 どういうものか使って確かめたいという方は、こちらの連載や自習書(PDF、サンプルデータ作成用スクリプト)を参考に体験してみてください。自習書は275 ページにも及ぶ大作となっていますが、これは画面ショットをふんだんに載せているためです。ページ数やファイルサイズにひるまず、ぜひチャレンジしてください。
これだけでも格段に便利になるかもしれませんが、本質的に必要なのは「分析に必要な大量のデータを自由自在に扱える環境」です。ここで活躍するのが SSAS こと SQL Server Analysis Services です。SSAS は、エンドユーザーが Excelで簡単に、(アルファベットではなく)ビジネス用語を使って、大量のデータをパフォーマンスよく、様々な切り口でデータ分析することを可能にするサーバー側の仕組みです。こちらについては、連載の第5回でご紹介します。
レベル3はBA (Business Analytics) と呼ばれる分野です。マイクロソフトはSQL Server 2000から SSAS の一部としてデータ マイニング機能を提供してきました。更にここ数年で SQL Server R Services や Microsoft R Server、 Azure Machine Learning を加え、様々な形で BA 機能を提供しています。これら BA 分野については連載の第6回 (5回の連載を予定していましたが、1回増やします!) で紹介します。
さて、前置きがずいぶん長くなりました。今回ご紹介する SSRS は、SQL Server およびそれ以外のデータ ソースのデータを使って、表・グラフ・自由形式のレポートを作成し、Web ベースで表示および管理するプラットフォームです。
レポートにはデータソース、データセット、パラメーターなどの要素が含まれます。
名前 | 説明 |
データソース (データ接続) |
データソースへの接続情報が含まれます。データソースはレポート内で個別に作成することも、サーバー上に共有しているもの(共有データソース)を利用することもできます。(開発ツールにより作成可否が異なります。) |
データセット | 外部データソースに対してクエリを実行することによって返されるレポート データです。 SQL 文などの言語を直接記述して作成することも、GUI により作成することも可能です。レポート内で個別に作成する「埋め込みデータセット」とサーバー上で共有する「共有データセット」の2種類があります。 |
パラメーター | データの絞り込みの他、関連するレポートをリンクさせたり、レポートの外観を制御したりするために使用します。 |
データ領域とマップ | レポートの主役となるデータ領域の種類には、Tablix、グラフ、ゲージ、およびインジケーターがあります。マップは 2 つのデータセット (空間データを含むデータセットと分析データを含むデータセット) のデータを表示できるため、特別な種類のデータ領域です。 |
上記は SQL Server 2000 から提供されており、国内市場でも既に数多くのお客様に使っていただいている機能ですが、「モバイル ファースト、クラウド ファースト」というスローガンに沿って SQL Server 2016 で大きく進化しています。新機能についてはこちらのブログでも紹介しておりますので、あわせてご覧ください。