好吧,基本上我希望能够在iReport上使用带有聚合函数的参数。如果键入“yes”,它将显示大于 0 的值,如果键入“no”,它将显示小于 0 的值。但是,聚合函数首先将与 id 相关的所有值相加,然后它从另一个值中减去结果,结果就是我要显示的结果。
我怎么能做到这一点?我一无所知,因为我不知道如何将它与HAVING一起使用。
好吧,基本上我希望能够在iReport上使用带有聚合函数的参数。如果键入“yes”,它将显示大于 0 的值,如果键入“no”,它将显示小于 0 的值。但是,聚合函数首先将与 id 相关的所有值相加,然后它从另一个值中减去结果,结果就是我要显示的结果。
我怎么能做到这一点?我一无所知,因为我不知道如何将它与HAVING一起使用。
我不明白“我不知道如何将它与 HAVING 一起使用”中的“它”指的是什么。使用一些 SQL,这个问题会更清楚。但我猜你正在寻找这个:
SELECT id, sum(values) as the_agg
FROM table1
GROUP BY id
HAVING sum(values) $P!{BiggerOrSmaller} 0
BiggerOrSmaller 参数的默认值应该是这样的:
$P{MyParam}.equals("yes") ? ">" : "<"
这假设您有一个名为MyParam
“yes”的参数。基于该值,它BiggerOrSmaller
适当地设置参数。