BIRT:在SELECT的“group by”部分使用Parameter

时间:2011-11-29 12:42:06

标签: birt

我对这个问题感到疯狂:

我有一些Oracle SQL-Reports用BIRT重新设计它们。第一件事情很有效,但现在报告中有一个使用GROUP BY的SELECT,无论出于何种原因,它都无法在BIRT中运行......

总有一个错误,例如“GROUP BY子句没有GROUP BY表达式。

问题似乎是我在GROUP BY部分中使用的参数,因为当我删除参数并直接在查询中传递任何值时,它正在工作。

有谁知道如何解决这个问题?

问候

2 个答案:

答案 0 :(得分:1)

问题似乎是我必须两次添加相同的参数(一个用于选择,一个用于分组)而BIRT不替换?它的值但是使用SQL参数,当它们指向同一个目标时它们也不同。或类似的东西。使用链接主题(stackoverflow.com/questions/6059412 / ...)中解释的“临时表”为我工作!

答案 1 :(得分:0)

我建议不使用GROUP BY表达式离开SQL,并在显示数据的表或图表上进行分组。将分组添加到表中时,您应该能够按表达式将组定义为:

row[params["MY_PARAMETER"].value]

将参数传递给Oracle组将很困难,因为分组列是唯一可以直接出现在SELECT子句中的列(不在组中的任何内容只能出现在组函数中,例如SUM,MIN ,MAX,COUNT等),因此您需要动态修改SQL以在SELECT子句中添加/删除列。这是可能的,但很难。