2016-11-21 40 views
0

有我的SSRS能見度表達麻煩:SSRS能見度

=IIF((SUM(Fields!Rooms_Off_2) = 0 AND (IsNothing(Fields!actual_end.Value)))    
OR (SUM(Fields!Rooms_Off_2) = 0 AND (Fields!actual_end.Value >= DATEADD("d",-7,TODAY()))), false, true) 

不斷給我的錯誤信息:「爲表矩陣‘Tablix1’隱藏的表達式使用聚合函數與返回的數據類型不是一個表達式(rsProcessingError)「

任何想法?

+0

你似乎是從兩個'字段Rooms_Off_2' – stubaker

回答

0

看起來Rooms_Off_2字段設置爲Text數據類型,它不能在像SUM這樣的聚合函數中使用。您可以將該字段轉換爲Double數據類型,以便使聚合工作。

嘗試:

Switch(
SUM(CDbl(Fields!Rooms_Off_2)) = 0 AND IsNothing(Fields!actual_end.Value),False, 
SUM(CDbl(Fields!Rooms_Off_2)) = 0 AND Fields!actual_end.Value >= DATEADD("d",-7,TODAY()),False, 
True,True 
) 

讓我知道,如果這有助於。

+0

這就是爲什麼我很困惑,在Rooms_Off_2場實際上是一個CASE語句創建一個字段缺少'.Value':\t'CASE WHEN snapshot_date之間DATEADD(DD, -11,CONVERT(CHAR(8),CURRENT_TIMESTAMP,112)) \t \t \t \t \t \t \t \t AND DATEADD(DD,-5,CONVERT(CHAR(8),CURRENT_TIMESTAMP,112)) \t \t \t THEN rooms_off_market ELSE 0 END AS [房間關閉2],' – Femmer

+0

我也有SUM(Rooms_Off_2)作爲我的報告中的一列,並且所有的com直到我添加可見性表達式。 – Femmer

+0

@Femmer,你在哪裏使用Tablix,文本框或屬性中的表達式? –