Jasper reports 计算JasperReports中列的和,并基于该值进行计算
我有下面这样的数据,这些数据是通过JasperReports的查询获取的 第1列包含以下数据:Jasper reports 计算JasperReports中列的和,并基于该值进行计算,jasper-reports,Jasper Reports,我有下面这样的数据,这些数据是通过JasperReports的查询获取的 第1列包含以下数据: 12, 21, 23, 321, 23 现在我想在第2列中显示每行值的百分比,例如第1行 (100 * 12) / sum of (column1) 应该对所有行执行此操作 如何在JasperReports中实现这一点?添加一个变量(例如v_sum)以获取列的总和(例如EMPLOYEEID) 示例报告,您可以使用示例数据库(
12,
21,
23,
321,
23
现在我想在第2列中显示每行值的百分比,例如第1行
(100 * 12) / sum of (column1)
应该对所有行执行此操作
如何在JasperReports中实现这一点?添加一个变量(例如v_sum)以获取列的总和(例如EMPLOYEEID)
示例报告,您可以使用示例数据库(HSQLDB)运行此报告:-
您能告诉我评估时间属性的作用是什么吗?有什么方法可以在变量中进行计算吗?因为我想根据其值对该(百分比)列进行排序。实际上,您不需要按第2列排序,只需在查询中为第1列添加order by,因为如果第1列的值更高,则%值也会更高。我尝试过这样做,但由于该列是组计算的结果,因此它在报告中给了我奇怪的结果。还有别的办法吗?
<variable name="v_sum" class="java.lang.Integer" calculation="Sum">
<variableExpression><![CDATA[$F{EMPLOYEEID}]]></variableExpression>
</variable>
Evaluation Time- Auto
<?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="report2" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="76072389-4335-4fd9-b45a-111b679776c9">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<queryString>
<![CDATA[select EMPLOYEEID from orders]]>
</queryString>
<field name="EMPLOYEEID" class="java.lang.Integer"/>
<variable name="v_sum" class="java.lang.Integer" calculation="Sum">
<variableExpression><![CDATA[$F{EMPLOYEEID}]]></variableExpression>
</variable>
<columnHeader>
<band height="28" splitType="Stretch">
<staticText>
<reportElement uuid="00bd99b4-690f-4eea-aebe-08b0cdcfcec2" x="15" y="6" width="100" height="20"/>
<textElement/>
<text><![CDATA[EmployeeID]]></text>
</staticText>
<staticText>
<reportElement uuid="6396c710-73d9-407f-ba02-4aceb524cb75" x="172" y="6" width="100" height="20"/>
<textElement/>
<text><![CDATA[%]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="20" splitType="Stretch">
<textField>
<reportElement uuid="dbbdb209-dbd4-4dbb-a454-32968c31ec79" x="14" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{EMPLOYEEID}]]></textFieldExpression>
</textField>
<textField evaluationTime="Auto">
<reportElement uuid="f14e9e42-5486-4204-974c-c2c148ab73c7" x="172" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[(100*$F{EMPLOYEEID}) / $V{v_sum}]]></textFieldExpression>
</textField>
</band>
</detail>