コードを記述することなしにデータを表やグラフとして出力できる帳票ツール「Elixir Report」 2ページ
Elixir Reportを使ったドキュメント出力の流れ
Elixir Reportを利用することで、次のような手順でアプリケーションにレポート出力機能を実装できる。
- データソースの設定
- レポートのデザイン
- レポートサーバーへの配備
- クライアントからレポートサーバーにアクセスしてレポートを出力
続いてはこの流れについて、より具体的に紹介していこう。
なお、今回はElixir Reportの国内販売元であるGrapeCityが提供している無償のトライアル版を使って、Windows 7 Professional環境下での検証を行っている。トライアル版ではElixir Reportのレポートデザイナおよびレポートサーバーの全機能が制限無しで利用可能だ。トライアル版のライセンス申請はGrapeCityのElixir Reportページから行えるので、興味を持たれた方はぜひ試してほしい。
なお、本記事ではサンプルデータとして、内閣官房の情報通信技術(IT)総合戦略室が「IT DASHBOARD」というサイトで公開している日本政府の情報システム統計情報をMySQLデータベース内に格納したものを使用している。データの準備に使用したスクリプトはOSDN.JPの筆者Gitリポジトリで公開している。
今回はこのデータの中から、政府情報システム統計情報の投資計画データを取り出し、表形式のドキュメントとして出力する例を使い、Elixir Reportの機能を紹介する。この投資計画データには「投資事項ID」や「組織名」、「投資内容」、「本年度投資額」、「総投資額」といったデータが含まれており(詳しくはIT DASHBOARDのダウンロードページに記載されている)、これを元に省庁ごとの投資計画についての情報をPDF形式で出力していく。
Elixir Reportのインストール
Elixir Reportは各プラットフォーム向けのインストーラが提供されており、こちらを実行することでインストールをほぼ自動で行える(図4)。

インストーラではレポートデザイナとレポートサーバーの両方がインストール可能だ。今回はどちらも同じマシン上にインストールしたが、もちろんそれぞれを別のマシンにインストールすることもできる。
なお、インストール時にはライセンスキーファイルが必要となる。トライアル版の場合、ライセンス申請を行うとメールでライセンスキーが送られてくるので、そちらを利用する(図5)。

Elixir Reportによるレポートのデザイン
Elixir Reportでレポートを生成するには、データソースに関する情報が記述されたデータソースファイル(拡張子は「.ds」)と、データソース内のどのデータをどのように表示するかを定義したレポートテンプレートファイル(拡張子は「.rml」)の2つが必要となる。レポートデザイナではこれらを作成するためのウィザードが用意されており、指示に従って操作するだけで簡単にデータソースファイルやレポートテンプレートファイルを作成できる。
データベースへのアクセス方法やSQL文を容易に設定できる「データソースウィザード」
データソースを作成するデータソースウィザードでは、指示に従ってデータソースやそのパラメータを入力するだけで、そのデータソースにアクセスできるようになる(図6、7)。


さらに、JDBCドライバをデータソースとして使用する場合、「クエリビルダー」を利用することで、データを取得するためのSQL文をGUIで作成することが可能だ(図8)。

クエリビルダーでは、左ペインにデータベース内のテーブル一覧が表示される。ここで使用したいテーブルをクリックすると、そのテーブルで定義されているカラム一覧が右ペインに表示される。ここでデータを取り出したいカラムにチェックを入れることで、SQLが自動的に組み立てられる仕組みだ(図9)。

組み立てられたSQL文は下ペインの「SQL」タブを選択すると表示される(図10)。

もちろん手動でデータを取得するためのSQL文を記述することも可能だが、クエリビルダーを利用することでSQLに不慣れな開発者でも簡単にコードを記述できるようになるのは大きなメリットと言えるだろう。
また、作成したデータソースに対しては、「読み込み専用」や「詳細の非表示」、「暗号化」などの指定も行える(図11)。これらの設定は、たとえばデータベース関連の作業とデザイン作業を別の担当者が行うような場合、データベースへのアクセス情報を秘匿したい、といった場合に有用だ。

レポートのひな形を作成できる「レポートウィザード」
Elixir Reportでは、データソース内のどのデータをどのように表示するかを定義したファイルをレポートテンプレートファイルと呼ぶ。レポートテンプレートファイルには、どのデータをどこにどのように表示するのかといった情報が定義されており、レポートデザイナではこれをグラフィカルに作成できる。
レポートデザイナにはレポートテンプレートのひな形を作成する「レポートウィザード」が用意されており、これを使用すれば、指示に従って使用するデータソースや表示方法、データソースのうちレポートで使用したいフィールドなどを指定するだけで、レポートの大まかなデザインが完成する(図12、13)。


また、特定のフィールドを指定して階層化を行ったり、指定した方法でソートを行うことも可能だ(図14~16)。



レポートのレイアウトも複数用意されている(図17)。たとえば「アウトライン」を選択すれば、指定したフィールドごとに複数の表を作成することが可能だ。
