SSRS FormatNumber错误

时间:2013-10-30 11:09:04

标签: reporting-services ssrs-2008

尝试格式化数字(十进制),但它在生产服务器上显示#Error

=FormatNumber(First(Fields!SumWithMailDelivery.Value, "document"), 0)

但在开发者服务器上它运行正常。 也许有人知道,我该如何解决这个问题?

P.S。没有格式化它也适用于生产服务器。

1 个答案:

答案 0 :(得分:1)

正如@IanPreston所说,它很可能是类型转换错误。我认为您的生产数据包含该列的一些无效字符或一些导致数字转换失败的Null列。

您可以使用Val功能进行转换。 Val与其他数字转换函数的不同之处在于,当要转换的字符串不是数字时,它不会出错 - 它只是做到了最好的工作。

因此,为Value属性尝试这样的表达式:

=IIF(Fields!SumWithMailDelivery.Value Is Nothing, 
  Nothing, 
  IIF(IsNumeric(Fields!SumWithMailDelivery.Value), 
    Val(Fields!SumWithMailDelivery.Value), 
    Fields!SumWithMailDelivery.Value)
)

然后使用N0作为Format属性,尽可能将其格式化为数字。

这个公式将:

  • 如果字段为Nothing
  • ,请将单元格设为Null
  • 转换为数字并尽可能使用适当的格式
  • 否则只输出字段中的内容