Ssrs 2008 SSRS中的零误差除法

Ssrs 2008 SSRS中的零误差除法,ssrs-2008,reporting-services,Ssrs 2008,Reporting Services,我试图调试另一个开发人员创建的SSRS报告中的错误。据我所知,这是一个零除问题。报告在这里所做的只是在最后计算一个百分比。存储过程在返回结果之前将所有空值转换为零,因此我看不出这里有什么问题。有什么想法吗 = Sum(IIf(Fields!ConstructionTradeDesc.Value = "Journeyman", Fields!BlackF.Value + Fields!HispanicF.Value + Fields!AsianPacificF.Value + Fiel

我试图调试另一个开发人员创建的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

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