[英]SSRS IIF expression
在我的SSRS报告中,当行中的PolStockCode为空或为空字符串时,我希望查询中的PolDiscountPerc文本框为空白,但是,如果PolStockCode包含值,则格式化PolDiscountPerc文本框以将其显示为百分比。
=IIF(IsNothing(Fields!PolStockCode.Value) or Fields!PolStockCode.Value is "", "",(Format(Fields!PolDiscountPerc.Value, "0.00") & "%"))
以下查询的问题是它不执行任何操作或将表中的每一行的文本框都设置为空白,尽管其中大多数确实包含PolStockCode。 我哪里出问题了?
is
只能用于比较nothing
。 您需要使用=
。
=IIF(IsNothing(Fields!PolStockCode.Value) or Fields!PolStockCode.Value = "", "",(Format(Fields!PolDiscountPerc.Value, "0.00") & "%"))
您可以通过删除is
=
来尝试将表达式设为单个unit ()
吗?
=IIF
(
(IsNothing(Fields!PolStockCode.Value) or Fields!PolStockCode.Value = "")
, ""
,(Format(Fields!PolDiscountPerc.Value, "0.00") & "%")
)
或者,您可以在外部设置百分比格式:
=IIF
(
(IsNothing(Fields!PolStockCode.Value) or Fields!PolStockCode.Value = "")
, ""
,Fields!PolDiscountPerc.Value)
)
我完全忘记了这是数据库中的nchar字段,它不是空字符串。
因此,这解决了我的问题
=IIF((IsNothing(Fields!PolPMStockCode.Value) or Len(Trim(Fields!PolPMStockCode.Value)) = 0), "", Fields!PolDiscountPerc.Value)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.