2012-07-03 30 views
0

我試圖調試由另一個開發人員創建的SSRS報告中的錯誤。據我所知,這是一個零分問題。所有報告在這裏都在計算最後的百分比。存儲過程在返回結果之前將所有空值轉換爲零,所以我看不到這裏存在什麼問題。有任何想法嗎?SSRS中由零錯誤劃分

= 
Sum(IIf(Fields!ConstructionTradeDesc.Value = "Journeyman", 
    Fields!BlackF.Value + Fields!HispanicF.Value + Fields!AsianPacificF.Value + Fields!NativeAmericanF.Value + Fields!OtherF.Value, 
Nothing)) 
/
Sum(IIf(Fields!ConstructionTradeDesc.Value = "Journeyman" 
    and 
Fields!BlackM.Value + Fields!BlackF.Value + Fields!HispanicM.Value + Fields!HispanicF.Value + Fields!AsianPacificM.Value + Fields!AsianPacificF.Value + 
Fields!NativeAmericanM.Value + Fields!NativeAmericanF.Value + Fields!OtherM.Value + Fields!OtherF.Value > 0, 

Fields!BlackM.Value + Fields!BlackF.Value + Fields!HispanicM.Value + Fields!HispanicF.Value + Fields!AsianPacificM.Value + Fields!AsianPacificF.Value + 
Fields!NativeAmericanM.Value + Fields!NativeAmericanF.Value + Fields!OtherM.Value + Fields!OtherF.Value, 
1)) 
* 100 

回答

1

SSRS不會自動爲您處理被零除錯誤,但它看起來像你試圖解決這個問題,這將是正確的方法。您是否在所有顯示中看到任何錯誤 - 例如錯誤列表窗口(您可以從「查看」菜單打開)?

問題可能是您需要將IIF函數放置在表達式的外部而不是內部。所以像這樣:

= 
Iif(Fields!ConstructionTradeDesc.Value = "Journeyman", 
    sum(Fields!BlackF.Value + Fields!HispanicF.Value + Fields!AsianPacificF.Value + Fields!NativeAmericanF.Value + Fields!OtherF.Value), 
Nothing) 
/
Iif(Fields!ConstructionTradeDesc.Value = "Journeyman" 
    and 
sum(Fields!BlackM.Value + Fields!BlackF.Value + Fields!HispanicM.Value + Fields!HispanicF.Value + Fields!AsianPacificM.Value + Fields!AsianPacificF.Value + 
Fields!NativeAmericanM.Value + Fields!NativeAmericanF.Value + Fields!OtherM.Value + Fields!OtherF.Value) > 0, 

sum(Fields!BlackM.Value + Fields!BlackF.Value + Fields!HispanicM.Value + Fields!HispanicF.Value + Fields!AsianPacificM.Value + Fields!AsianPacificF.Value + 
Fields!NativeAmericanM.Value + Fields!NativeAmericanF.Value + Fields!OtherM.Value + Fields!OtherF.Value), 
1) 
* 100