Cognos - 由DateRange分发的交叉表报告(从星期日开始的一周)

时间:2014-02-13 00:11:18

标签: cognos cognos-8

我一直在研究这个问题,我在网上找不到太多帮助,所以希望有人可以提供帮助。

我正在使用Cognos 8.4.1和SQL Server作为数据源。我有一个日期字段,可以保存日期和时间。

我们的客户希望看到整个一周按周分列的报告,但周日从星期日开始,而不是星期一。为了增加复杂性,我需要将日期范围显示为数据标签。

所以例如交叉表的标题看起来像下面的突破,每列的总数。

第1周/第5-1 / 11周| 1 / 12-1 / 18 | 1 / 19-1 / 25 | 1 / 25-2 / 1 |

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

所以理想的方法是实际上有一个包含日历数据的表格,以便正确地执行此操作。这不是我可以在一夜之间添加到我们的Cognos环境中的东西,所以在此期间我提出了一个临时解决方案。我没有显示周范围,而是显示每周(星期日)的开始。

我创建了一个名为[DayOfWeek]的新数据元素:

_day_of_week([mydatefield], 7)

然后我创建了另一个调用它的数据元素[StartOfWeek]:

cast(CASE [DayofWeek] 
WHEN 1 THEN [mydatefield] 
ELSE _add_days([mydatefield], -1 * ([DayofWeek] - 1)) 
END,date)

我最大的挑战是使用add days函数,因为我从DATEADD开始,这是SQL的本机函数,它无法正常工作。

感谢大家的意见!

相关问题