最近我遇到了在SSRS中使用IIF()函数的不一致。我正在研究具有多种条件的聚合函数。假设我有这段代码:
=Sum(IIF(Fields!MATL_STAT.Value="Disposed", Fields!MATL_SIZE.Value,0))
根据描述,表达式确定MATL的大小与MATL_STAT = "Disposed"
的总和,但每次运行报告时都会有 #Error 。
我的理论是你不能把字段放在IIF()函数的“真实选项”中。
现在,如果我的理论是正确的,那么有解决办法吗?
答案 0 :(得分:1)
使用内置函数进行广泛研究后,SSRS报告服务,该字段汇总了不同的数据类型(double / int)。为了统一数据类型,我使用CDbl()
函数,如下所示:
=Sum(IIF(Fields!MATL_STAT.Value="Disposed", CDbl(Fields!MATL_SIZE.Value),CDbl(0.0)))
答案 1 :(得分:0)
您可以使用十进制转换(CDEC),因为值输出是以小数表示的数量..