我正在尝试从数据集中的字段创建计算表达式。我需要从一个字段中找到包含Exchange Traded一词的所有内容,并在我的新字段中找到“ETF 13F”字样。如果没有任何匹配,那么它就是空白。
我尝试了Like(“ Exchange Traded ”)和Contains(“ Exchange Traded ”)功能,在运行报告时,我的新版本中出现#error领域。
这是我尝试过的......
=IIf(Fields!DESC2.Value.like("*Exchange Traded*"),"ETF_13F", false)
如何编写此通配符表达式,然后用新计算字段中的其他文本替换?
提前致谢
答案 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)