2010-05-12 26 views
0

這是我的發言:爲什麼我的iif語句在條件正確的情況下評估爲真?

iif(sum(Fields!myfield1.Value) = 0, 0, sum(Fields!myField2.Value)/sum(Fields!myField1.Value)) 

有什麼建議?

+0

你在哪裏把這個IIF語句? – 2010-05-12 19:48:37

+1

@Raj更多:可能是SSRS文本字段或表格單元格。 SSRS使用VBA作爲編程語言。 – 2010-05-12 19:55:13

+1

@OMB小馬:對含糊不清的道歉。我的意思是要查明這是用在SubTotal行還是在Detail行中。 – 2010-05-12 19:57:50

回答

1

有可能評估爲真。正如其他評論中提到的那樣,無論如何,您將會得到一個錯誤,因爲無論測試結果如何,Iif()都會評估所有參數表達式。

該錯誤可以通過在除數中添加另一個Iif()來避免。

iif(
    sum(Fields!myfield1.Value) = 0, 
    0, 
    sum(Fields!myField2.Value)/iif(
            sum(Fields!myfield1.Value) = 0, 
            1, 
            sum(Fields!myField1.Value) 
           ) 
) 

現在,如果myfield1爲零且不引發錯誤,您將得到零。

(你或許應該顯示爲「N/A」或只是一個空字符串時,除數爲零,雖然)。

相關問題