Jump to content
We've recently updated our Privacy Statement, available here ×
  • グラフ


    hozawa
    tutorial.png.bd548d8b942969560955107cbe31ce46.png home.png.d47934663e986f19b25d44ccc78f094f.png

    作成:小沢仁 株式会社レジェンド・アプリケーションズ

    このチュートリアルで習うこと

    • データセット
    • 始めてのグラフ
    • グラフのプロパティ
    • レーダーチャート
    • グラフテーマ

    Jaspersoft Studioのレポートには複数類のグラフを表示することができます。グラフ用のデータとしてレポートように定義したデータソースの他にもサブデータセットを使うことができます。それにより、1レポートで複数の異なるデータを使ったグラフを表示することができます。

    JasperReportsは標準でも面積、棒、3次元棒、バブル、折線、円、3次元円、分散、積立棒、3次元積立棒、時系列、XY面、XY棒、XY線、メータ、など多くの種類のグラフを表示することができますが、グラフを追加したりカスタマイズする機能も装えています。

     

    データセット

    グラフの表示に使うデータはレポートが生成される時に集中されデータセットに保存されます。JasperReportsでは次のデータセットに対応しています:

    • カテゴリ
    • 期間
    • 時系列
    • XY
    • XYZ
    • 高い低い
    データセットはテーブルのようなもので、列(フィールド)から構成されています。新しいデータを挿入する場合はフィールドに値を設定します。

     

    レポートには、レポートで使うメインデータセットがあります。しかし、グラフによってメインデータセットに含まれていないデータが必要な場合もあります。このような場合はサブデータセットを定義します。各データセット及びサブデータセットは単独で定義され、データセット間の関係は持ちません。

    データセットの作成

    グラフを作成する前にグラフで使うデータセットを定義しましょう。

    1. アウトライン・ビューからレポートを右クリックして、「データセットの作成」を選択します。
      データセット作成ウィザードが開きます。
      12-1.png.adac7b1e8a2cfa26188d8fcdd51be75b.png
    2. データセットの名前を変更します。ここでは「sample_dataset」に変えます。
    3. 「接続またはデータソースから新しいデータセットを作成」を選択して、「次へ >」ボタンを押下します。
      「データセット」ウィンドウが開きます。
      12-2.png.a9d5ec7fbe3537c187ea1cc664e8c30d.png
    4. データアダプタは「Sample DB」を選択します。
    5. クエリー文には「SELECT COUNT(*) AS orders, shipcountry FROM orders GROUP BY shipcountry」を入力します。
      「次へ >」ボタンを押下します。
      「フィールド」ウィンドウが開きます。
    6. 「データセットフィールド」の内容をすべて「フィールド」へ移動します。
      データセットフィールドのフィールドをすべて選択して「>」ボタンを押下します。
      12-3.png.c03cd37cf4054182b0d01a43470c0d30.png
    7. 「Group By」ウィンドウが表示します。「次へ >」ボタンを押下します。
    8. 「完了」ボタンを押下します。
      12-4.png.9a3c2a4f4a0c0af26a3e36ad9842167a.png
    作成されたデータセットはアウトライン・ビューに追加されます。

     

    始めてのグラフ

    さて、早速グラフを作成して見ましょう!次の手順で3次元の円グラフを作成することができます。

    1. 新しいレポートを作成します。データソースには「sample_dataset」を選択します。
    2. 国別の注文数を表示する円グラフを作成します。そのために、次のSQL文を入力します:
      SELECT COUNT(*) AS orders, shipcountry FROM orders GROUP BY shipcountry
    3. 作成されたフィールドを詳細領域にコピーします。
      アウトライン・ビューからフィールドを展開して、ordersとshipcountryを詳細領域にドラッグ&ドロップします。
      12-5.png.c85316d254fffd9701b1c7d8e964c5ff.png
    4. サマリー領域の高さを378pxに設定します。
      12-6.png.9166b417cc507956cee317e42089aa40.png
    5. パレット・ビューから「グラフ」コンポーネントをレポートレイアウトのサマリー領域にドラッグ&ドロップします。
      グラフウィザードが開きます。
      12-7.png.ac8b38a8746e8d999de4f00e2121ca1a.png
    6. 3次元円グラフを選択して「次へ >」ボタンを押下します。
    7. サマリー領域に配置された大きさを領域の大きさまで拡大します。
      12-8.png.27e8b8f06dbe9b164a51e15cbac668ec.png
    注:レポートレイアウトは指定されたデータソースを使ってグラフを表示しません。

     

    グラフの設定
    1. グラフコンポーネントを選択します。グラフデータ設定ウィンドウが開きます。
      このウィンドウからグラフで使うデータを設定します。
      12-9.png.d34b9c5fba2bd107cff0f53b435141b2.png
    2. 表示するスライスを制限する場合は、「表示する最大数」を設定します。指定した数以上のデータは「その他」に纏められます。このチュートリアルでは「10」に設定してくだしあ。
    3. このグラフ内のみでのデータセット指定する場合は、「データセット」タブ内の項目を設定します。「インクリメント」と「リセット」の設定はレポートのプロパティ設定と同じ動作を行います。
      12-10.png.1c5b6b4522b38cba530a290a282fdea9.png
    4. グラフで使うデータもこのグラフデータ設定ウィンドウで指定します。円グラフでは次の3つの項目を設定します:
      • キー:円グラフのスライスを特定できる識別子。キーが重複していると前のキーが上書きされます。なお、キーがnullの場合はエラーになります。
      • :キーに関連した値
      • :スライス用のラベル。デフォルトはキーです。
      各項目の右にあるボタンをクリックすると入力ダイアログが表示します。チュートリアル用にダイアログからは以下のデータを入力してください:
      :$F{orders}
      ラベル:$F{shipcountry}
      キー:$F{shipcountry}
    5. 「完了」ボタンを押下します。
    6. レポートを保存して、プレビューしてください。
      12-11.png.0e648fc6b5ea04607ce8bae2450405ee.png
      円グラフの各スライスはその国の合計注文数です。

    グラフのプロパテ

    グラフの外観はプロパティ・ビューから設定します。グラフコンポーネント用のプロパティ・ビューには次のタブがあります:
    外観、枠、ハイパーリンク、グラフ、グラフプロット、詳細
    詳細タブはグラフのすべてのプロパティを表示します。
    12-12.png.abe19a69d148b2215d4dd01261e9d555.png

    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にあります。

    レーダーチャー

    レーダーチャートは別のコンポーネントとして開発されたため、他グラフとは別のコンポーネントになっていますが設定方法は同じです。

    グラフ用のレポートの作成
    1. 新しいレポートを作成します。データソースには「sample_dataset」を選択します。
      クエリーは次のようにします:
      SELECT * FROM orders
      「次へ >」ボタンを押下します。
    2. すべての項目を使うので、選択してフィールドへ移動します。
      「次は >」ボタンを押下します。
    3. グループは行わないので、「次へ >」ボタンを押下します。
    4. アウトライン・ビューから「題名」領域と「サマリー」領域以外の領域をすべて削除します。
    5. 固定文字列を題名領域に配置します。文字列を「従業員別の月間/国別の注文数」とします。
    6. さまりー領域の高さを350ピクセルにします。
    レーダーチャートのレポートの作成
    1. パレットビューからレーダーチャートコンポーネントをレポートレイアウトにドラッグ&ドロップします。
      12-13.png.2d7d59d5d6386eff19743060a3a218f8.png
    2. アウトライン・ビューからレポートを右クリックしてデータセットを新規に作成します。
    3. 新規に作成したデータセットをクリックして、プロパティ・ビューのフィルタに次の定義を入力します。
      12-14a.png.3ed64ebf7bb79569b38af5ecb7bdd5e7.png
      「フィルタ」タブを選択した次の式を入力します。(改行は入れないでください。)
      ( $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" ) )
      12-14.png.2d7f7dbe1f4bd9dfaf8d1dc34929225f.png
    4. 入力した後に「OK」ボタンを押下します。
    5. レーダーチャートをダブルクリックします。「グラフデータ設定」ウィンドウが開きます。
    6. 「シリーズ」ボタンを押下します。「$F{employeeid}」を入力します。
    7. 「値」ボタンを押下します。「MONTH(%F{orderdate}))」を入力します。
    8. 「カテゴリ」ボタンを押下します。「$F{shipcountry}」を入力します。
    9. 「完了」ボタンを押下します。
    チャートの外観を変更

     

    1. レーダーチャートをクリックします。
    2. プロパティ・ビューの「凡例」の「凡例を表示」を「True」に設定します。
    3. 「位置」ドロップダウンを使って凡例を左へ移動させます。
    4. パレット・ビューから固定文字列コンポーネントを凡例の上に配置します。
      内容を「従業員番号」にします。
    5. レポートを保存します。
      12-15.png.65f7496eab47c39e0eaf45d8900cabfe.png
    6. レポートをプレビューします。
      12-16.png.2892e14ae840aa1fb74e9ea2fd250350.png

    グラフテーマ

     

    グラフテーマの作成

    1. メニューから「ファイル」-「新規」-「その他」を選択します。
      「新規」ウィザードが開きます。
    2. 「Jaspersoft Studio」-「グラフテーマ」を選択して、「次へ」ボタンを押下します。
      12-17.png.dcb6020ad359501e0b70de7243c8d128.png
    3. テーマを作成するプロジェクト(フォルダ)を選択して、テンプレートのファイル名を入力します。
      12-17b.png.737170b2c2bcbc86eec6c66a979a33db.png
      例では「MyReports」プロジェクトにファイル名「MyTemplate.jrctx」と言う名前のファイルを作成します。
      「完了」ボタンを押下するとテンプレートが生成されます。
    4. テンプレートが作成されると次のようなページが表示され、テンプレートにグラフの設定をすることができます。

    テンプレートの設定

    アウトライン・ビューから設定したい項目を選択します。
    12-18.png.fdf8c171bce3e47c9ee82ef42619a427.png

    先ずは、グラフの背景色にグラデーションを設定して見ましょう。

    1. 「Chart」を選択します。
    2. プロパティ・ビューの「グラフ」を選択して、「背景」-「ペイント」入力フィールドの右のボタンを押下します。
    3. 「グラデーション」をチェックします。
    4. 「色1」と「色2」に十進で色のRGBを入力します。各フィールドの右側のボタンを押下すると画面から色を選択することができます。
    5. 色を選択した後に「OK」ボタンを押下します。編集領域に設定の見本が表示されます。
    6. 「保存」アイコンを選択して、設定をファイルに保存します。
      これで背景色をグラデーションする設定は終わりました。
       

    注:編集領域下の「ソース」タブを選択して定義したXMLファイルを見ることができます。しかし、すべての設定が1行で表示されます。XMLファイルを直接編集する場合は無いようをXMLエディタにコピー&ペーストしてXMLエディタで編集すると便利です。

    グラフテーマ用のjarファイルの生成

    グラフにテーマを適用する場合は、jrctxファイルからjarファイルを作成する必要があります。

    1. 編集領域の「プレビュー」タブを選択して、見本を表示します。
    2. 「グラフテーマをjarへエクスポート」アイコンを押下します。
      12-19a.png.022fc46079a752ee8eb1dd5f15f545e2.png
    3. jarファイルを生成するプロジェクト(フォルダ)を選択します。
      例では「MyReports」プロジェクトを選択します。
      12-19.png.c6f41d5d5a419e6de9875783cd3b07f9.png
    4. 生成するjarファイル名を入力します。通常はデフォルトのグラフテンプレート名で問題はありません。
      「OK」ボタンを押下すると、jarファイルが生成されます。
    5. グラフテーマが作成されると次のようなダイアログが表示します。
      「OK」ボタンを押下します。

    グラフテーマの適用

    グラフテンプレート用のjarファイルと同じプロジェクトにあるレポートのグラフにグラフテンプレートを適用することができます。

    1. グラフがあるレポートを開きます。
    2. グラフを選択します。
    3. プロパティ・ビューを選択します。
    4. 「テーマ」ドロップダウンリストから作成したグラフテーマを選択します。

    他プロジェクトでグラフテーマの利用用

    他プロジェクトでグラフテーマを利用する場合は、そのプロジェクトにグラフテーマ用のjarファイルを含めます

     

    12-1.png.700a4f4ef348116fab699f2caea3a123.png

    12-2.png.0cc10537a5bab425db8dcd7f612bc6d9.png

    12-3.png.d27261b64361639758d863f0defae1c7.png

    12-4.png.c9b9ceaa696cc465982aeb55c58bb5e4.png

    12-5.png.26aeed71c97d60f86e3376b5299d0f57.png

    12-6.png.25a0059ceba1dc6b8c7c519bf4ab7f9a.png

    12-7.png.d75b0292b3ab76fb40935f177cadcd49.png

    12-8.png.83df39fbd6ecaaf26abb7d0ef08045ec.png

    12-9.png.f17e9c17f4d420e152cef5123a5ba853.png

    12-10.png.9c963a7444884675f6c1c0189069e4d8.png

    12-11.png.42209b39ab8d985144ae84958f853dd9.png

    12-12.png.e35a6445c9c6d7eef6a68b131dddf1e5.png

    12-13.png.0a27c28c67f5d439099ce1cbcfc69ee0.png

    12-14a.png.400a2cf8e573a0e429ecaf959369382a.png

    12-14.png.88bdb75b2b1a5a8fb1324247b8b3c81c.png

    12-15.png.cbc1e0a637248c48ee6b629081aa0f40.png

    12-16.png.c002710bfaff5e5c3faf2856c1adb3e5.png

    12-17.png.dd607d7c9beab5e0f4a653fa26bbcd3e.png

    12-17b.png.96b3fbbb8e51be45edae51fab5023955.png

    12-18.png.a54e2a6f0a621cf78dcf6c9c30780a17.png

    12-19a.png.781031310d083df40876ec006d459638.png

    12-19.png.090fb405480773e86cee3b74e7c0b6fe.png


    User Feedback

    Recommended Comments

    There are no comments to display.



    Guest
    This is now closed for further comments

×
×
  • Create New...