bBreak
innovative system solution
1. BIRT とは... 2 2. インストール... 3 3. レポートの作成... 5 (ア) プロジェクトの作成... 5 (イ) データソース、データセットの作成... 8 (ウ) パラメータ作成... 13 (エ) レポートの出力... 18 ① 作成データのHTML 表示(フレーム使用) ... 19 ② 作成データのHTML 表示(フレームなし) ... 20 ③ 作成データのPDF 表示... 20 ④ PDF の日本語表示... 22 4. まとめ... 25bBreak
innovative system solution
本資料ではレポート作成ツール「BIRT」のインストールからレポート作成手順について説明します。
1
1.
.
B
BI
IR
RT
T
とは
と
は
BIRT(Business Intelligence and Reporting Tools)とは、Eclipse Foundation のトップレベルプロジェクトのひとつであ り、レポーティングソフトベンダーの米 Actuate 社が開発した Eclipse ベースのオープンソースレポート作成ツールで す。2005 年 6 月に ver1.0 が発表され、現在(2005 年 12 月)のバージョンは 1.0.1 です。
BIRT プロジェクトは Eclipse 上、WEB 上、またはサードパーティーベンダ上でのレポートファイル作成機能(レポート デザインエンジン)、HTML、PDF 形式でのレポート出力機能 (レポートエンジン)、数値データのチャート変換機能(チ ャートエンジン)を有しています。
bBreak
innovative system solution
2
2.
.
イ
イン
ンス
スト
トー
ー
ル
ル
BIRT 動作には以下のパッケージが必要であり、これらは http://download.eclipse.org/birt/downloads/よりダウン ロードが可能です。 ・ JDK 1.4/1.5 ・ Eclipse SDK 3.1(2.x での動作は保証されていません) ・ Graphics Editor Framework (GEF) runtime 3.1 ・ Eclipse Modeling Framework (EMF) runtime 2.1 ・ BIRT今回は実行環境として以下のバージョンをダウンロード、インストールしました。 ・ JDK 1.4.2_10
・ Eclipse SDK 3.1.1
・ Graphics Editor Framework (GEF) runtime 3.1(GEF-runtime-3.1.1.zip) ・ Eclipse Modeling Framework (EMF) runtime 2.1(emf-sdo-runtime-2.1.1.zip) ・ BIRT1.0.1(birt-report-framework-1_0_1.zip)
インストール手順
GEF、EMF、BIRT のインストールを行います。それぞれ圧縮ファイルを解凍すると eclipse ディレクトリ付きで展開さ れますので、そのまま eclipse ディレクトリへ上書きすればインストール完了です。
bBreak
innovative system solution
イン」が表示されていれば成功です。 加えて今回は DB 上のデータを HTML 形式でレポート出力しますので、AP サーバ、DBMS が必要となります。 本資料では以下のパッケージをインストールした環境で行います。 ・Tomcat 4.1.3 ・mySQL5.0 ・mySQL Connector/J 3.1.11 構成図デ ー タ ベ
ース
eclipse
レポート(HTML,PDF,
印刷物)
WEB サーバ
レポートエン
ジン
チャートエンジ
出力
レポートデザインエ
レ ポ ー ト デ ザ イ ン フ ァイル 作成 パラメータ 参照bBreak
innovative system solution
3
3.
.
レ
レポ
ポ
ート
ー
トの
の
作成
作
成
BIRT を使用して、DB 上のデータからレポートを作成し、それを WEB ブラウザ、PDF で確認するまでの手順を以下 に記します。(
(
ア
ア
)
)
プ
プ
ロ
ロ
ジ
ジ
ェ
ェ
ク
ク
ト
ト
の
の
作
作
成
成
・ BIRT プロジェクト作成 Eclipse を起動し、メニューバーから「ファイル(F)」→「新規(N)」→「プロジェクト(R)」でレポートプロジェクトを選択し 「次へ(N)>」ボタンを押下します。 プロジェクト名を入力し「終了(F)」ボタンを押下します。 ・ レポートファイル作成 レポートの実体となる「*.rptdesign」ファイルを作成します。 メニューバーから「ファイル(F)」→「新規(N)」→「その他(O)」でレポートを選択し「次へ(N)>」ボタンを押下しま す。 親フォルダは作成したプロジェクトを選択してください。名前を入力し「次へ(N)>」ボタンを押下します。bBreak
innovative system solution
ここではデフォルトのまま「new_report.rptdesign」とします。
最後にレポートテンプレートを選択します。今回はテンプレートを使用せず、「空のテンプレート」を選択し、「終了 (F)」ボタンを押下します。
bBreak
innovative system solution
bBreak
innovative system solution
(
(
イ
イ
)
)
デ
デ
ー
ー
タ
タ
ソ
ソ
ー
ー
ス
ス
、
、
デ
デ
ー
ー
タ
タ
セ
セ
ッ
ッ
ト
ト
の
の
作
作
成
成
データソース、データセットの作成を行い、DB 上のデータを取得し、eclipse でプレビュー表示します。 ・ データソース作成 データエクスプローラを表示します。データエクスプローラが表示されない場合は「ウインドウ(W)」→「ビューの表示(V)」→ 「その他(O)」より「データエクスプローラ」を選択してください。 データエクスプローラ上で「データソース」を右クリックし「新規データソース」を選択します。表示された「新規データソース」ウ インドウをから「JDBC Data Source」を選択し、データソース名に「DataSource01」を入力後、「次へ(N) >」ボタンを押下しま す。 (このとき「フラットファイルのデータソース」を選択するとCSV ファイルのデータをレポート作成時に扱えます。)bBreak
innovative system solution
今回はmySQL を使用するので「ドライバの管理」から JDBC ドライバの管理ウインドウを表示し、mySQL のドライバである jar ファイルを指定します。
bBreak
innovative system solution
・ データセット作成 「データセット」を作成します。 データエクスプローラ上で「データセット」を右クリックし「新規データセット」を選択します。表示された「新規データセ ット」ウインドウでデータセット名に「DataSet01」を入力後、「終了(F) >」ボタンを押下します。 「データセットの編集」ウインドウが表示されますので、クエリ書き込みスペースに SQL を書き込みます。 ここでは予め作成した employee テーブルからデータを取得するクエリを作成します。 「プレビューの結果」を選択すると作成したクエリに対応するデータが表示されます。「OK ボタン」を押下しデータセッ トの編集を完了します。bBreak
innovative system solution
・ プレビュー 作成したデータセットを eclipse 上でプレビューします。 「DataSet01」をレイアウトエディタ上にドラッグすると、ヘッダロウにカラム名、詳細ロウにデータ内容を含むテーブ ルが作成されます。 プロパティエディタでテーブルの外観を整え、エディタのタブをレイアウトからプレビューに切り替えます。bBreak
innovative system solution
(
(
ウ
ウ
)
)
パ
パ
ラ
ラ
メ
メ
ー
ー
タ
タ
作
作
成
成
データの表示をパラメータによって変化させます。 ・ データセット編集 SQL にパラメータを渡せるようにします。 3.2 で作成した「DataSet01」を編集します。「DataSet01」をダブルクリックし、表示された「データセットの編集」ウイン ドウにて、クエリに where 句を追加します。 追加された where 句内の「?」がパラメータとなります。 「パラメタ」を選択し、名前、データ型、方向、初期値を定義します。 ここでは「paramJobs」という文字列を「”CLERK”」という初期値で定義します。 これで「jobs=CLERK」の where 句が成立し、対応データが抽出できます。bBreak
innovative system solution
プレビューの結果を選択すると jobs が CLERK であるデータの取得が確認できます。 現在のままではパラメータは「CLERK」に限られてしまっているので、パラメータをユーザからの入力値として自由 に設定できるようにします。 データエクスプローラ上のレポートパラメタを右クリック「パラメタの新規作成」を選択し「パラメタの編集」ウインドウ を表示します。ここではパラメータの名前を「inputJobs」、型を「文字列」、パラメータのデフォルト値を「ANALYST」と して定義します。(型は「文字列」、「コンボボックス」、「リストボックス」、「ラジオボタン」が選択可能です。) 入力後、「OK ボタン」押下します。bBreak
innovative system solution
さらに、レポートパラメータとテーブルを結びつけ、レポートパラメータによって表示データを変化できるようにしま す。 レイアウトエディタ上で作成したテーブルを選択し、プロパティエディタのバインドタブを選択します。 値の初期値が「”CLERK”」になっているので、これをレポートパラメータに変更するため、右にあるボタンを押下し 「式ビルダ」ウインドウを表示します。 「このレポートのパラメタ」内の「inputJobs」をダブルクリックし、式編集スペースに「params[“inputJobs”]」が表示さ れたら、OK ボタンを押下します。 これで inputJobs に指定した文字列が where 句に設定されるようになります。bBreak
innovative system solution
・ プレビュー エディタのプレビュータブを選択します。初期表示されるデータはパラメータ指定がありませんので、レポートパラメ ータの初期値である「ANALYST」のデータが表示されます。 また、「レポートパラメタを表示します。」ボタンにより表示される「パラメタの入力」ウインドウから任意のパラメータ を設定できます。「SALESMAN」を入力します。bBreak
innovative system solution
bBreak
innovative system solution
(
(
エ
エ
)
)
レ
レ
ポ
ポ
ー
ー
ト
ト
の
の
出
出
力
力
これまでに作成したレポートの HTML、PDF 出力を、WEB ブラウザ上で確認します。 レポートファイル(*.rptdesign)を見るためにはレポートエンジンを J2EE アプリケーション上に配置する必要があり ます。 ここではレポートエンジンとしてプラグインに付属の BIRTViewer を使用します。[clipse インストールフォルダ]\plugin\org.eclipse.birt.report.viewer_1.0.1 の配下に birt というフォルダがあります。 これは BIRT インストールの際に配置されたものです。この birt フォルダを tomcat 上にアプリケーションとして設定す る必要があります。(ダウンロードサイトにより提供されるレポートエンジン(WebViewerExample)を使用しても同機能 を実現できます。birt-runtime-1_0_1.zip)
・ インストール確認ページの表示
bBreak
innovative system solution
①
①
作
作
成
成
デ
デ
ー
ー
タ
タ
の
の
H
H
T
T
M
M
L
L
表
表
示
示
(
(
フ
フ
レ
レ
ー
ー
ム
ム
使
使
用
用
)
)
3 章で作成した rptdesign ファイルをレポートエンジンに配置します。
[tomcat インストールフォルダ]\webapps\report の下に new_report.rptdesign を配置し、
[http://localhost:8080/birt/frameset?__report=report\new_report.rptdesign]をブラウザで確認します。 「__report」パラメータの value に作成したレポートファイルを指定しています。
bBreak
innovative system solution
②
②
作
作
成
成
デ
デ
ー
ー
タ
タ
の
の
H
H
T
T
M
M
L
L
表
表
示
示
(
(
フ
フ
レ
レ
ー
ー
ム
ム
な
な
し
し
)
)
アドレスの「frameset」を「run」に変更することによりフレームなしで表示可能です。この場合はパラメータを入力す ることができないのでパラメータ初期値のデータを表示します。
[http://localhost:8080/birt/run?__report=report\new_report.rptdesign]をブラウザで確認します。
③
③
作
作
成
成
デ
デ
ー
ー
タ
タ
の
の
P
P
D
D
F
F
表
表
示
示
PDF でレポートを出力するには2つの方法があります。
bBreak
innovative system solution
別ウインドウで PDF が起動し表示されます。
② パラメータとして_「__format」に「pdf」を指定する。
URL パラメータの「__format」には「html」と「pdf」が指定可能であり、「__format」パラメータを指定しなかった場合 html 表示となります。
bBreak
innovative system solution
④
④
P
P
D
D
F
F
の
の
日
日
本
本
語
語
表
表
示
示
現在の BIRT のバージョン 1.0.1 では、レポートに日本語フォントがある場合、PDF 表示時に正しく表示されません。 これは PDF 作成時の FOP に日本語フォントが含まれていないためです。 日本語フォントを含むレポート PDF 表示時bBreak
innovative system solution
以下の手順で日本語フォントを追加し、PDF 表示できるようにします。 ・ FOP のダウンロード
FOP のダウンロードサイト(http://xmlgraphics.apache.org/fop/download.html)より FOP のアーカイブをダウンロ ードし解凍(本資料の例では C ドライブ直下)します。現在(2005 年 12 月)の最新バージョンは 0.20.5 です。 ・ fontmetrics ファイルの作成 今回は「MS 明朝」と「MS ゴシック」をレポート内で表示できるようにしますので、2 種類の fontmetrics ファイルを作 成します。 コマンドプロンプトで FOP の解凍フォルダに移動し、以下のコマンドを実行し、「MS 明朝」の fontmetrics ファイル (msmincho.xml)を作成します。
java -cp build/fop.jar;lib/xerces.jar;lib/xalan.jar;lib/batik.jar org.apache.fop.fonts.apps.TTFReader -ttcname "MS Mincho" C:/WINDOWS/Fonts/msmincho.ttc msmincho.xml
続いて「MS ゴシック」の fontmetrix ファイルを作成します。
java -cp build/fop.jar;lib/xerces.jar;lib/xalan.jar;lib/batik.jar org.apache.fop.fonts.apps.TTFReader -ttcname "MS Gothic" C:/WINDOWS/Fonts/msgothic.ttc msgothic.xml
・ 設定ファイルの編集
FOP の config ファイルの編集し、fontmetrix ファイルと font の指定をします。 FOP の解凍フォルダ\conf\userconfig.xml を編集します。
<fonts></fonts>の間に「MS 明朝」と「MS ゴシック」のフォント指定を追加します。
「font-triplet」の「name」属性には日本語ではなく、unicode 変換した文字列を指定するのがポイントです。
・ JVM 起動オプションへの追加
編集した userconfig.xml を FOP の config ファイルとして、JVM の起動オプションに設定します。
<fonts>
<font metrics-file="C:\fop-0.20.5\msmincho.xml" embed-file="C:\WINDOWS\Fonts\msmincho.ttc" kerning="yes"> <font-triplet name="ms 明朝" style="normal" weight="normal"/>
<font-triplet name="ms 明朝" style="normal" weight="bold"/> <font-triplet name="ms 明朝" style="italic" weight="normal"/> <font-triplet name="ms 明朝" style="italic" weight="bold"/> </font>
<font metrics-file="C:\fop-0.20.5\msgothic.xml" embed-file="C:\WINDOWS\Fonts\msgothic.ttc" kerning="yes"> <font-triplet name="ms ゴシック" style="normal" weight="normal"/> <font-triplet name="ms ゴシック" style="normal" weight="bold"/> <font-triplet name="ms ゴシック" style="italic" weight="normal"/> <font-triplet name="ms ゴシック" style="italic" weight="bold"/> </font>
bBreak
innovative system solution
今回は tomcat をサーバとして使用していますので%TOMCAT_HOME%\bin\Catalina.bat に以下の一文を追加しま す。
JAVA_OPTS=-DFOP_CONFIG_FILE="C:\fop-0.20.5\conf\userconfig.xml"