2016-03-07 58 views
0

今天早上大部分時間我都被困在這個問題上......我試圖通過關於我的「截至日期」的SSRS報告來解決顯示問題。這份報告背後的數據是每晚加載的,這意味着數據只與昨天的實際日期一樣好。我的問題是我的報告目前默認參數爲[email protected] = Today()。 但是,爲了準確反映這一點,每當用戶想要更改此報告的日期時,我需要「截至日期」以始終反映昨天。因此,如果我們今天在3/7/16上運行此報告,報告背後的數據是從2016年3月6日起的,因此報告應該顯示「截至」2016年3月6日,如果他們選擇了2/29,在查看報告中,它應該顯示爲2/28/16等。「截至日期」報告邏輯

我在報告中的SQL語句使用了一個名爲CurrentDate的報告表中的一列,它只保存夜間加載日期。它指出...

WHERE @AsofDate = CurrentDate 

沒有人有任何想法我怎麼能準確腳本這使用戶可以隨時知道數據是前一天晚上?

謝謝!

+1

您應該存儲上次更新表格的實際日期,以便您可以報告該日期而不是昨天 – Lamak

+0

您可以在SSRS表達式中使用DATEADD函數。 –

+0

@拉馬克這是最有意義的事情。我無法按照建議使用Today -1,因爲如果用戶選擇3/5/16,As Of Date應顯示3/4。我的問題是,如果我的AsOfDate反映了我的表中的CurrentDate列,是否有更具體的我可以寫入,無論用戶選擇了什麼,我的標題中的AsOfDate都始終顯示-1? – Geo

回答

2

試試你AdOfDate設置爲昨天的默認值(計算值):

@AsOfDate = DateAdd(DateInterval.Day, -1, Today()) 

否則,你可以設置你的SQL查詢做同樣的

WHERE AsOfDate = DateAdd(d, -1, GetDate()) 
+0

最上面的一塊是我在找的,謝謝! – Geo