コードを記述することなしにデータを表やグラフとして出力できる帳票ツール「Elixir Report」 2ページ

Elixir Reportを使ったドキュメント出力の流れ

 Elixir Reportを利用することで、次のような手順でアプリケーションにレポート出力機能を実装できる。

  1. データソースの設定
  2. レポートのデザイン
  3. レポートサーバーへの配備
  4. クライアントからレポートサーバーにアクセスしてレポートを出力

 続いてはこの流れについて、より具体的に紹介していこう。

 なお、今回は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)。

図4 Elixir Reportのインストーラ(Windows版)
図4 Elixir Reportのインストーラ(Windows版)

 インストーラではレポートデザイナとレポートサーバーの両方がインストール可能だ。今回はどちらも同じマシン上にインストールしたが、もちろんそれぞれを別のマシンにインストールすることもできる。

 なお、インストール時にはライセンスキーファイルが必要となる。トライアル版の場合、ライセンス申請を行うとメールでライセンスキーが送られてくるので、そちらを利用する(図5)。

図5 Elixir Reportインストーラの「インストールモジュールの選択」画面
図5 Elixir Reportインストーラの「インストールモジュールの選択」画面

Elixir Reportによるレポートのデザイン

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

データベースへのアクセス方法やSQL文を容易に設定できる「データソースウィザード」

 データソースを作成するデータソースウィザードでは、指示に従ってデータソースやそのパラメータを入力するだけで、そのデータソースにアクセスできるようになる(図6、7)。

図6 「新しいデータソース」画面
図6 「新しいデータソース」画面
図7 JDBCデータソースのパラメータ設定画面
図7 JDBCデータソースのパラメータ設定画面

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

図8 「クエリビルダー」画面
図8 「クエリビルダー」画面

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

図9 テーブルをクリックするとそのカラム一覧が表示され、使用するカラムを指定できる
図9 テーブルをクリックするとそのカラム一覧が表示され、使用するカラムを指定できる

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

図10 「SQL」ペインにSQL文が表示される
図10 「SQL」ペインにSQL文が表示される

 もちろん手動でデータを取得するためのSQL文を記述することも可能だが、クエリビルダーを利用することでSQLに不慣れな開発者でも簡単にコードを記述できるようになるのは大きなメリットと言えるだろう。

 また、作成したデータソースに対しては、「読み込み専用」や「詳細の非表示」、「暗号化」などの指定も行える(図11)。これらの設定は、たとえばデータベース関連の作業とデザイン作業を別の担当者が行うような場合、データベースへのアクセス情報を秘匿したい、といった場合に有用だ。

図11 「セキュリティ」画面
図11 「セキュリティ」画面

レポートのひな形を作成できる「レポートウィザード」

 Elixir Reportでは、データソース内のどのデータをどのように表示するかを定義したファイルをレポートテンプレートファイルと呼ぶ。レポートテンプレートファイルには、どのデータをどこにどのように表示するのかといった情報が定義されており、レポートデザイナではこれをグラフィカルに作成できる。

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

図12 「レポートタイプの選択」でどのようなレポートを作成するかを指定できる
図12 「レポートタイプの選択」でどのようなレポートを作成するかを指定できる
図13 「フィールドの選択」画面
図13 「フィールドの選択」画面

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

図14 「グループの基準フィールドの選択」画面
図14 「グループの基準フィールドの選択」画面
図15 「ソートとグループ化」画面
図15 「ソートとグループ化」画面
図16 「ソートの設定」画面
図16 「ソートの設定」画面

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

図17 「レポートレイアウトの選択」画面
図17 「レポートレイアウトの選択」画面