Cognos计算两天之间的工作日

时间:2013-03-29 14:18:18

标签: calendar cognos-8

在一个包中,我有两个名称空间,结构如下:

NamespaceA -> work_id, start_date, end_date 
NamespaceB -> calender_date, is_holiday 

我想为每个start_date计算end_datework_id之间的工作天数。

我尝试使用如下表达式创建一个新数据项:

= 
[calender_date] between [start_date] and [end_date] 
and 
is_holiday = 'N' 
= 

上述表达式返回true或false,表示两个给定日期之间是否有任何工作日。

但我想要的是两个给定日期之间的工作日数。我尝试使用上面的计数,但它不起作用。

您能告诉我如何更改上面的表达式以产生计数或我可以获得所需结果的任何其他方式(即,使用上述命名空间的每个work_id的两个给定日期之间的工作日数) 。

1 个答案:

答案 0 :(得分:0)

要计算两个日期之间的工作日,您应该使用DIFFDATE功能,并在Where子句中输入您的条件......在这种情况下,您将在两个工作日之间获得所需的工作日。

例如:

SELECT DATEDIFF(day,'start_date','end_date')AS WorkingDays 来自NamespaceA a

INNER JOIN NamespaceB b ON b.calender_date BETWEEN a.start_date AND a.end_date

WHERE
b。[start_date]和a。[end_date]之间的[calender_date] 和b.is_holiday ='N'

相关问题