是否可以在JasperReports中的交叉表元素中获取累积总和(下图中的最后一行)?我只是"需要一些变量来保存前一列总值的值。
而不是最后一行,我尝试添加(在交叉表元素之后)1个静态文本,其值为"累积"并且在具有累积值的水平列表之后(我已经在我的XML数据源中计算了累积值)。如果使用列数少于5,6,7 和,如果交叉表应保持与左对齐(在导出之前将其与Java API中间编程对齐),这是可以解决的问题)。如果元素在水平方向上居中,或者由于列数而将表分成多个部分,则Aligment会崩溃。
我还尝试了衡量总量度"或类似的东西使用措施,参数和变量,但不能使它工作。
DynamicJasper似乎也没有这方面的解决方案(我今天对它进行了测试,很遗憾,如果我错过了其API中的内容)。
如果您有任何使用Jaspersoft Studio,JasperReport API或DynamicJasper的解决方案,请提供帮助。提前致谢!
答案 0 :(得分:0)
好的,所以既然我创建了自己的XML数据源,我就决定采用解决方法。
原始XML文件结构如下:
<rootElement>
<company>
<name>Company A</name>
<percentage>0.0509</percentage>
<value>10000</value>
</company>
<company>
<name>Company B</name>
<percentage>0.0433</percentage>
<value>10000</value>
</company>
<!-- and the rest goes here -->
</rootElement>
行总计是使用计算类型总和计算的,而值表达式是字段值。
要获取行累积,我会在每个<company>
标记中再添加一个子元素,因此XML结构为:
<rootElement>
<company>
<name>Company A</name>
<percentage>0.0509</percentage>
<value>10000</value>
<cumulativePerPercentage>38000</cumulativePerPercentage>
</company>
<company>
<name>Company B</name>
<percentage>0.0433</percentage>
<value>10000</value>
<cumulativePerPercentage>66000</cumulativePerPercentage>
</company>
<!-- and the rest goes here -->
</rootElement>
对于累积行,我在字段 cumulativePerPercentage 上创建新度量,计算类型为平均值。