1. はじめに
これまでの2回の記事でPHPからMicrosoft SQL Server(以降、SQL Server)を使うことによるビジネス拡大の可能性、実際にどのようにPHPからSQL Serverにプログラムでアクセスするのかを見てきました。
今回は、「帳票出力」のシナリオを通じて実際にPHPからSQL Serverを活用する実践例を見てみます。
1-1. SQL Server Reporting Servicesとは?
日本における業務のIT化は入力画面の作成と伝票などの帳票出力が代表的な実装例と言えます。特に帳票出力は綿密な帳票設計から始まり、専用の用紙など日本の文化に根付いたものと言えます。ペーパーレスの推進が叫ばれて久しい現在でも引き続き「印刷が行える」という点は多くのシステム開発の要件で存在します。
マイクロソフトプラットフォームにおける帳票ソリューションには印刷用の部品コンポーネントや総合的なツールなどさまざまなものがありますが、マイクロソフト自身が特に推進しているのはSQL Server付属の標準機能であるReporting Servicesです。名前のとおり、SQL Serverのデータを使用してレポートを作成するための機能になります。
少し頭の中の切り替えが必要なのは、元々この製品はいきなり紙を出力するためのイメージを表示するPDF系のソリューションとは違い、動的なWebページ(注1)として帳票と同様のイメージを表示することから出発している点です。実際に紙に出すという観点では、エクスポート機能が使え、ExcelやWordをはじめてとして、PDFにも出力が可能になっています。つまり、2段階目で初めて実際の紙イメージに落とすフローになります。
下図のように、http://localhost/reportserverのようなページにブラウザでアクセスして利用します。
画面表示のソリューションであるという観点では、パラメーター入力も可能で、条件を変更すると表示しているデータもその場で変化するものになっています。ゆえに役員用のダッシュボード(経営指標の現況が一見して把握できる画面)などのBI(ビジネスインテリジェンス)シナリオにも利用されてきており、帳票ソリューションを超えて戦略的なITの有力なコンポーネントとして注目されています。
SQL Server Reporting ServicesはSQL Server 2008というバージョンから大幅にパワーアップしており、下図にあるような非常に視覚的で分かりやすい、Microsoft Officeで登場するさまざまな部品のような美しいレポート作りが可能になっています。加えて、以前このサービスはプロの開発ツールであるVisual Studioでレポートの設計を行う必要があったのですが、現在はReport Builder 3.0という独立したツールでレポートの設計を、Accessの画面設計と同じ感覚でできる特徴があります。マイクロソフトはこの仕組みを最近セルフサービスBIと呼んでいます。
実際に印刷するという観点ではExcelやWordをはじめとして、PDFにも出力可能なので、とても柔軟な印刷ソリューションを構築することができるでしょう。昔は連続用紙に出すような帳票は1つの帳票レイアウトで都度開発を行うというのが当たり前でした。しかし、今はこのように画面と帳票のイメージを一致させておき、Excelのピボットのようにデータを変化させ、それを印刷するあるいは別の形式のファイルに出力し、あとはOfficeの機能を使用する方法論を採ることでシステム開発のコストをスリム化する手法がよく採られます。
この製品に興味を持っていただいた方はSQL Serverの製品ページ、特にセルフサービスBI体験サイトへお越しになってください。実際に体験できるサンプルが多く存在します。さらに、マイクロソフト製品の中でもSQL Serverは最も日本語ドキュメントが整備されており、特に自習書シリーズが大人気です。上記のサンプル図のレイアウトはReporting Servicesの入門編と応用編に従えばとても簡単に作成できますし、最も初歩的なものです。より深く踏み込んでいくとSharePoint Serverのページにもレポートを組み込めるのでさらに用途が拡大します。