在iReport / Jaspersoft Studio中设置变量

时间:2013-12-06 22:54:35

标签: jasper-reports

我有一份报告,使用许多变量来计算超过16个月的滚动库存。用户正在请求翻转金额(或结转)中的一些困难计算,例如只有结转金额> 0,但仅适用于某些类别(组),然后将结转从一个类别添加到另一个类别的结转。我已经解决了大部分问题,但是我需要在组= "XXX"时为残留设置一个变量,并且即使组发生变化也要保持该变量值。我可以轻松地设置变量以更改类别(组)$F{group1}=="XXX"?QTY_ON_HAND - QTY_ORDERED:0.0,但是当组变为"YYY"然后变为"ZZZ"时,变量的值将更改为0.我需要当变量到达组"XXX"时,使用变量值在"ZZZ"组中作为计算的一部分,但如果它在那时重置为0,则它​​是无用的。我也尝试过设置变量= $V{rollover_amount}并尝试更改计算类型,重置类型和增量类型无效。

我将计算设置为“无计算”,增量和重置类型设置为“无”

我正在使用 Jaspersoft Studio 5.5 ,但这同样适用于 iReport Designer。

1 个答案:

答案 0 :(得分:0)

我看到两种可能的方法。 1)看起来您已经通过在Variable Expression属性中使用条件逻辑创建计算而开始了。继续这种方法。当组条件失败时,尝试将变量重置为自身。就像是: $ F {group1} ==“XXX”? {做你需要做的}}:$ F {group1}

2)使用JasperReport Scriptlet并管理报告之外的逻辑。 http://jasperreports.sourceforge.net/sample.reference/scriptlet/