我正在尝试根据用户输入的参数创建一个具有动态“细分”(分组)的报告。出于此问题的目的,假设记录同时属于“组”和“子组”,并且用户可以选择查看整个组的总和/计数,或者他们可以看到它与子组分开组成小组。实际上,我有两个以上的分组,并且它们的工作方式完全不同,因此使用填充“细分”字段的案例语句并不是最佳选择,即使它在我给出的简化解释中可能会出现这种情况。
过去,我们会创建一个全局临时表,然后报表会构建一个动态 SQL 语句,用于填充它。然后 GTT 将作为一个简单的查询被报告读取,我们在其中填充的“细分”字段将允许一切按需要工作。然而,我想做的是,如果可能的话,完全不需要 GTT。
到目前为止,我尝试的是用 Ref Cursor Query 替换报告中的 SQL Query,然后我用一个简单的 ref 游标设置它。只要查询完全是硬编码的,我就可以从中获取结果,但是一旦我在其中使用词法参数,我就会收到一条错误消息,提示“客户端程序不支持此功能” . 从那以后,我了解到 Oracle Reports Builder 需要强引用游标才能知道预期的字段,并且通过在查询中使用词法参数,我使引用游标变弱。
我在我的报告中定义了一个记录类型,我希望我能以某种方式绑定到 Ref Cursor Query,这样即使填充它们的查询很弱,它也会知道期望哪些字段,但我没有任何运气那出来。
这个难题是否有我遗漏的部分,或者其他人能找到更好的方法来完成我想做的事情吗?