2015-12-16 79 views
0

我必須基於表達式顯示一個值,即如果列值= 1打印Y,如果值= 0打印N如果值=''打印N和值= NULL打印N在列上。處理多個值以在SSRS中顯示一個值

我嘗試下面的代碼

=IIF(IsNothing(Fields!MyColumnName.Value),"N",IIF(Fields!MyColumnName.Value=1,"Y","N"))

但這不是工作在列中的NULL值和空值。

在此先感謝... !!

+0

什麼是你的數據集返回,字符串或整數?你能分享一個示例數據集,因爲我無法重新創建問題 - 上面的表達式適用於整數(和空值) – Jonnus

+0

它返回整數,我的列返回值0,1,但在某些情況下,列爲空。對於值1,我希望顯示「Y」爲0「N」,對於NULL或空白我想顯示「N」 – user2728106

+0

爲什麼它「無效」爲null或空白。它在做什麼呢? – Jonnus

回答

0

您的問題來自SSRS在執行之前評估表達式的所有可能路徑的事實。因此,當它試圖比較''的整數1失敗,報告#Error

爲了防止這一點,你可以換你的領域在CSTR(轉換爲字符串),給人的表達

=IIF(IsNothing(Fields!MyColumnName.Value), 
    "N", 
    IIF(CStr(Fields!MyColumnName.Value)=CStr(1), 
     "Y", 
     "N" 
    ) 
) 

下面的示例示出了用於myColumnName的值,與當前的表達的結果,其評估值的描述,然後在最後一列

enter image description here

上述表達式的結果

希望這會幫助你。如果您需要進一步幫助,或者對此有更多疑問,請告知我們。

+0

是的它可以工作。感謝Jonnus。 – user2728106