我有一個SSRS表,其中包含日期列,我希望將其排列成不同年份的列,在哪裏過濾列? 我試圖篩選細節組枝條下面的表達式:SSRS將日期列分成幾年
=Year(Fields!Ontledingsdatum.Value) = year(now) -5
但得到以下錯誤:
無法比擬類型System.Boolean和System.String的數據。
另外,我認爲把過濾器放在details組中是不正確的。 Regards
我有一個SSRS表,其中包含日期列,我希望將其排列成不同年份的列,在哪裏過濾列? 我試圖篩選細節組枝條下面的表達式:SSRS將日期列分成幾年
=Year(Fields!Ontledingsdatum.Value) = year(now) -5
但得到以下錯誤:
無法比擬類型System.Boolean和System.String的數據。
另外,我認爲把過濾器放在details組中是不正確的。 Regards
從您的錯誤消息看來,你正試圖在分組表達式中做比較。這不是分組工作的方式。
從您的分組表達式中刪除= year(now) -5
,您將獲得基於Ontledingsdatum
字段年份的組。如果您只想顯示過去5年的數據,則還需要過濾數據。
理想情況下,您可以在數據返回到報告之前在數據集中對其進行過濾。如果您的數據集是基於SQL的,則可以添加where Ontledingsdatum >= dateadd(yyyy,datediff(yyyy,0,getdate())-5,0)
以獲取5年前年初的所有值。
如果您需要在SSRS報告中進行過濾,可以通過在數據集或表的屬性中添加過濾器(不在分組中)將過濾器添加到數據集或表中,並將相同的過濾器指定爲在SQL中。像下面這樣的東西應該做到這一點:
表達:=Fields!Ontledingsdatum.Value
類型:Date/Time
運營商:>=
值:=cdate(year(now)-5 & "/01/01")
爲什麼不使用矩陣,而不是表上年度分組的(!字段Ontledingsdatum.Value) ? – niktrs