我正在Cognos 10.1.1中工作截止到Cognos的日期逻辑
我有62个列表报表的不同要求,这些报表按列不同。
如果我们根据类别对它们进行分组,31个报告显示BOD和31个显示EOD数据。
EOD(T-2数据)和BOD(T-1数据)。
这是要求。为了减少报告的数量,我们计划将这两个日期逻辑混合在一个报告中。
Case
when [Time Selection] = 'EOD' then
[As of date] = _add_days(current_date,-2)
else
[As of date] = _add_days(current_date,-1)
end
这工作正常但报表性能有所下降。它的运行时间比单独的报告长。
我试过使用宏,但生成sql时上述情况condtion和宏之间没有区别。
请给我一个解决方案来提高报表性能。
我们正在使用db2。
在此先感谢。
那么,在单独的查询中运行它们并将结果联合在一起呢? – Andrew 2014-08-28 19:22:58
我们需要更多信息,比如查询的其余部分,以及Cognos生成的内容。我有一种感觉,'CASE'_may_可以为每一行运行,这不会有任何帮助。一个天真的优化可能会以'OR'条件结束,这些优化器对任何一个都不太满意(但可能仍然有帮助)... – 2014-08-30 01:25:48
通常,您基于日期查询,但是EOD/BOD改变,你首先根据你的EOD标志查询。你应该检查你的表索引。你可能有一个日期,但没有一个在你的EOD标志上。 – Damienknight 2014-09-02 13:31:43