我必须基于一个组对字段求和,这似乎很简单。
这是我对资料来源所做的步骤
创建组“ GroupeCR”
list_ok[[i]][[k]]
创建用于汇总每个“ GroupeCR”字段的变量
new_list <- vector(mode = "list", length=5)
for (i in 1:5) {
for(k in 1:5) {
new_list[[i]][k] <- list_ok[[i]][k]
}
}
> new_list
[[1]]
[1] 1 2 3 4 5
[[2]]
[1] 6 7 8 9 10
[[3]]
[1] 11 12 13 14 15
[[4]]
[1] 16 17 18 19 20
[[5]]
[1] 21 22 23 24 25
在GroupeCR标头中添加变量文本字段
<group name="GroupeCR">
<groupExpression><![CDATA[$F{LB_CR}]]></groupExpression>
<groupHeader>
<band height="20">
<textField>
<reportElement mode="Opaque" x="0" y="0" width="125" height="20" backcolor="#D4D4D4" uuid="7b15b1e9-d4c5-4dea-9a54-436bef6d270b"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{LB_CR}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="430" y="0" width="100" height="20" uuid="4ece930a-2d32-40f3-a7e4-0ce40f712c79"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$V{PREVUES1}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="535" y="0" width="95" height="20" uuid="1ed652f3-b919-4435-abcb-498262510300"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$V{PREVUES2}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="4"/>
</groupFooter>
</group>
问题:总和始终为'null'。
我尝试了许多在线查找解决方案(更改评估时间,评估类型等)
以下是完整的来源:
<variable name="PREVUES1" class="java.math.BigDecimal" resetType="Group" resetGroup="GroupeCR" calculation="Sum">
<variableExpression><![CDATA[$F{PREVUES}]]></variableExpression>
</variable>
<variable name="PREVUES2" class="java.math.BigDecimal" resetType="Group" resetGroup="GroupeCR" calculation="Sum">
<variableExpression><![CDATA[$F{PREVUES}]]></variableExpression>
</variable>
答案 0 :(得分:0)
原来是碧玉工作室的问题。关闭/打开Jasper Studio解决了该问题。
答案 1 :(得分:0)
您是否尝试放置
<initialValueExpression><![CDATA[java.math.BigDecimal.ZERO]]></initialValueExpression>
使用此变量?