选择第一个匹配记录
您可以使用 Analytics 命令来选择表中匹配搜索条件的第一个记录。该记录将被选择,而不是被隔离,这与 Analytics 中的其他类型的搜索不同。其余记录仍然呈现在表视图中。
在脚本中的用处
选择第一个匹配记录的能力主要可在 Analytics 脚本中使用。例如,与其他编写脚本的技巧相结合,可使用下面的命令顺序地遍历某个表中的记录,以便基于每个选定记录的内容来执行重复操作。
“搜索”对话框
在 Analytics 用户界面中,您可以在搜索对话框(数据 > 搜索)中访问这些命令。
下表介绍了搜索对话框中的不同选项。它还提供了等效的 ACLScript 命令(假定这些选项主要用在 Analytics 脚本中)。
说明
您可以单击下面的任一命令名称,以了解有关该命令的详细信息。
|
“搜索”对话框选项 |
等效的 Analytics 命令 |
描述 |
|---|---|---|
|
定位记录 |
在表中选择特定记录号。 |
|
|
定位条件 |
选择任何类型的字面量的第一个实例,或使用任何数据类型或数据类型混合的表达式的第一个实例。不必对表进行索引。 例如:
|
|
|
查找文字 |
在按升序索引的字符域中选择字符字面量(例如,New York)的第一个实例。 说明 FIND 命令和 FIND( ) 函数是两个具有重大区别的不同 Analytics 功能。 |
|
|
查找表达式 |
在按升序索引的字符域中选择字符字面量(例如,“New York”)或字符表达式(例如,v_城市)的第一个实例。 |
索引要求
要使用查找字面量或寻找表达式选项,您必须首先按升序索引您想要搜索的字符域。这两个选项都仅在索引域中搜索。
如果表按照一个以上的域索引(嵌套索引),则只搜索主键域,并且假定它是按升序索引的字符域。如果索引为条件性的,则从视图中排除的任何记录也会被从搜索中排除。
准则
| 功能区域 | 准则 |
|---|---|
| 数据类型 |
所有选项都可与字符域一起使用。只有定位条件选项可以与日期时间域或数值域一起使用。 |
| 部分匹配 |
搜索字符域时支持不完全匹配,但搜索字符串必须出现在域的开头。 例如,Vendor_Name = "Uni" 可找到 “United Equipment”,但 Vendor_Name = "Equip" 找不到。 |
| 区分大小写 | 当用于搜索字符域时,所有选项都区分大小写。 |
| 性能 | 定位条件选项按顺序搜索表,因而比搜索索引表的查找字面量和寻找表达式选项的速度慢。但是,定位条件选项不需要花费时间对表进行索引。 |
| 记录顺序 | 定位条件选项保持表中记录的原始顺序,根据您的分析的性质的不同,这一特点可能是有益的。 |
在表中选择特定记录号
- 从 Analytics 主菜单中选择数据 > 搜索 > 定位记录。
- 在表达式文本框中键入记录编号,然后单击确定。
如果找到该记录号,则表会定位到该记录处。
选择任何类型字面量或表达式的第一个实例
- 从 Analytics 主菜单中选择数据 > 搜索 > 定位条件。
- 执行以下操作之一:
- 在表达式文本框中输入一个表达式,然后单击确定。
- 单击表达式以打开表达式生成器,创建一个表达式,单击确定,然后再次单击确定。
表达式可以根据需要简单或复杂,可以涉及一个域或多个域,且可以混用数据类型。例如:
Vendor_Name = "United Equipment"
Invoice_Amount > 1000
Vendor_Name = "United Equipment" AND Invoice_Amount > 1000 AND Invoice_Date > `20140930`
您必须将字符字面量值放在引号中,将日期时间值放在反引号中。
如果找到指定值,则表会定位到该记录。
如果找不到指定的值,则表会定位到该表中的第一个记录。
选择索引表中字符字面量的第一个实例
- 为您想要搜索的表激活索引。
该表必须按您想要搜索的字符域进行索引。
- 从 Analytics 主菜单中选择数据 > 搜索 > 查找字面量。
-
在表达式文本框中键入一个字符字面量值,然后单击确定。
除非引号是域中数据的一部分,否则请不要将字符字面量值放在引号中。例如:
-
United Equipment
-
R(查找以“R”开头的第一个值)
如果找到指定值,则表会定位到该记录。
如果找不到指定的值,则会显示消息“没有索引匹配键”。表将定位至键域值大于指定值的第一个记录,或者,如果没有大于指定值的值,则定位至该表中的第一个记录。
-
选择索引表中字符字面量或表达式的第一个实例
- 为您想要搜索的表激活索引。
该表必须按您想要搜索的字符域进行索引。
- 从 Analytics 主菜单中选择数据 > 搜索 > 寻找表达式。
- 执行以下操作之一:
- 在表达式文本框中输入一个字符类型表达式或字符字面量值,然后单击确定。
- 单击表达式以打开表达式生成器,创建一个表达式,单击确定,然后再次单击确定。
例如:
v_vendor_name
"United Equipment"
您必须将字符字面量值放在引号中。
如果找到指定值,则表会定位到该记录。
如果找不到指定的值,则会显示消息“没有索引匹配键”。表将定位至键域值大于指定值的第一个记录,或者,如果没有大于指定值的值,则定位至该表中的第一个记录。
Analytics 搜索命令比较
下表提供了 Analytics 搜索命令的高级别比较。当您在 Analytics 脚本中使用任何命令时,了解控制每个命令的具体规则有何不同可能是有用的。
| 功能区域 | 定位记录/定位条件 | 查找文字 | 查找表达式 |
|---|---|---|---|
| 数据类型可搜索 |
(您还可以按记录号搜索) |
字符 | |
| 搜索范围 |
|
域 | |
| 在相关域中搜索 |
是 (必须指定完全限定域名称) |
是 | |
| 需要索引 | 否 |
是 (需要升序) |
|
| 前导空格可搜索 |
是 (将数据或搜索字符串中的空格视为字符) |
否 |
是 (将数据或搜索字符串中的空格视为字符) |
| 区分大小写 | 是 | ||
| 部分匹配 |
是 (搜索字符串必须出现在域的开头,仅限字符) |
是 (搜索字符串必须出现在域的开头) |
|
| 需要在搜索项前后添加引号 |
|
否(不得将搜索术语放在引号中,除非引号是数据的一部分) | 是 |
| 受“精确字符比较”选项 (SET EXACT ON/OFF) 影响 |
是 | 否 | |
| 支持表达式 | 是 | 否 | 是 |
| 备注 | 搜索对话框中的定位记录和定位条件操作与 LOCATE RECORD/LOCATE 命令完全相同。 | 搜索对话框中的查找字面量操作和 FIND 命令完全相同。 | 搜索对话框中的寻找表达式操作和 SEEK 命令完全相同。 |