2016-03-09 19 views
0

我已通过(第1列和第2列)做双组SQL查询,结果集以下列格式碧玉HTML5多图表设置

enter image description here

进出口试图创建多在jasper studio/ireport中使用以下格式的HTML5图表:

  1. xAxis(Category)将具有column2值(distinct)。在此示例中,xAxis上的三个值对于第1列中的每个值,yAxis(度量值)将具有第3列值并且它应该具有一行与来自第3列的数据的一行。因此,第4列有4个不同的值。

这是可能实现的结果集?我试图创建组,为措施添加条件但没有结果。

回答

2

您只需将column2用作行/类别级别,将column1用作列/系列级别即可。

像这样:

<?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="Html5Chart" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> 
    <field name="column1" class="java.lang.String"/> 
    <field name="column2" class="java.lang.String"/> 
    <field name="column3" class="java.lang.Double"/> 
    <summary> 
     <band height="500"> 
      <componentElement> 
       <reportElement x="0" y="0" width="802" height="500"/> 
       <hc:chart xmlns:hc="http://jaspersoft.com/highcharts" xsi:schemaLocation="http://jaspersoft.com/highcharts http://jaspersoft.com/schema/highcharts.xsd" type="Line"> 
        <multiAxisData> 
         <multiAxisDataset> 
         </multiAxisDataset> 
         <dataAxis axis="Rows"> 
          <axisLevel name="column2"> 
           <labelExpression><![CDATA["column 2"]]></labelExpression> 
           <axisLevelBucket class="java.lang.String"> 
            <bucketExpression><![CDATA[$F{column2}]]></bucketExpression> 
           </axisLevelBucket> 
          </axisLevel> 
         </dataAxis> 
         <dataAxis axis="Columns"> 
          <axisLevel name="column1"> 
           <labelExpression><![CDATA["column 1"]]></labelExpression> 
           <axisLevelBucket class="java.lang.String"> 
            <bucketExpression><![CDATA[$F{column1}]]></bucketExpression> 
           </axisLevelBucket> 
          </axisLevel> 
         </dataAxis> 
         <multiAxisMeasure name="column3" class="java.lang.Double" calculation="Nothing"> 
          <labelExpression><![CDATA["column 3"]]></labelExpression> 
          <valueExpression>$F{column3}</valueExpression> 
         </multiAxisMeasure> 
        </multiAxisData> 
       </hc:chart> 
      </componentElement> 
     </band> 
    </summary> 
</jasperReport> 
+0

感谢,我看不出明显的:)。 – Minja