2013-03-29 75 views
0

在包間的工作日,我有兩個命名與如下結構: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的兩個給定日期之間的工作天數)。

回答

0

要計算工作日在兩個日期之間,您應該需要使用DIFFDATE函數,並在Where子句中放置您的條件......這種情況下,您將在兩個工作日內獲得所需的工作日。

例如:

SELECT DATEDIFF(日, '起始日期', 'END_DATE')AS WorkingDays FROM NamespaceA一個

INNER JOIN NamespaceB b ON BETWEEN a.start_date和A b.calender_date。 end_date之間

WHERE
灣[calender_date]之間的。[起始日期]和[END_DATE] 和b.is_holiday = 'N'