背景
下图中的总计部分显示了趋势列的奇怪结果。当名为Previous的列下的值等于名为Current的列下的值时,文本应该为真。
打印时表达式和文本字段表达式
表达式使用相同的代码进行评估:
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和Text Field Expression的计算时间不会同时计算。
问题
当表达式和文本字段表达式同时评估相同的结果时,我需要做什么才能使打印?这将在任何时候为Totals' Trend列生成单词true。 Previous == Current