2016-07-19 221 views
3

我是SSRS的新手,我想創建一個計算的字段,將兩列相減。但是,每個列中都有一些SSRS處理爲零的空白字段。如果任何一個字段爲空,我希望SSRS創建一個n/a結果,但如果兩個列中都有一個值,則會減去兩個字段。 ?也許「如果沒有」聲明「評估SSRS中兩列的iif語句

我想出了這一點,但只生成N/A如果兩列有一個空白:

=iif(Fields!Prior_A1c.Value <> 0 OR Fields!A1c.Value <> 0, (Fields!A1c.Value-Fields!Prior_A1c.Value), "n/a") 

這是我希望它看起來像([差異]是計算列):

A1C  Prior A1c  Difference 
    7   5    2 
       6    n/a 
    6      n/a 
    5   6    -1 

預先感謝您

+0

你有沒有得到解決? – scsimon

+0

是的!你的解決方案工作我不知道該怎麼感謝你才足夠。 – inefficientmkts

+0

非常感謝您的回覆:) – scsimon

回答

1

使用Isnumeric(Fields!Prior_A1c.Value)IsNothing(Fields!Prior_A1c.Value)來測試您的空字符串。

此外,你的IIF邏輯不是我應該怎麼想的。你說如果你的任何一列不是0,那麼做減法,當我認爲你想要的時候,如果任何一個是空白的,那麼使用NA,否則做減法。我想你想要這樣:

=iif(IsNothing(Fields!Prior_A1c.Value) OR IsNothing(Fields!A1c.Value),"N/A",(Fields!A1c.Value-Fields!Prior_A1c.Value)) 
0

試試這個:

=iif(Fields!Prior_A1c.Value <> 0 OR Fields!A1c.Value <> 0, (
iif(Fields!A1c.Value=Nothing,0,Fields!A1c.Value) - iif(Fields!Prior_A1c.Value=Nothing,0,Fields!Prior_A1c.Value) 
), "n/a") 
+0

謝謝。出於某種原因,這個結果與我原來的結果相同。它也可能是我。下面的答案確實有效。 – inefficientmkts