我在一个名为“output”的字段中进行解析计算,该字段查看另一个字段(称为“解析器”)并使用“解析器”中的一部分数据更新“输出”(具体而言,数据为“XCX0001-user”,计算查找“-user”,然后使用“XCX001”更新输出字段。
这是我到目前为止:
If ( FilterValues ( layout::parser ; "-user" ) ;
Left ( layout::parser ; Position ( layout::parser ; "-" ; 1 ; 1 ) -1 )
; 0 )
因此,如果该字段没有“-user”部分,则它将打印“0”,而不是“XCX001”。虽然它看起来不像“过滤器值”寻找部分匹配。有任何解决这个问题的方法吗?
谢谢。
FilterValues()
没有做你认为它做的事情(更多信息见help)。
要测试您的字段是否包含字符串"-user"
,您可以使用=
PatternCount ( YourField ; "-user" )
或=
Position ( YourField ; "-user" ; 1 ; 1 )
作为你的测试表达。或者,如果字符串始终在末尾,则可以测试=
Right ( YourField ; 5 ) = "-user"