使用IIF条件的SSRS货币格式问题

时间:2019-02-07 13:25:09

标签: reporting-services expression ssrs-2012 iif

我在SSRS报告中有一列,应以货币格式显示。从数据集中返回的数据为字符串数据类型,并且还包含连字符(“-”)。

我正在使用以下表达式。 =IIF(Fields!PREMIUM.Value="-","-",CDbl(Fields!PREMIUM.Value))

我的意图是,如果值是“-”,则忽略它,否则将字符串值转换为double。

注意:文本框属性已设置为货币格式。

如果除“-”以外的任何其他值,则表达式有效。

这是输出。 #Error显示

This is the output. #Error is displayed

1 个答案:

答案 0 :(得分:0)

正如您所说,问题与数据库何时返回破折号有关。发生错误是因为当您将文本框设置为货币格式时,SSRS无法处理破折号。最好的解决方案是将文本框保留为默认格式,并根据需要修改表达式以设置值的格式。类似以下内容可以解决该问题。如果您需要更长的号码,只需添加更多#

=IIF(Fields!PREMIUM.Value="-","-",Format(CDbl(Fields!PREMIUM.Value)), "$#######.##")