Arbutus官网(中国)
当前位置: 主页 > 资源中心 > 文档 >

Arbutus-函数专题-查找对比函数

时间:2015-07-06 15:21来源:未知 作者:admin 点击:
Arbutus拥有丰富的查找功能。
在Arbutus数据分析中,对于字符类型的查找,一般有三个函数,FIND\LISTFIND\SMARTSEARCH,根据不同的场景可以选取不同的函数进行应用。具体如下:

FIND( )

使用 FIND( ) 函数可在指定域中查找任何字符串。FIND( ) 函数不区分大小写(大写和小写都查找)。如果找到字符串,则 FIND( ) 返回 True。
 
FIND( ) 函数用于查找域或记录中的多个字符。
 
函数格式
FIND(string <,field>)
 
FIND( ) 在 field 指定的域中查找 string。如果省略 field,则 FIND( ) 在整条记录中查找 string。
      FIND支持在日期、数值、字符类型域中进行查找
示例
FIND("New York", City)
FIND("New York")
 
在域中查找字符
要在 City 域中查找位于 New York 的公司,请在视图中使用以下过滤器表达式:
FIND("New York", City)
 
在记录中查找字符
如果将域参数留为空白,则 FIND( ) 函数会在整条记录中搜索该字符串。
 
例如,要在记录中的任何地方搜索单词“New York”,请在视图中使用以下过滤器表达式:
FIND("New York")
 
 
 

LISTFIND( )

LISTFIND( )函数可以测试一系列字符串(被保存在一个文本文件中)是否存在于指定的记录或多个域中(可以是数值、字符或日期域)。LISTFIND( )函数返还一个逻辑判断值,若找到匹配的字符串则返还为真。
     在函数引用过程中,文本文件可以被数组变量替代。
   
函数格式
 
LISTFIND("filename"<,field1,field2,...>)
LISTFIND(("filename1,filename2,..."<,field1,field2,...>)
LISTFIND(variable_array <,field1,field2,...>)
 
备注:对于文本文件中的数据格式,一般是以单域为记录的文本文件,如下所示:
literal1
literal2
literal3
...
literaln
实际以查找一个地名为例,在文本文件中,若要进行精确匹配的查找如下所示:
chicago
miami
cleveland
boston
new york
washington
当文本文件中以 * 打头时,说明查找时,若存在中间以空格隔开的字符串,则字符串中间可以出现任意的字符进行匹配,如下方的示例中“new jersey yorktown”会被判定为查找到,若没有 * 打头,则“new jersey yorktown”判定为未被匹配查找到。
*
chicago
miami
cleveland
boston
new york
washington
 
示例
LISTFIND("c:\data\list.txt",CITY,DESCRIPTION)
LISTFIND("c:\data\list1.txt,c:\data\list2.txt",CITY,DESCRIPTION)
 
 

SMARTSEARCH( )

可以使用SMARTSEARCH( )来测试在当前视图中,并且在指定的列中是否有指定的字符或字符串(如果不指定列则在整个视图中查找)。该函数在判断时不区分大小写、数据类型,如输出SmartSearch("8"),会将所有日期型、字符型、数值型的“8”全部判断为已查找到,反馈逻辑值“真”。
备注: SMARTSEARCH( ) 是基于一个当前激活的视图进行执行的函数功能,所以不适用于脚本编写。
函数格式
SMARTSEARCH(string <,column1,column2,..>)
 
示例
SMARTSEARCH("plumber")
SMARTSEARCH("plumber",JOB")
SMARTSEARCH("plumber electrician",JOB,TITLE)
SMARTSEARCH('"pipe fitter"',JOB")
 
 

  (责任编辑:admin)
------分隔线----------------------------