我有一个查询如下。我想显示连续3个财年(FY1,FY2,FY3)的请求数量。条形图仅显示FY1的数据。如何在图表中显示3个条形图?
select count(unique(p1.requestNumber)) as FY1, count(unique(p2.requestNumber)) as FY2, count(unique(p3.requestNumber)) as FY3
from fd.bankRequest P1, fd.bankRequest P2, fd.bankRequest P3
where
to_char(P1.requestDate, 'yyyymm') between (to_char(sysdate, 'yyyy')|| '10') and to_char(sysdate, 'yyyymm')
and
(to_char(P2.requestDate, 'yyyymm') between (to_number(to_char(sysdate, 'yyyy') -1) || '10') and (to_char(sysdate, 'yyyy') || '09'))
and
(to_char(P3.requestDate, 'yyyymm') between (to_number(to_char(sysdate, 'yyyy') -2) || '10') and (to_number(to_char(sysdate, 'yyyy') -1) || '09'))
and
to_number(to_char(sysdate, 'mm')) >= 10
jrxml代码如下
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.2.1.final using JasperReports Library version 6.2.1 -->
<!-- 2016-11-23T12:32:37 -->
<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="FYRpt" language="groovy" pageWidth="612" pageHeight="792" whenNoDataType="AllSectionsNoDetail" columnWidth="572" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isSummaryWithPageHeaderAndFooter="true" isIgnorePagination="true" uuid="8a465670-cc4a-4270-965f-8efb86e33b71">
<property name="template.engine" value="tabular_template"/>
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="ojdbc7"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<style name="Table">
<box>
<pen lineWidth="1.0" lineColor="#000000"/>
<topPen lineWidth="1.0" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineColor="#000000"/>
</box>
</style>
<style name="Table_TH" mode="Opaque" backcolor="#FFFFFF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<style name="Table 1_TH" mode="Opaque" backcolor="#F0F8FF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<style name="Table 2_TH" mode="Opaque" backcolor="#F0F8FF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<style name="Table 3_TH" mode="Opaque" backcolor="#F0F8FF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<style name="Table 3_CH" mode="Opaque" backcolor="#BFE1FF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<style name="Table 3_TD" mode="Opaque" backcolor="#FFFFFF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<subDataset name="FiscalYear" uuid="653c97d8-f01f-433a-8f37-19831ca0c04e">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="ojdbc7"/>
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<queryString>
<![CDATA[select count(unique(p1.requestNumber)) as FY1, count(unique(p2.requestNumber)) as FY2, count(unique(p3.requestNumber)) as FY3
from fd.bankRequest P1, fd.bankRequest P2, fd.bankRequest P3
where
to_char(P1.requestDate, 'yyyymm') between (to_char(sysdate, 'yyyy')|| '10') and to_char(sysdate, 'yyyymm')
and
(to_char(P2.requestDate, 'yyyymm') between (to_number(to_char(sysdate, 'yyyy') -1) || '10') and (to_char(sysdate, 'yyyy') || '09'))
and
(to_char(P3.requestDate, 'yyyymm') between (to_number(to_char(sysdate, 'yyyy') -2) || '10') and (to_number(to_char(sysdate, 'yyyy') -1) || '09'))
and
to_number(to_char(sysdate, 'mm')) >= 10]]>
</queryString>
<field name="FY1" class="java.math.BigDecimal"/>
<field name="FY2" class="java.math.BigDecimal"/>
<field name="FY3" class="java.math.BigDecimal"/>
</subDataset>
<queryString>
<![CDATA[]]>
</queryString>
<title>
<band height="60" splitType="Stretch">
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
<image>
<reportElement x="0" y="0" width="222" height="36" uuid="a9fbad6a-651d-43cd-bfb6-2cf334d623ed"/>
<imageExpression><![CDATA["C:/jboss-eap-6.4/NX-runtime/reports/Images/Logo.png"]]></imageExpression>
</image>
<staticText>
<reportElement x="280" y="0" width="209" height="30" uuid="4d5423b2-708b-4afa-9ffd-f7ce5b8135f6"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<text><![CDATA[Executive Summary]]></text>
</staticText>
<textField isStretchWithOverflow="true" pattern="">
<reportElement x="380" y="30" width="191" height="20" forecolor="#000000" uuid="d770f29c-b0d4-4161-87d6-db5a2c36754e">
<property name="com.jaspersoft.studio.unit.y" value="pixel"/>
</reportElement>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font fontName="SansSerif" size="11"/>
</textElement>
<textFieldExpression><![CDATA["Report created on " + new SimpleDateFormat("MM/dd/yyyy HH:mm").format(new Date())]]></textFieldExpression>
</textField>
</band>
</title>
<pageFooter>
<band height="65">
<textField>
<reportElement positionType="Float" x="210" y="40" width="361" height="20" uuid="6ca8797f-653d-46a0-a24f-d286078dccc8"/>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="11"/>
</textElement>
<textFieldExpression><![CDATA["Page " + $V{PAGE_NUMBER} + " of " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</pageFooter>
<summary>
<band height="581" splitType="Stretch">
<property name="local_mesure_unitheight" value="pixel"/>
<textField>
<reportElement x="10" y="0" width="570" height="20" uuid="8956e672-accf-461b-b2b1-e81f70e8e87e">
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Fiscal Year Report"]]></textFieldExpression>
</textField>
<componentElement>
<reportElement x="10" y="50" width="200" height="120" uuid="eba4eb25-553f-424c-aba2-c124b35957cb">
<property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/>
<property name="com.jaspersoft.studio.table.style.table_header" value="Table 3_TH"/>
<property name="com.jaspersoft.studio.table.style.column_header" value="Table 3_CH"/>
<property name="com.jaspersoft.studio.table.style.detail" value="Table 3_TD"/>
</reportElement>
<jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<datasetRun subDataset="FiscalYear" uuid="e5979756-be6d-498c-8502-b9217b605591">
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
</datasetRun>
<jr:column width="110" uuid="b11b4e94-29e6-497e-8534-55832acd42d9">
<property name="com.jaspersoft.studio.components.table.model.column.name" value="Column1"/>
<jr:tableFooter style="Table 3_TH" height="30" rowSpan="1">
<textField>
<reportElement mode="Opaque" x="0" y="0" width="110" height="30" uuid="e1165115-bb42-4a58-bb64-96782790ae11"/>
<box leftPadding="6"/>
<textElement verticalAlignment="Middle">
<font fontName="Times New Roman" size="11"/>
</textElement>
<textFieldExpression><![CDATA["FY " + new SimpleDateFormat("yyyy").format(org.apache.commons.lang.time.DateUtils.addYears(TODAY( ),1))]]></textFieldExpression>
</textField>
</jr:tableFooter>
<jr:columnHeader style="Table 3_CH" height="30" rowSpan="1">
<staticText>
<reportElement x="0" y="0" width="110" height="30" uuid="a5e2a06a-8ab3-471b-82a1-dd9288957ede"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="Times New Roman" size="12" isBold="true"/>
</textElement>
<text><![CDATA[Fiscal Year (FY)]]></text>
</staticText>
</jr:columnHeader>
<jr:columnFooter style="Table 3_CH" height="30" rowSpan="1">
<textField>
<reportElement mode="Opaque" x="0" y="0" width="110" height="30" uuid="61a4651f-cb1d-416f-a32e-68beb2d1c219"/>
<box leftPadding="6"/>
<textElement verticalAlignment="Middle">
<font fontName="Times New Roman" size="11"/>
</textElement>
<textFieldExpression><![CDATA["FY " + YEAR(TODAY())]]></textFieldExpression>
</textField>
</jr:columnFooter>
<jr:detailCell style="Table 3_TD" height="30">
<textField>
<reportElement mode="Opaque" x="0" y="0" width="110" height="30" uuid="6eb9c024-cc8f-4810-bf96-22de20b8eca7"/>
<box leftPadding="6"/>
<textElement verticalAlignment="Middle">
<font fontName="Times New Roman" size="11"/>
</textElement>
<textFieldExpression><![CDATA["FY " + new SimpleDateFormat("yyyy").format(org.apache.commons.lang.time.DateUtils.addYears(TODAY( ),-1))]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
<jr:column width="90" uuid="a0501979-12d2-43ab-9f50-c3a0814888c4">
<property name="com.jaspersoft.studio.components.table.model.column.name" value="Column2"/>
<jr:tableFooter style="Table 3_TH" height="30" rowSpan="1">
<textField>
<reportElement mode="Opaque" x="0" y="0" width="90" height="30" forecolor="#000000" uuid="d1c24563-2f4c-4948-92a5-507a91344541"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="Times New Roman" size="11"/>
</textElement>
<textFieldExpression><![CDATA[$F{FY3}]]></textFieldExpression>
</textField>
</jr:tableFooter>
<jr:columnHeader style="Table 3_CH" height="30" rowSpan="1">
<staticText>
<reportElement x="0" y="0" width="90" height="30" uuid="64033655-a2a1-4260-84bb-940d2e71fcc1"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="Times New Roman" size="12" isBold="true"/>
</textElement>
<text><![CDATA[Total Requests]]></text>
</staticText>
</jr:columnHeader>
<jr:columnFooter style="Table 3_CH" height="30" rowSpan="1">
<textField>
<reportElement mode="Opaque" x="0" y="0" width="90" height="30" uuid="43b0b490-b093-482f-a6b5-6473ffa4ba6d"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="Times New Roman" size="11"/>
</textElement>
<textFieldExpression><![CDATA[$F{FY2}]]></textFieldExpression>
</textField>
</jr:columnFooter>
<jr:detailCell style="Table 3_TD" height="30">
<textField>
<reportElement mode="Opaque" x="0" y="0" width="90" height="30" uuid="00bdeea7-5bea-4d71-8ef7-29cf59c25df6"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="Times New Roman" size="11"/>
</textElement>
<textFieldExpression><![CDATA[$F{FY1}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
</jr:table>
</componentElement>
<barChart>
<chart evaluationTime="Report" theme="eye.candy.sixties">
<reportElement x="240" y="50" width="322" height="190" uuid="91806aa7-467e-4cf4-a723-e6de7db10c18"/>
<chartTitle/>
<chartSubtitle/>
<chartLegend/>
</chart>
<categoryDataset>
<dataset>
<datasetRun subDataset="FiscalYear" uuid="f3908198-41a0-41b6-99d5-0af1af893936">
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
</datasetRun>
</dataset>
<categorySeries>
<seriesExpression><![CDATA["FY " + new SimpleDateFormat("yyyy").format(org.apache.commons.lang.time.DateUtils.addYears(TODAY( ),-1))]]></seriesExpression>
<categoryExpression><![CDATA[($F{FY1} ? "FY" + new SimpleDateFormat("yyyy").format(org.apache.commons.lang.time.DateUtils.addYears(TODAY( ),-1))
: $F{FY2} ? "FY " + YEAR(TODAY())
: "FY " + new SimpleDateFormat("yyyy").format(org.apache.commons.lang.time.DateUtils.addYears(TODAY( ),1)))]]></categoryExpression>
<valueExpression><![CDATA[$F{FY1}]]></valueExpression>
</categorySeries>
<categorySeries>
<seriesExpression><![CDATA["FY " + YEAR(TODAY())]]></seriesExpression>
<categoryExpression><![CDATA[0]]></categoryExpression>
<valueExpression><![CDATA[0]]></valueExpression>
</categorySeries>
<categorySeries>
<seriesExpression><![CDATA["FY " + new SimpleDateFormat("yyyy").format(org.apache.commons.lang.time.DateUtils.addYears(TODAY( ),1))]]></seriesExpression>
<categoryExpression><![CDATA[0]]></categoryExpression>
<valueExpression><![CDATA[0]]></valueExpression>
</categorySeries>
</categoryDataset>
<barPlot isShowLabels="true">
<plot/>
<itemLabel/>
<categoryAxisFormat>
<axisFormat/>
</categoryAxisFormat>
<valueAxisFormat>
<axisFormat/>
</valueAxisFormat>
</barPlot>
</barChart>
</band>
</summary>
</jasperReport>