2014-10-07 42 views
2

如果之前已經討論過這種情況(或可笑地很容易),請道歉。我正在使用本機SQL在Cognos中工作。從提示中增加或減去一年(或幾個月)

我試圖找到一種方法來查找去年同一時間的數據,作爲用戶在提示中選擇的月份。我想在同比增長變量之前檢索相同的數據12個月。

當前代碼:

with 
monthsago as 
(select trunc(add_months(sysdate, -#prompt('p_month')#),'mon') as y , last_day(trunc(add_months(sysdate, -#prompt('p_month')#),'mon')) as z from dual) 

提示格式是YYYY-MM

+1

使用OLAP源或DMR建模,這種相對時間計算非常簡單 - 您是否嘗試過這些方法而不是自定義Cognos SQL? – chsh 2014-10-07 18:20:55

回答

1

你可以沿着

DECLARE @Prompt date = '2014-10-01'; 
SELECT DATEADD(YEAR,-1,CAST(@Prompt AS DATE)); 

線使用的東西,這是假設使用給定月份的第一次約會。

相關問題