我在自定义记录中定义了一个字段作为数据类型Rich Text。对于大部分来说,进入该领域的数据是文本,如445F1或445D9,但有时数据会以44500和“450”的形式进入。
我创建了一个已保存的搜索,以查找该字段的长度不是5位数的所有值,以便为我提供所有错误值,例如'455E1或'455E2',分别为6位和7位(包括单引号)。
问题是当长度仍为5位且记录错误时如44500或'450'。
要解决此问题,我尝试在已保存的搜索中创建另一个过滤器
Formula(Numeric)
To_number(Trim Both "'" From {myfield}) is greater than or equal to 1
但我继续收到错误消息,说我的过滤器中存在语法问题:
您的公式中有错误。它可能会解析为错误的数据类型,使用未知函数或语法错误。请返回,更正公式,然后重新提交。
我做错了什么?
答案 0 :(得分:0)
式(数字) To_number(修剪两者"'"来自{myfield})大于或等于1
我做错了什么?
请记住: {myfield}
不是表格。因此,您无法在此处使用From
子句运行查询。
要使它工作,你应该使用这样的东西:
Formula(Numeric)
LENGTH(LTRIM(RTRIM({myfield}))) not equal to 5
但是如果字符串具有任何字符格式,则此公式将失败。(对于格式丰富的文本,它不会起作用)。
我建议在这种情况下尝试其他一些解决方法来完成工作。 一种可能的解决方案是创建动态字段并设置公式以计算字符串的长度。
LENGTH(LTRIM(RTRIM({myfield})))
在保存的搜索中,您可以直接搜索长度并过滤掉错误数据。
答案 1 :(得分:0)
所以我添加了几个过滤器来实现这一目标。
Formula (Text) SUBSTR({myfield}, -1, 1) starts with '
告诉我,我的字段的最后一个字符是否是单引号
Formula (Text) SUBSTR({myfield}, 1, 1) starts with '
这告诉我我的字段的第一个字符是否是单引号 和
Formula (Numeric) TO_NUMBER({myfield}) is greater than 100
这告诉我,如果由于某种原因而不是文字,我的字段中有数字。
这是一种解决方法但可以解决问题