我正在創建一個報告,以月爲基礎顯示性能。我從200101獲得歷史數據。創建和預覽報告時,所有數據顯示從200101到最近的月份。SSRS在濾波器中使用減法函數
我想將月數限制爲最近13個月。
我試圖用這個表達
=max(Fields!month.Value)-13
這並不工作,並顯示錯誤。
我正在創建一個報告,以月爲基礎顯示性能。我從200101獲得歷史數據。創建和預覽報告時,所有數據顯示從200101到最近的月份。SSRS在濾波器中使用減法函數
我想將月數限制爲最近13個月。
我試圖用這個表達
=max(Fields!month.Value)-13
這並不工作,並顯示錯誤。
DATEADD()
功能如何? (如果我理解你的問題)
=DATEADD(DateInterval.Month,-13,MAX(Fields!Month.Value))
其他選項將過濾數據出SSRS或您的SQL。
的SSRS過濾器會在您的SQL TODAY
和DATEADD()
功能(=DATEADD(DateInterval.Month,-13,TODAY)
)
或過濾器之間使用:
WHERE Month BETWEEN SELECT DATEADD(MONTH,-13,GETDATE()) AND GETDATE
理想的情況下你的表情應該是
=max(Fields!month.Value-100-IFF(Fields!month.Value%100>1,1,88))
100是1年和1月; 88實際上是100-12的情況,當月是201701,那麼你需要你的價值是201512(回溯13個月)
對於更多的檢查,我們確實需要檢查我們確實有13個月數據從200101開始
=IFF(Fields!month.Value>200201,max(Fields!month.Value-100-IFF(Fields!month.Value%100>1,1,88)),200101)
什麼是你看到的錯誤? – molleyc