Обновить поле с частичным совпадением - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть расчет синтаксического анализа в поле, называемое «output», которое просматривает другое поле (называемое «parser») и обновляет «output» частью данных из «parser» (в частности, «XCX0001-пользователь ", вычисление ищет" -user "и затем обновляет поле вывода с" XCX001 ").

Вот что у меня есть:

If ( FilterValues ( layout::parser ; "-user" )  ; 
Left ( layout::parser ; Position ( layout::parser ; "-" ; 1 ; 1 ) -1 ) 
; 0 )

Так что, если в поле нет части "-user", оно напечатает "0", а не "XCX001".Хотя это не выглядит как «Значения фильтра» ищет частичные совпадения.Есть ли способ это исправить?

Спасибо.

1 Ответ

0 голосов
/ 26 сентября 2018

FilterValues() делает не то, что вы думаете (см. help для получения дополнительной информации).

Чтобы проверить, содержит ли ваше поле строку "-user", вы можете использовать =

PatternCount ( YourField ; "-user" )

или =

Position ( YourField ; "-user" ; 1 ; 1  )

в качестве тестового выражения.Кроме того, если строка всегда в конце, вы можете проверить на =

Right ( YourField ; 5  ) =  "-user" 
...