将数字转换为货币时,SSRS 报告显示#Error
SSRS Report Shows #Error When Converting Number to Currency
我正在尝试让报告显示用户在参数中输入的购买价格。如果用户没有输入任何内容,它会说“未公开”,否则我希望它以货币形式显示购买价格。我尝试了以下方法:
=IIF(Parameters!PurchasePrice.Value = "", "Undisclosed", Cstr(Format(Parameters!PurchasePrice.Value, "C")))
=IIF(Parameters!PurchasePrice.Value = "", "Undisclosed", Format(Parameters!PurchasePrice.Value, "C"))
=IIF(Parameters!PurchasePrice.Value = "", "Undiscloded", FormatCurrency(Parameters!PurchasePrice.Value,0))
=IIF(Parameters!PurchasePrice.Value = "", "Undiscloded", FormatNumber(Parameters!PurchasePrice.Value,0))
我可以显示“Undisclosed”,但每次输入数字时它都会显示 #Error
我会稍微不同地处理这个问题。这将避免 SSRS 尝试将非数字格式化为货币。 IIF
将评估真假结果,即使每个实例只有一个结果为真。
我会将显示购买价格的文本框设置如下...
设置Value
表达式为
=VAL(Parameters!PurchasePrice.Value)
如果参数值保留为 blank/empty 字符串
,这将 return 为零
然后将文本框的Format
属性设置为
$#.00;-$#.00;Undisclosed
假设您想要 $
作为货币符号。此格式字符串会将正数和负数的数字格式化为两位小数,并在 $ 符号前添加前缀,但对于零值,它将显示作品“Undisclosed”
您可以尝试以下解决方案:
=IIF(IsNumeric(Parameters!PurchasePrice.Value), Format(Val(Parameters!PurchasePrice.Value), "C"), "Undisclosed")
我正在尝试让报告显示用户在参数中输入的购买价格。如果用户没有输入任何内容,它会说“未公开”,否则我希望它以货币形式显示购买价格。我尝试了以下方法:
=IIF(Parameters!PurchasePrice.Value = "", "Undisclosed", Cstr(Format(Parameters!PurchasePrice.Value, "C")))
=IIF(Parameters!PurchasePrice.Value = "", "Undisclosed", Format(Parameters!PurchasePrice.Value, "C"))
=IIF(Parameters!PurchasePrice.Value = "", "Undiscloded", FormatCurrency(Parameters!PurchasePrice.Value,0))
=IIF(Parameters!PurchasePrice.Value = "", "Undiscloded", FormatNumber(Parameters!PurchasePrice.Value,0))
我可以显示“Undisclosed”,但每次输入数字时它都会显示 #Error
我会稍微不同地处理这个问题。这将避免 SSRS 尝试将非数字格式化为货币。 IIF
将评估真假结果,即使每个实例只有一个结果为真。
我会将显示购买价格的文本框设置如下...
设置Value
表达式为
=VAL(Parameters!PurchasePrice.Value)
如果参数值保留为 blank/empty 字符串
,这将 return 为零然后将文本框的Format
属性设置为
$#.00;-$#.00;Undisclosed
假设您想要 $
作为货币符号。此格式字符串会将正数和负数的数字格式化为两位小数,并在 $ 符号前添加前缀,但对于零值,它将显示作品“Undisclosed”
您可以尝试以下解决方案:
=IIF(IsNumeric(Parameters!PurchasePrice.Value), Format(Val(Parameters!PurchasePrice.Value), "C"), "Undisclosed")