2014-10-23 2 views
1

Есть ли функция в Business Objects Web Intelligence (версия 2010), чтобы проверить, содержит ли строка константу? Я знаю, что функция MATCH() может использоваться для проверки строки для шаблона, аналогично тому, как SQL реализует условие LIKE.Содержимое тестовой строки

Например:

myString = 'abc,def,ghi' 
myString2 = 'def,ghi,jkl' 

И строковые переменные выше содержат константу «Защиту», но есть функция, чтобы проверить это, а не с помощью:

=IF(MATCH([Dimension];"def") OR MATCH([Dimension];"*def") 
    OR MATCH([Dimension];"def*") OR MATCH([Dimension];"*def*")) 
//Do something 

Я посмотрел через функций и формул руководства и не нашли того, что я искал, следовательно, здесь я.

ответ

1

MATCH([Dimension];"*def*")) даст результат, в котором вы нуждаетесь. Подстановочный знак будет соответствовать началу строки.

В качестве альтернативы, вы можете использовать Pos():

=Pos("def abc ghi";"def")
возвращает 1

=Pos("def abc ghi";"abc")
возвращает 5

=Pos("def abc ghi";"xyz")
возвращает 0

+0

Я была предварительно суммировали требуемые значения подстановочного знака и не возвращали те, которые начинались или заканчивались предоставленным шаблоном. Спасибо за предоставление альтернативного подхода, он не был полезен для этой конкретной проблемы, но вполне может быть принят в качестве решения в будущем. – cope

+0

Есть ли способ совместить ** множественные вхождения ** строки A в строке B? 'Match' возвращает только логическое значение, а' Pos' возвращает индекс первого найденного совпадения. Может быть, разделите строку на итерируемый массив на основе общего разделителя и верните счет? –

+0

Не напрямую. Вам нужно будет использовать Substr() или Right(), чтобы извлечь строку после первого появления строки поиска, а затем выполнить поиск. – Joe

Смежные вопросы