Oracle11g 从数据库记录中设置“REPORT\u TIME\u ZONE”参数

Oracle11g 从数据库记录中设置“REPORT\u TIME\u ZONE”参数,oracle11g,jasper-reports,jasperserver,Oracle11g,Jasper Reports,Jasperserver,我们的DB有一个报告接收人表,包括他们的首选时区 如何使用此列作为报告中“报告\时区”参数的值 我尝试/想到的变通办法: 更改会话设置时区=“欧洲/苏黎世”;但是 def recipientzcode=从报告收件人中选择时区代码,其中收件人ID=$P{recipientId};在顶部,但这似乎和以前一样 选择…作为时间戳,在时区选择UTC从报告收件人选择时区代码,其中收件人ID=$P{recipientId}。。。但这不适用于GROUPBY语句 [澄清编辑] 我需要在报告*.jrxml和独立的J

我们的DB有一个报告接收人表,包括他们的首选时区

如何使用此列作为报告中“报告\时区”参数的值

我尝试/想到的变通办法:

更改会话设置时区=“欧洲/苏黎世”;但是 def recipientzcode=从报告收件人中选择时区代码,其中收件人ID=$P{recipientId};在顶部,但这似乎和以前一样 选择…作为时间戳,在时区选择UTC从报告收件人选择时区代码,其中收件人ID=$P{recipientId}。。。但这不适用于GROUPBY语句 [澄清编辑]
我需要在报告*.jrxml和独立的Jaspersoft服务器实例的范围内完成这项工作。外部软件是欺骗-

当您通过rest或嵌入url调用报表时,您可以传递userTimezone参数,例如

给出的链接是指向Jasperserver中报告的链接。默认情况下,服务器将采用您登录时指定的时区。您可以通过在末尾重定向到带有&userTimezone=Europe/Zurich的url来覆盖此设置


或者我相信,如果您在iReport中添加一个名为userTimezone的参数到报表中,您可以将其作为输入控件添加到服务器上,并在从服务器调用报表时输入它。

为什么第三个选项不适用于group by?你不能加入以获取参数,而不是使用子查询吗?当你通过rest或嵌入url调用报表时,你可以传递userTimezone参数,例如@AlexPoole,我想是的,但这会变成很多加入…计划B?我不确定我是否理解你的编辑-你不想在SQL中这样做?而且不知道为什么会有很多人加入,而不是一个人,也不知道按议题分组是什么;也许一个更完整的例子可以澄清这种情况?@AlexPoole抱歉,该编辑是为了删除外部软件,而不是引用报告中包含的SQL:。对于具有大量按子查询连接的分组的非平凡查询,这将导致大量按表达式连接的分组。这是一个很好的建议,但我希望没有必要重复。对问题进行了澄清。如何从Jasper服务器设置该查询参数?