作成:小沢仁 株式会社レジェンド・アプリケーションズ
このチュートリアルで習うこと
- データセット
- 始めてのグラフ
- グラフのプロパティ
- レーダーチャート
- グラフテーマ
Jaspersoft Studioのレポートには複数類のグラフを表示することができます。グラフ用のデータとしてレポートように定義したデータソースの他にもサブデータセットを使うことができます。それにより、1レポートで複数の異なるデータを使ったグラフを表示することができます。
JasperReportsは標準でも面積、棒、3次元棒、バブル、折線、円、3次元円、分散、積立棒、3次元積立棒、時系列、XY面、XY棒、XY線、メータ、など多くの種類のグラフを表示することができますが、グラフを追加したりカスタマイズする機能も装えています。
データセット
グラフの表示に使うデータはレポートが生成される時に集中されデータセットに保存されます。JasperReportsでは次のデータセットに対応しています:
- 円
- カテゴリ
- 期間
- 時系列
- XY
- XYZ
- 高い低い
- 値
レポートには、レポートで使うメインデータセットがあります。しかし、グラフによってメインデータセットに含まれていないデータが必要な場合もあります。このような場合はサブデータセットを定義します。各データセット及びサブデータセットは単独で定義され、データセット間の関係は持ちません。
データセットの作成
グラフを作成する前にグラフで使うデータセットを定義しましょう。
- アウトライン・ビューからレポートを右クリックして、「データセットの作成」を選択します。
データセット作成ウィザードが開きます。 - データセットの名前を変更します。ここでは「sample_dataset」に変えます。
- 「接続またはデータソースから新しいデータセットを作成」を選択して、「次へ >」ボタンを押下します。
「データセット」ウィンドウが開きます。 - データアダプタは「Sample DB」を選択します。
- クエリー文には「SELECT COUNT(*) AS orders, shipcountry FROM orders GROUP BY shipcountry」を入力します。
「次へ >」ボタンを押下します。
「フィールド」ウィンドウが開きます。 - 「データセットフィールド」の内容をすべて「フィールド」へ移動します。
データセットフィールドのフィールドをすべて選択して「>」ボタンを押下します。 - 「Group By」ウィンドウが表示します。「次へ >」ボタンを押下します。
- 「完了」ボタンを押下します。
始めてのグラフ
さて、早速グラフを作成して見ましょう!次の手順で3次元の円グラフを作成することができます。
- 新しいレポートを作成します。データソースには「sample_dataset」を選択します。
- 国別の注文数を表示する円グラフを作成します。そのために、次のSQL文を入力します:
SELECT COUNT(*) AS orders, shipcountry FROM orders GROUP BY shipcountry - 作成されたフィールドを詳細領域にコピーします。
アウトライン・ビューからフィールドを展開して、ordersとshipcountryを詳細領域にドラッグ&ドロップします。 - サマリー領域の高さを378pxに設定します。
- パレット・ビューから「グラフ」コンポーネントをレポートレイアウトのサマリー領域にドラッグ&ドロップします。
グラフウィザードが開きます。 - 3次元円グラフを選択して「次へ >」ボタンを押下します。
- サマリー領域に配置された大きさを領域の大きさまで拡大します。
グラフの設定
- グラフコンポーネントを選択します。グラフデータ設定ウィンドウが開きます。
このウィンドウからグラフで使うデータを設定します。 - 表示するスライスを制限する場合は、「表示する最大数」を設定します。指定した数以上のデータは「その他」に纏められます。このチュートリアルでは「10」に設定してくだしあ。
- このグラフ内のみでのデータセット指定する場合は、「データセット」タブ内の項目を設定します。「インクリメント」と「リセット」の設定はレポートのプロパティ設定と同じ動作を行います。
- グラフで使うデータもこのグラフデータ設定ウィンドウで指定します。円グラフでは次の3つの項目を設定します:
- キー:円グラフのスライスを特定できる識別子。キーが重複していると前のキーが上書きされます。なお、キーがnullの場合はエラーになります。
- :キーに関連した値
- :スライス用のラベル。デフォルトはキーです。
値:$F{orders}
ラベル:$F{shipcountry}
キー:$F{shipcountry} - 「完了」ボタンを押下します。
- レポートを保存して、プレビューしてください。
円グラフの各スライスはその国の合計注文数です。
グラフのプロパテ
グラフの外観はプロパティ・ビューから設定します。グラフコンポーネント用のプロパティ・ビューには次のタブがあります:
外観、枠、ハイパーリンク、グラフ、グラフプロット、詳細
詳細タブはグラフのすべてのプロパティを表示します。
JasperReportsはグラフを処理するのに、JFreeChartを使っています。残念ながらJFreeChartが提供しているすべての機能はプロパティから設定できません。但し、JasperReportsで未対応の機能は次のJavaインターフェースを実装して使うことができます:
net.sf.jasperreports.engine.JRChartCustomer
このクラスには次の1つのメソッドのみが定義されています。
public void customize(JFreeChart chart, JRChart jasperChart); このメソッドをオーバーライドして使いかい機能を実装することができます。このメソッドの引数はJFreeChartオブジェクトとJRChartオブジェクトです。JFreeChartオブジェクトはJFreeChartのオブジェクトです。JRChartオブジェクトはJasperReportsのグラフオブジェクトです。指定したデータセット情報などの情報はJRChartにあります。
レーダーチャー
レーダーチャートは別のコンポーネントとして開発されたため、他グラフとは別のコンポーネントになっていますが設定方法は同じです。
グラフ用のレポートの作成- 新しいレポートを作成します。データソースには「sample_dataset」を選択します。
クエリーは次のようにします:
SELECT * FROM orders
「次へ >」ボタンを押下します。 - すべての項目を使うので、選択してフィールドへ移動します。
「次は >」ボタンを押下します。 - グループは行わないので、「次へ >」ボタンを押下します。
- アウトライン・ビューから「題名」領域と「サマリー」領域以外の領域をすべて削除します。
- 固定文字列を題名領域に配置します。文字列を「従業員別の月間/国別の注文数」とします。
- さまりー領域の高さを350ピクセルにします。
- パレットビューからレーダーチャートコンポーネントをレポートレイアウトにドラッグ&ドロップします。
- アウトライン・ビューからレポートを右クリックしてデータセットを新規に作成します。
- 新規に作成したデータセットをクリックして、プロパティ・ビューのフィルタに次の定義を入力します。
「フィルタ」タブを選択した次の式を入力します。(改行は入れないでください。)
( $F{shipcountry}.startsWith("N") || $F{shipcountry}.startsWith("M") || $F{shipcountry}.startsWith ("U") || $F{shipcountry}.startsWith ("I") ) || $F{shipcountry}.startsWith("A") && ( $F{shipname}.startsWith( "M" ) || $F{shipname}.startsWith( "A" ) || $F{shipname}.startsWith( "G" ) ) - 入力した後に「OK」ボタンを押下します。
- レーダーチャートをダブルクリックします。「グラフデータ設定」ウィンドウが開きます。
- 「シリーズ」ボタンを押下します。「$F{employeeid}」を入力します。
- 「値」ボタンを押下します。「MONTH(%F{orderdate}))」を入力します。
- 「カテゴリ」ボタンを押下します。「$F{shipcountry}」を入力します。
- 「完了」ボタンを押下します。
グラフテーマ
グラフテーマの作成
テンプレートの設定
先ずは、グラフの背景色にグラデーションを設定して見ましょう。
- 「Chart」を選択します。
- プロパティ・ビューの「グラフ」を選択して、「背景」-「ペイント」入力フィールドの右のボタンを押下します。
- 「グラデーション」をチェックします。
- 「色1」と「色2」に十進で色のRGBを入力します。各フィールドの右側のボタンを押下すると画面から色を選択することができます。
- 色を選択した後に「OK」ボタンを押下します。編集領域に設定の見本が表示されます。
- 「保存」アイコンを選択して、設定をファイルに保存します。
これで背景色をグラデーションする設定は終わりました。
注:編集領域下の「ソース」タブを選択して定義したXMLファイルを見ることができます。しかし、すべての設定が1行で表示されます。XMLファイルを直接編集する場合は無いようをXMLエディタにコピー&ペーストしてXMLエディタで編集すると便利です。
グラフテーマ用のjarファイルの生成
グラフテーマの適用
グラフテンプレート用のjarファイルと同じプロジェクトにあるレポートのグラフにグラフテンプレートを適用することができます。
- グラフがあるレポートを開きます。
- グラフを選択します。
- プロパティ・ビューを選択します。
- 「テーマ」ドロップダウンリストから作成したグラフテーマを選択します。
他プロジェクトでグラフテーマの利用用
他プロジェクトでグラフテーマを利用する場合は、そのプロジェクトにグラフテーマ用のjarファイルを含めます
Recommended Comments
There are no comments to display.