0

我正在創建一個報告,以月爲基礎顯示性能。我從200101獲得歷史數據。創建和預覽報告時,所有數據顯示從200101到最近的月份。SSRS在濾波器中使用減法函數

我想將月數限制爲最近13個月。

我試圖用這個表達

=max(Fields!month.Value)-13 

這並不工作,並顯示錯誤。

+0

什麼是你看到的錯誤? – molleyc

回答

1

DATEADD()功能如何? (如果我理解你的問題)

=DATEADD(DateInterval.Month,-13,MAX(Fields!Month.Value)) 

其他選項將過濾數據出SSRS或您的SQL。

的SSRS過濾器會在您的SQL TODAYDATEADD()功能(=DATEADD(DateInterval.Month,-13,TODAY)

或過濾器之間使用:

WHERE Month BETWEEN SELECT DATEADD(MONTH,-13,GETDATE()) AND GETDATE 
0

理想的情況下你的表情應該是

=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)