3

このテーブルを使用してiReportチャートを作成しようとしています

name|totalcalls|handled|abandoned|rejected

customerservice|300|100|100|100

itsupport|500|300|100|100

この場合、2つのグラフが必要であるという考えです。これは、グラフを詳細行に配置することで簡単に解決できました。

しかし、 iReportに最後の3つの列(処理済み、放棄済み、拒否済み)を異なるシリーズとして処理させる方法がわかりません。

理想的には、次のような積み上げ棒グラフを作成します。

customerservice|-100-|-100-|-100-

itsupport|---300---|-100-|100

これを機能させる方法がわかりません。

4

1 に答える 1

10

これを実現するには、積み上げ棒グラフを使用できます。iReportを開き、チャート要素をパレットからレポートデザイナにドラッグアンドドロップします。ウィザードで[スタックバー]を選択し、[完了]をクリックします。

グラフを右クリックして、[グラフデータ] > [詳細]を選択します:

  • [追加]をクリックし、シリーズ式:"Handled"、カテゴリ式:$F{name}、値式:と入力し、[ OK$F{handled} ]をクリックします
  • 追加、シリーズ式:"Abandoned"、カテゴリ式:$F{name}、値式:$F{abandoned}OK
  • 追加、シリーズ式:"Rejected"、カテゴリ式:$F{name}、値式:$F{rejected}OK

次に、[閉じる]をクリックします。次に、レポートデザイナでグラフオブジェクトを選択し、プロパティパネルの[方向]を[水平]に変更します。

チャートを、1つのチャートに両方のデータ行を保持するサマリーバンドに配置しました。必要に応じて、同様の出力の詳細バンドで構成されているチャートに同じ設定を適用できます。

レポートプレビュー

さらに参照できるように、JRXMLも添付します。

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report7" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="42d0d6ab-85f6-496b-8e61-c3d7588cfd8e">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <queryString>
        <![CDATA[select  'customerservice' as name, 300 as totalcalls, 100 as handled, 100 as abandoned, 100 as rejected
union select 'itsupport', 500, 300, 100, 100]]>
    </queryString>
    <field name="name" class="java.lang.String"/>
    <field name="totalcalls" class="java.lang.Long"/>
    <field name="handled" class="java.lang.Long"/>
    <field name="abandoned" class="java.lang.Long"/>
    <field name="rejected" class="java.lang.Long"/>
    <summary>
        <band height="92">
            <stackedBarChart>
                <chart>
                    <reportElement uuid="f0bfeda6-003e-40c0-8d75-0c61bc620978" x="0" y="0" width="555" height="92"/>
                    <chartTitle/>
                    <chartSubtitle/>
                    <chartLegend/>
                </chart>
                <categoryDataset>
                    <categorySeries>
                        <seriesExpression><![CDATA["Handled"]]></seriesExpression>
                        <categoryExpression><![CDATA[$F{name}]]></categoryExpression>
                        <valueExpression><![CDATA[$F{handled}]]></valueExpression>
                    </categorySeries>
                    <categorySeries>
                        <seriesExpression><![CDATA["Abandoned"]]></seriesExpression>
                        <categoryExpression><![CDATA[$F{name}]]></categoryExpression>
                        <valueExpression><![CDATA[$F{abandoned}]]></valueExpression>
                    </categorySeries>
                    <categorySeries>
                        <seriesExpression><![CDATA["Rejected"]]></seriesExpression>
                        <categoryExpression><![CDATA[$F{name}]]></categoryExpression>
                        <valueExpression><![CDATA[$F{rejected}]]></valueExpression>
                    </categorySeries>
                </categoryDataset>
                <barPlot>
                    <plot orientation="Horizontal"/>
                    <itemLabel/>
                </barPlot>
            </stackedBarChart>
        </band>
    </summary>
</jasperReport>
于 2013-01-29T12:42:05.147 に答える