【发布时间】:2010-03-30 16:56:16
【问题描述】:
背景
下图中的 Totals 部分显示了 Trend 列的奇怪结果。当名为 Previous 列下的值等于名为 Current 列下的值时,文本应为 true。
在表达式和文本字段表达式时打印
使用相同的代码计算表达式:
new java.lang.Boolean(
$V{LAST_WEEK_TALLY_0}.add(
$V{LAST_WEEK_TALLY_1} ).add(
$V{LAST_WEEK_TALLY_2} ).add(
$V{LAST_WEEK_TALLY_3} ).longValue() ==
$V{THIS_WEEK_TALLY_0}.add(
$V{THIS_WEEK_TALLY_1} ).add(
$V{THIS_WEEK_TALLY_2} ).add(
$V{THIS_WEEK_TALLY_3} ).longValue()
)
文本字段的评估时间设置为Band。
问题
看起来好像 Print When Expression 代码正在为 Previous 和 Current 列下的值评估一排为时已晚。正在打印的值对于该行是正确的。这意味着 Print When Expression 和 Text Field Expression 的计算时间不会同时计算。
问题
我需要做什么才能使 Print When Expression 和 Text Field Expression 同时计算出相同的结果?这将在 Previous == Current 时为 Totals' Trend 列生成单词 true。
【问题讨论】: