0
试图格式编号(十进制),但它表明我#Error
生产服务器上:SSRS FormatNumber错误
=FormatNumber(First(Fields!SumWithMailDelivery.Value, "document"), 0)
但开发商的服务器上正常工作。 也许有人知道,我该如何解决这个问题?
p.s.没有格式化它也可以在生产服务器上正常工作。
试图格式编号(十进制),但它表明我#Error
生产服务器上:SSRS FormatNumber错误
=FormatNumber(First(Fields!SumWithMailDelivery.Value, "document"), 0)
但开发商的服务器上正常工作。 也许有人知道,我该如何解决这个问题?
p.s.没有格式化它也可以在生产服务器上正常工作。
正如@IanPreston所说,这很可能是一种类型转换错误。我想象你的生产数据有一些无效的字符,或者那些使数字转换失败的列。
您可以使用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
'= Format(First(Fields!SumWithMailDelivery.Value,“document”),“N0”)'?或者只是在'Format'属性的文本框中应用'N0',而不是试图用表达式来应用格式?如果可以接受,我会尝试从表达式中移除格式并设置文本框属性。 –
@IprPreston:如果我设置自定义格式'N0'我得到'1434450.000',所以它不起作用。 如果我使用表达式 - 我得到'N0' ...它的奇怪的... –
错误的原因是SSRS不认识字段作为数字类型出于某种原因...所以尝试像这样:' = FormatNumber(CDec(First(Fields!SumWithMailDelivery.Value,“document”)),0)'应该解决问题或者证明SSRS由于某种原因不能进行数字转换。至于为什么它不能转换,很难说没有访问你的数据。 –