SSRS中的零错误划分

时间:2012-07-03 15:43:43

标签: ssrs-2008 reporting-services

我正在尝试调试其他开发人员创建的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 个答案:

答案 0 :(得分: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