1

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

我使用 Cognos 8.4.1 和 SQL Server 作为数据源。我有一个包含日期和时间的日期字段。

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

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

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

任何帮助表示赞赏,谢谢!

4

1 回答 1

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 的本机函数,但它不起作用。

谢谢各位的意见!

于 2014-02-13T18:07:51.530 回答