2013-06-05 57 views
0

我想檢查SSRS報告中的值,以確保它不爲空,首先,然後它等於特定值。我的表達式如下:檢查SSRS中的空值和值

=iif(IsNothing(First(Fields!RecordStatusFlagId.Value, "DataSource")),"",(First(Fields!RecordStatusFlagId.Value, "DataSource") = 1,"","DELETED")) 

所以,如果RecordStatusFlagID.Value不爲空,它不等於1個寫入「已刪除」。否則寫「」。

然而,這給我的錯誤:

Error 75 [rsCompilerErrorInExpression] The Value expression for the textrun ‘textbox21.Paragraphs[0].TextRuns[0]’ contains an error: [BC30198] ')' expected. C:\Reports\MyReport.rdl 0 0

這是沒有意義的,因爲我已經驗證了我所有的括號被關閉和匹配。

是否甚至有可能在IsNothing運算符中使用表達式作爲第二項?

回答

0

我需要一個iif添加到IsNothing表達

=iif(IsNothing(First(Fields!RecordStatusFlagId.Value, "DataSource")),"",iif(First(Fields!RecordStatusFlagId.Value, "DataSource") = 1,"","DELETED")) 
+0

任何人都可以在此展開回答?我更願意接受其他人可以從中受益的更完整的東西。 –

0

我認爲你可以簡化成一個單一的IIF()語句的第二部分:

=iif(
    First(Fields!RecordStatusFlagId.Value, "DataSource") <> 1 
    And First(Fields!RecordStatusFlagId.Value, "DataSource") Is Not Nothing 
    , "DELETED" 
    , "" 
    )