reporting-services - iif函数会同时计算SSRS中的两条路径还是短路?

标签 reporting-services reportingservices-2005 iif-function

我正在尝试根据产品的销售量评估每公斤价格($ / Kg)。如果该产品在指定期间内被强制销售,则此方法效果很好。但是,如果不出售该产品,则千克(分母)最终为0(零),从而导致错误。 -除以零错误。

我试过了

=iif(KgSold=0,0,Revenue/KgSold)


看来iif函数正在计算正确和错误的结果。我该如何解决。

我应该改用switch函数吗?

=switch(KgSold=0,0
        KgSold<>0,Revenue/KgSold)

最佳答案

没错,它不会短路。糟透了。

您将必须执行以下操作:

= Iif(KgSold = 0, 0, Revenue) / Iif(KgSold = 0, 1, KgSold )


开关功能也应该起作用。

关于reporting-services - iif函数会同时计算SSRS中的两条路径还是短路?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1204179/

相关文章:

reporting-services - SSRS SWITCH 语法不起作用

c# - SQL 报告服务 - 以编程方式设置数据源?

sql-server-2008 - SSRS中通过URL传递动态参数

sql-server-2008 - 具有多个子表的 SSRS 报告

reporting-services - 报表参数表达式中不能使用字段

vb.net:iif 如何给出空引用异常?

reporting-services - 如果我不是报告的所有者,如何将 SSRS 报告复制到新服务器

sql-server - SSRS css 搞砸了?

reporting-services - 双轴图 - Reporting Services 2005

crystal-reports - Crystal 报表公式 : IsNull + Iif