【问题标题】:SSRS currency formatting issue using IIF condition使用 IIF 条件的 SSRS 货币格式问题
【发布时间】:2019-02-07 13:25:08
【问题描述】:

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

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

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

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

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

这是输出。 #错误显示

【问题讨论】:

    标签: reporting-services expression ssrs-2012 iif


    【解决方案1】:

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

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

    【讨论】:

    • 我更喜欢在格式化货币时使用 FORMATCURRENCY()。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多