索引记录
Concept Information
建立索引时会创建单独的索引文件(.inx 文件),允许按照序列顺序而不是物理顺序(即原始数据顺序)来访问 Analytics 表中的记录。
索引不会在表中对数据进行物理重新排序。然而,表中的索引为活动状态时,视图中的数据按照索引指定的顺序进行排序,分析操作也基于此顺序处理数据。如果一个表拥有一个以上的视图,则所有视图需遵循活动的索引。
当索引处于活动状态时,短语索引将出现在状态栏中的记录数前面。例如:索引记录数:500。
当索引为非活动状态时,视图中的记录恢复原物理顺序。默认情况下,打开 Analytics 表后,所有现有索引均处于不活动状态。
说明
对记录排序是建立索引的另一种方式,在某些情况下可能是更好的选择。有关详细信息,请参见 我应该进行排序还是索引?
索引和域类型
您可以对任意类型的域进行索引(包括计算域和即时表达式),而无论数据类型是什么。
对逻辑域进行索引需要选择在域列表中包含过滤器(工具 > 选项 > 界面)。
单个表的多个索引
您可以为单个表创建多个索引,并按照要求在索引之间切换,这在最初评估一组数据时非常有用。一次只能有一个索引处于活动状态。
嵌套索引
您可以使用一个关键字域将记录编入索引,或者通过在多个关键字域(主级关键字域、次级关键字域,以此类推)中建立索引来创建嵌套索引方案。
嵌套索引在整个关键字域中支持混合升序和降序,以及混合数据类型。
混合升序和降序的嵌套索引
您想要查看未排序交易表中每天的最大交易金额。您按日期键域的升序对该表进行索引,而在每个日期内按金额键域的降序进行索引。
|
日期域 (升序) |
金额域 (降序,嵌套) |
|---|---|
|
15 一月 2011 |
$2300.00 |
|
15 一月 2011 |
$1200.00 |
|
15 一月 2011 |
$600.00 |
|
16 一月 2011 |
$900.00 |
|
16 一月 2011 |
$100.00 |
|
17 一月 2011 |
$4700.00 |
|
17 一月 2011 |
$900.00 |
|
17 一月 2011 |
$500.00 |
索引被限制到 Analytics 表
建立索引仅限于在 Analytics 表,即带 .fil 源数据文件的表。可以同时对本地和基于服务器的 Analytics 表建立索引,如果它们有 .fil 文件的话。
您不能对使用数据库摘要而连接到的数据库表建立索引,因为无 .fil 文件。可以直接从数据库上读取数据。要在此条件下对数据进行排序,访问数据库时,您可以使用数据定义向导中的 SQL ORDER 子句。
某些 Analytics 命令所需的索引
搜索 Analytics 表时,在搜索对话框中使用查找字面量和查找表达式选项的前提条件是建立索引。(此选项相当于“FIND”和“SEEK”命令。)
仅当满足下列条件时,这些选项才可用:
- 表被索引
- 该索引是活动的
- 该索引的主键域是一个按升序索引的字符域
表可拥有嵌套索引,但仅会搜索首个主级关键字域。
条件索引
索引可以包括“If”、“First”、“Next”和“While”参数,在这种情况下,它们成为条件索引。只有那些符合条件的记录才能编入索引,或当条件索引为活动状态时,它们才能显示或用于分析。
您每次启用索引时,自动重新应用条件。您可以通过使用条件索引创建较大表的子集来加速特定类型的分析。
当带有 If 参数的条件索引处于活动状态时,短语过滤的索引将出现在状态栏中的记录数前面。例如:过滤的索引记录数:500。当含有 First、Next 和 While 参数的条件索引处于活动状态时,短语索引将出现在记录数前面,如同没有任何条件的索引那样。
索引和过滤器
当使用 If 参数或过滤器创建条件索引时,可以包括一个全局过滤器(视图上的过滤器)、一个本地过滤器(命令内的过滤器)或两者。
下表提供了在索引内包括过滤器的示例,并且显示了索引对样例数据所产生的效果。
过滤器是索引语法的一部分,您可以在日志或索引详情中查看。有关详细信息,请参见查看索引详细信息。
|
过滤器类型 |
描述/建立索引语法 |
供应商 ID |
交易金额 |
|---|---|---|---|
|
无 |
无索引 (物理顺序) |
212 108 359 108 359 212 359 212 359 108 |
1400.00 3400.00 1600.00 1100.00 3400.00 1200.00 2200.00 1700.00 1400.00 2300.00 |
|
全局 |
索引仅包含供应商 #359 的记录 INDEX ON 交易金额 TO "供应商 359 交易" 全局过滤器:供应商 ID = "359" |
359 359 359 359 |
1400.00 1600.00 2200.00 3400.00 |
|
本地 |
索引仅包含 $2,000 或更大的交易金额 INDEX ON 交易金额 IF 交易金额 >= 2000 TO "交易金额 2000 或更大" |
359 108 108 359 |
2200.00 2300.00 3400.00 3400.00 |
|
全局_本地 |
索引仅包含供应商 #359 的交易金额为 $2,000 以上的记录 INDEX ON 交易金额 IF 交易金额 >= 2000 TO "供应商 359 交易 2000 以上" 全局过滤器:供应商 ID = "359" |
359 359 |
2200.00 3400.00 |
步骤
对记录进行索引
可通过活动表中的一个或多个域索引记录,使用生成的索引暂时对记录重排序,而不影响数据的基本物理顺序。
- 选择数据 > 索引。
- 在主要选项卡上,执行以下操作之一:
- 从索引域列表中选择要索引的域。
- 单击索引域以选择域或者创建一个表达式。
如果选择了多个域,根据域选择的顺序指定嵌套索引的优先级。先根据选择的第一个域索引记录,如果对于第一个域中的值出现多种情况,接着,根据选择的第二个域索引组内记录,以此类推。如果不选择其他域,组内记录之间保持初始时的排列顺序。
有关使用表达式和计算域进行索引的信息,请参见使用计算键域排序或索引。
说明
要索引的域的总长度不能超出 247 个字符。
- 单击索引域后,通过单击排序箭头,可对选中的一个或多个域选择性地指定降序索引顺序
(默认情况下为升序)。 -
如果当前视图中有想要从处理中排除的记录,请在如果文本框中输入一个条件,或单击如果使用表达式生成器创建 IF 声明。
说明
在应用任何范围选项(前、后、当)之后,仅针对表中的剩余记录评估如果条件。
IF 声明中考虑到了视图中的所有记录,滤除那些不满足指定条件的记录。
- 执行以下操作之一:
- 在到文本框中,指定索引文件的名称。
- 单击到并指定索引文件名称,或者在保存或文件另存为对话框中选择一个现有索引文件以覆盖该文件。
如果 Analytics 预填充了一个索引文件名,您可以接受预填充的名称或者更改该名称。
说明
索引名称被限制为不超过 64 个字母数字字符。该名称可以包括下划线字符 ( _ ),但不能包括其他特殊字符或任何空格。该名称不能以数字开头。
提示
最佳做法是为索引提供有意义的名称,以描述该索引所施加的排序的性质。例如,“Date_Amount_D”可以是以下索引的名称:该索引按“日期”升序对表进行排序,而在每天之内按“金额”降序进行排序。
- 根据是否要立即激活索引,选择或取消选择使用输出表。
您可以随时激活表的索引,在视图右上角的索引下拉列表中将其选中即可。
- 单击更多选项卡。
-
在范围面板中,选择适当的选项:
- 全部
- 前
- 下一页
- While
展示更多
范围选项 详情 全部 (默认)指定处理视图中的所有记录。 前 在文本框中输入一个数字。从视图中的第一个记录开始处理,并且仅包括指定数量的记录。 下一页 在文本框中输入一个数字。从视图中当前选择的记录开始处理,并且仅包括指定数量的记录。必须在视图最左边的列中选择实际记录数量,而不是行中的数据。 While 使用 WHILE 语句,根据特定条件或条件组来限制对视图中的记录进行处理。
在 While 文本框中输入一个条件,或者单击 While 使用表达式生成器创建一个 WHILE 语句。
只有当指定条件值为真时,WHILE 声明才允许对视图中的记录进行处理。当条件变为假时,处理立即终止,不再考虑剩余的记录。
可将当选项与全部、前或后选项结合使用。在达到一个限制后,请立即记下处理步骤。
说明
前或后选项会参考表中记录的物理顺序或索引顺序。前或后选项会忽略应用于表视图的任何过滤器或快速排序。但是,分析操作的输出结果会遵守已应用的过滤器。
如果视图进行了快速分类,后和前操作相同。
- 单击确定。
- 如果覆盖提示出现,请选择合适的选项。
索引的一个条目会被添加到“视图”选项卡中的索引下拉列表中。如果您选择了使用输出表,该索引会被激活,而该表会被按照索引排序。
激活或停用索引
您可以在您创建索引时或者在创建索引后随时激活一个索引。默认情况下,打开 Analytics 表后,所有现有索引均处于不活动状态。
- 要激活索引,执行如下之一:
- 创建索引时,在索引对话框中选择使用输出表可立刻激活该索引。
- 从视图右上角的索引下拉列表中选择索引。
- 要取消激活索引,执行如下之一:
- 从视图右上角的索引下拉列表中选择(无)。
- 切换到另一个索引。
- 关闭该表。
查看索引详细信息
您可以查看索引的详细信息,即特定索引命令的实际语法。命令语法包括键域以及任何参数、过滤器或表达式。索引详细信息确切地展示特定语法如何处理表内的记录。
- 打开含有索引的表。
- 右键单击导航器中的表,选择属性。
- 单击索引选项卡,选择索引名,然后单击详细信息。
索引属性对话框显示索引详细信息:
- 命令显示特定索引命令的语法(包括任何本地过滤器)。
- 过滤器显示任何作为索引一部分的全局过滤器的语法。
- 单击确定,并再次单击确定,来退出表属性对话框。
维护索引
您可以在表属性对话框的索引选项卡中复制、重命名或删除索引。您还可以从同一位置添加附加索引。
说明
仅通过 Analytics 即可执行这些维护任务。如果您直接在 Windows 文件夹中重命名某个索引文件(.inx 文件),则当您下一次在 Analytics 中激活该索引时,将使用原始名称自动重新创建该索引文件。如果您直接删除某个索引文件,则当您下一次激活该索引时,将自动重新创建该索引文件。
- 打开含有索引的表。
- 右键单击导航器中的表,选择属性。
- 单击索引选项卡,选择索引名称,然后执行以下操作之一:
- 单击复制以复制索引。
复制索引时会在索引名称末尾添加一个递增的数字。
- 单击重命名,输入一个新名称,然后单击确定以重命名该索引。
说明
索引名称被限制为不超过 64 个字母数字字符。该名称可以包括下划线字符 ( _ ),但不能包括其他特殊字符或任何空格。该名称不能以数字开头。
- 单击删除,然后再次单击删除以删除该索引。
- 单击复制以复制索引。
- 如果您要添加一个新索引,请单击添加。
此时将显示索引对话框,允许您按正常方式创建索引。
- 单击确定以退出表属性对话框。