更轻松地获取JasperReports中所有列的总数和平均值

时间:2015-07-01 08:51:24

标签: java jasper-reports

在jrxml中,我希望能够轻松地获得大量列的TOTAL和AVERAGE,而无需为每个列显式编写变量,就像我为报告中的一个列所做的那样,如此引用link。 任何参考或样品将受到高度赞赏。

<variable name="total_unit1_kwh" class="java.lang.Double" calculation="Sum">
    <variableExpression><![CDATA[ $F{unit1_kwh} ]]></variableExpression>
  </variable>

总而言之,

<summary>
    <band height="32">
      <staticText>
        <reportElement x="0" y="0" width="40" height="16"/>
        <box bottomBorder="Thin" leftBorder="Thin" rightBorder="Thin" padding="2"/>
        <textElement textAlignment="Center">
          <font isBold="true" isItalic="true"/>
        </textElement>
        <text><![CDATA[Total]]></text>
      </staticText>

      <staticText>
        <reportElement x="0" y="16" width="40" height="16"/>
        <box bottomBorder="Thin" leftBorder="Thin" rightBorder="Thin" padding="2"/>
        <textElement textAlignment="Center">
          <font isBold="true" isItalic="true"/>
        </textElement>
        <text><![CDATA[Avg]]></text>
      </staticText>

      <textField pattern="#0.0">
        <reportElement x="40" y="0" width="50" height="16"/>
        <box bottomBorder="Thin" rightBorder="Thin" padding="2"/>
        <textElement textAlignment="Center">
          <font isBold="true"/>
        </textElement>
        <textFieldExpression><![CDATA[$V{total_unit1_kwh}]]></textFieldExpression>
      </textField>
   </summary>

下图显示了我需要获得总和平均值的列。

Large columned

1 个答案:

答案 0 :(得分:0)

我担心没有比为每列和总/平均值编写变量更简单的方法。唯一可行的选择如何以另一种方式做,就是在数据库中创建总计和平均值,并在查询结束时<VirtualHost *:80> DocumentRoot "C:\wamp\www\lara-practice\public" ServerName lara.dev <Directory "C:\wamp\www\lara-practice\public"> AllowOverride All Require local </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "C:\wamp\www\larasilos\laravel\public" ServerName larasilos.dev <Directory "C:\wamp\www\larasilos\laravel\public"> AllowOverride All Require local </Directory> </VirtualHost> ,但这可能是非常糟糕的选择。

我建议留下变量。可能是写的时间更长,但它可以正确地以正确的方式工作。