reporting-services - 如何防止来自 ssrs 报告中自定义代码的 NaN 结果
问题描述
我想在预览报告(ssrs)时阻止 NaN 值。我使用了自定义代码。
Public Dim TotalAmount As Double = 0
Public Dim ThisValue As Double = 0
Public Dim SValue As Double = 0
Public Dim TValue As Double = 0
Public Function CalculateTotal(FirstValue as Double,SecondValue as Double,
ThirdValue as Double) as Double
ThisValue=ThisValue+FirstValue
SValue=Svalue+SecondValue
TValue=TValue+ThirdValue
TotalAmount=SValue/(ThisValue+TValue)*100
Return TotalAmount
End Function
在我的表达中:
=Code.CalculateTotal(Fields!N_ANSWERED.Value,Fields!SLA.Value,Fields!N_ABANDONED.Value)
我尝试防止除以零:
IIF((ThisValue+TValue)*100=0,1,(ThisValue+TValue)*100)
,但没有任何改变。
我期望零值。
解决方案
我只需添加一个 If 来检查您的 TOTAL 计算中的零分母。
Public Dim TotalAmount As Double = 0
Public Dim ThisValue As Double = 0
Public Dim SValue As Double = 0
Public Dim TValue As Double = 0
Public Function CalculateTotal(FirstValue as Double, SecondValue as Double, ThirdValue as Double) as Double
ThisValue = ThisValue + FirstValue
SValue = Svalue + SecondValue
TValue = TValue + ThirdValue
If ThisValue + TValue <> 0 Then TotalAmount = SValue / (ThisValue + TValue) * 100
Return TotalAmount
End Function
这样,如果您的总金额为 0,则不会执行总金额计算。
您拥有的 IIF 是 SSRS 表达式语法而不是 VBA 语法,它可能会给出不同的错误。
推荐阅读
- amazon-ec2 - 对于长时间运行的重要应用程序,Aws EC2 实例类型选择什么?
- json - 由于 manifest.json 上的错误被读取为 text/html,导致 Github 页面出现 400 错误
- python - 如何在乌龟中使用字母键?
- javascript - Javascript - 正则表达式来验证特定位置的字符
- python - 如何在 if 语句之后将列表中的元素作为一个整体保存
- numpy - numpy array.shape 行为
- javascript - 如何使用 React 中的“get”方法提交表单?
- vim - VSCodeVim - 如何正确绑定文本插入?
- database - 在 MongoDB 聚合中组合多个投影
- python - 需要在文本文件中搜索一个值,然后从文本文件 python3x 中提取值所在的行