有一次,一个user 发邮件过来说,他运行报表过后发现报表的数据为空,但是发现他选了单个的参数值的时候却发现报表是有数据的。用过报表的人都知道的,不管你在infoview里面输入参数,还是CR里面refresh报表,都要选参数,但是当他选了“All value”后反而没有参数了,这的确是一个奇怪的事。
于是我就帮他看了一下,我打开报表准备重现他说说的问题,输入参数之后发现还真是没有数据了,反而单独选了一个参数值的时候就有了数据,这真是一个奇怪的事情。
开始我只是大概想了想,难道是因为数据库里面没有“All values”这个值吗?然后去DB里面看了下,的确没有。难道这就是root cause?然后我又去报表的参数里面去了一下,我Edit了那个需要输入参数值得参数,进入Edit界面,后来才发现这里有人把这个参数修改过,这里有一个默认的 “All Values”选项,然而这个参数的LOV却没有“All Values”的sql logic。所以,明白了,这样的默认值会显示在报表的参数界面,却不会得到报表的运行的结果,当然也可以称作“伪值”,要想达到真的显现他的值就得去universe里面去找报表的Filter,去filter里面去增加一个“All values”的逻辑。这样也能显示在LOV只里面。当用户再次运行的就可以选择“All Values“了。
本文探讨了一个在报表使用过程中遇到的奇特现象——伪参数问题。通过实例分析,解释了为何在某些情况下,参数虽显示在界面但无法正常获取数据。深入探讨了参数配置、数据库查询逻辑与报表执行之间的关联,最终提供了有效的解决方案。
1012

被折叠的 条评论
为什么被折叠?



