2016-10-14 67 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