2016-10-14 66 views
0

我有InStr函数,当数字位于搜索字符串的开头时,似乎不匹配。SSRS报告表达式:SWITCH,InStr和LCase

=Switch(
InStr(LCase(Fields!Frequency.Value), "3 times a day") >= 1, "TID", 
InStr(LCase(Fields!Frequency.Value), "4 times a day") >= 1, "QID" 
) 

如果我从分别3 times a day4 times a day除去任一3或4中,InStr功能工作。如何搜索以数字开头的字符串?

谢谢。

+0

你的代码似乎没事。你面临什么错误? – p2k

回答

0

不能使用 包含或功能的indexOf像代替:

LCase(Fields!Frequency.Value).Contains("3 times a day") , "TID" 

LCase(Fields!Frequency.Value).IndexOf("3 times a day")>= 0 , "TID" 

我尝试了样品,你的代码应该工作。 也许你有一个双倍空间的地方尝试添加替换公式

LCase(replace(Fields!Frequency.Value," "," ") 
+0

我也尝试了这两种功能,两者都不起作用。我可以通过其他方式做到这一点,但出于设计原因,我希望逻辑保持在报告的这个区域内。它奇怪的三种表达式功能都不起作用。 –

+0

可能是有双重空间的东西。 – Kostya