0
很新的SSRS如此忍受我...如何存儲過程變量添加到SSRS 2012個標籤
我創建了一個基於存儲過程和SSRS報告作爲程序的一部分,我計算起始日期和EndDate爲我的報告。我需要在報告的標題中使用這兩個日期,但這些變量不是從存儲過程創建的數據集的一部分。
如何將這些變量添加到報告的標題?
下面是代碼:
DECLARE @ThisDate date;
SET @ThisDate = getdate(); -- Current date
DECLARE @sdate AS int
SELECT @sdate = CONVERT(int, CONVERT(varchar(10), dateadd(yy, datediff(yy, 0, @ThisDate) - 2, 0), 112)) -- Beginning of previous 2 year
DECLARE @edate AS int
SELECT @edate = CONVERT(int, CONVERT(varchar(10), dateadd(mm, datediff(mm, -1, @ThisDate) - 1, -1), 112)) -- Last Day of previous month
希望我的報告顯示:
從@sdate通過@edate(從2014年1月1日至2016年8月31日)
我感謝幫助!
感謝您的幫助漢諾威!所以我決定按照第二個選擇併爲Start_Date和End_Date添加參數。我添加了默認值並從報告中隱藏它們,以便它們僅用於報告標題。我在StoreProc使用的起始日期計算是 「SELECT @sdate = CONVERT(INT,CONVERT(VARCHAR(10),DATEADD(YY,DATEDIFF(YY,0,@ThisDate) - 2,0),112))」 ..它可能是-3取決於IF語句。根據您的建議(並添加條件)「= IIf(月(今日)= 1,」01/01 /「和(年(今日)-3),」01/01 /「和年(今日) - 2))「。 – MROS65
但是,我havong的End_Date計算問題需要從前一個月的最後一天。我在StoreProc「SELECT @edate = CONVERT(int,CONVERT(varchar(10),dateadd(mm,datediff(mm,-1,@ThisDate) - 1,-1),112))」 m試圖建立在報告上,但不能得到轉換爲文本「= dateadd(DateInterval.month,datediff(DateInterval.month,-1,TODAY)-1,-1)」。 End_Date被定義爲文本,即使我把它變成鍵入日期我得到...不能轉換爲鍵入'日期'... – MROS65
有可能是一種更簡單的方法來獲得End_Date(上個月從今天的最後一天),但我無法找到它:-( – MROS65