SSRS包含或喜欢表达

时间:2014-11-14 19:22:06

标签: reporting-services

我正在尝试从数据集中的字段创建计算表达式。我需要从一个字段中找到包含Exchange Traded一词的所有内容,并在我的新字段中找到“ETF 13F”字样。如果没有任何匹配,那么它就是空白。

我尝试了Like(“ Exchange Traded ”)和Contains(“ Exchange Traded ”)功能,在运行报告时,我的新版本中出现#error领域。

这是我尝试过的......

=IIf(Fields!DESC2.Value.like("*Exchange Traded*"),"ETF_13F", false)

如何编写此通配符表达式,然后用新计算字段中的其他文本替换?

提前致谢

1 个答案:

答案 0 :(得分:17)

在String中是你的朋友。您将2个参数传递给函数InStr(),第一个是要搜索的文本,第二个是您要搜索的文本,它返回一个Integer,它表示您正在查找的文本的起始位置在你告诉它搜索的文本中。如果找不到文本,则返回0,可以将其用作false(或者只使用>0表示true)。所以......

=iif(InStr(Fields!DESC2.Value, "Exchange Traded") > 0, "ETF_13F", Nothing)

这样就可以找到字符串" Exchange Traded"在现场" DESC2"。如果发现"交易所交易"然后它返回一个大于0的值,所以我们所做的就是说"如果这个值大于0,则显示ETF_13F,否则不显示"

希望有所帮助

编辑:

有些人赞成这一点,所以当它获得一些可见性时,我会更新答案,说有一个更好的方式让别人告诉我。您可以在String字段上使用.Contains()来执行相同的检查:

=iif(Fields!DESC2.Value.Contains("Exchange Traded"), "ETF_13F", Nothing)