我有一份Cognos报告,其中我有级联提示。层次结构在附加的图像中定义。
第一位父母(分部)在3-5秒内填补两个级联的孩子。 但是当我选择任何政策时,(这将填充下面的两个孩子)它花了大约2分钟。
事实:
非常感谢任何帮助。 谢谢,
努哈
答案 0 :(得分:0)
您的问题是桌面扫描过多。通常,人们会从基于维度的表构建一个提示页面,而不是事实表,尽管我承认并不总是可以使用级联提示。理想的解决方案是使用这些不同的值创建一次性维度表,然后严格模拟提示。
注意索引每个字段,因为值的选择性不会使用索引。可以改为使用字段的复合索引。与任何时候更改DDL一样 - 打开SQL事件探查器并查看SQL Cognos生成的内容,然后在更改之前/之后运行解释计划。
答案 1 :(得分:0)
可以替代一次性维度表。在框架中为您的AL-No提示创建一个查询主题。在查询本身中,构建一个获得不同AL-No的查询(你说这很快,可能是因为AL-No上有一个索引)。将其包含在对'#prompt('pPolicy')#'进行过滤的选择中(假设您的策略提示符键入?pPolicy?)
这会在将策略发送到数据库之前将其强制转换为sql,但包装在不同的AL-No上将允许您使用AL-No索引。
select AL_NO from
(
select AL_NO, Policy_NO
from CLAIMS
group by AL_NO, Policy_NO
)
where Policy_NO = #prompt('pPolicyNo')#