我已经为此工作了一段时间,但我在网上没有找到太多可以帮助的人,所以希望有人可以提供帮助。
我正在使用带有SQL Server的Cognos 8.4.1作为数据源。我有一个保存日期和时间的日期字段。
我们的客户希望看到全年按周划分的报告,但一周从星期日开始,而不是星期一。为了增加复杂性,我需要将日期范围显示为数据标签。
因此,例如,交叉表的标题类似于下面的细分,即每列中的总计。
第 11 周 1/5-1/1 | 1/12-1/18 | 1/19-1/25 | 1/25-2/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)
我最大的挑战是使用添加天数函数,因为我从 DATEADD 开始,这是 SQL 的本机函数,但它不起作用。
感谢大家的投入!