2015-12-01 78 views
0

我在自定义记录的数据类型丰富文本中定义的字段。对于大多数的部分来该字段的数据就像是445F1或445D9文本,但偶尔的数据进入它作为44500,也可以作为“450”。NetSuite公司保存的搜索修剪

我创建了一个保存的搜索来查找字段长度不是5个数字的所有值,以给出所有错误值,如'455E1或'455E2'分别是6位和7位(包括单引号) 。

问题是,当长度是仍然5位和记录错误像44500或“450”。

为了解决这个问题我想在保存的搜索,创建另一个过滤器

Formula(Numeric) 
To_number(Trim Both "'" From {myfield}) is greater than or equal to 1 

但我一直收到错误消息,说有我的过滤器语法问题:

公式中的在它的错误。它可能会解析为错误的数据类型,使用未知函数或者有语法错误。请返回,更正公式,然后重新提交。

我在做什么错?

+0

我很困惑,因为“455E1或‘455E2’是五位数(未6和7)和‘450’不是五位数字。是否可以澄清你想要过滤的内容? – showdev

+1

所以该领域将''。所以'455E1是6位数字,'455E2'是7位数字。我试图从领域(从前端和末端)中删除“。这是否有帮助 – sony1118

+0

哦,我看到 - 单引号包含在字符串中。感谢澄清。 – showdev

回答

0

式(数字) TO_NUMBER(TRIM这两个 “'” 从{} MyField的)大于或等于1

我在做什么错?

切记:{myfield}不是表。因此,您无法在此处运行From子句的查询。

得到它的工作,你应该使用这样的:

Formula(Numeric) 
LENGTH(LTRIM(RTRIM({myfield}))) not equal to 5 

但这个公式会在失败的情况下将字符串有任何字符格式(不会为丰富格式的文本工作)。

我建议尝试在这种情况下一些其他的解决办法,让您的工作做好。 一种可能的解决方案是创建一个动态字段并设置一个公式来计算字符串的长度。

LENGTH(LTRIM(RTRIM({myfield}))) 

在保存的搜索中,您可以直接搜索长度并过滤掉错误的数据。

+0

我的问题是修剪从我的领域从双方的单引号和计数字段的长度为5.如果不是5那么它是问题。 – sony1118

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 

这告诉我,如果由于某种原因,而不是在我的领域中有数字的文本。

它是一种解决办法,但确实特技

+0

酷!如果这为你做了工作,那么你可以接受你自己的答案。 :)并感谢分享它。 – Rockstar

相关问题