Cognos计算两天之间的工作日



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

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

我想计算每个work_idstart_dateend_date之间的工作日数。

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

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

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

但是我想要的是两个给定日期之间的工作日数。我试着用上面的计数,它没有工作。

你能让我知道我如何改变上面的表达式,以产生一个计数或任何其他方式,我可以得到所需的结果(即,两个给定日期之间的工作日数为每个work_id使用上述命名空间)。

要计算两个日期之间的工作日,您应该使用DIFFDATE函数并在Where子句中放置您的条件…在这种情况下,您将在两个工作日之间获得所需的工作日。

例如:

SELECT DATEDIFF(day,'start_date','end_date') AS WorkingDaysFROM NamespaceA a

INNER JOIN命名空间b在a.start_date和a.end_date之间设置b.calender_date

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

相关内容

  • 没有找到相关文章

最新更新