测试序列顺序
概念信息
测试序列顺序(“检查序列”选项)可让您在执行特定分析测试或数据组合操作之前,检查数据是否已进行排序和索引,或者检查是否需要进行排序和索引。
Analytics 中的数项测试和操作要求数据按序列顺序排序,以使结果有效,或者使操作能够成功执行。您不用对表格进行不必要的排序或索引,可以对其进行测试,了解是否需要进行排序或索引。先进行测试可节省时间,因为对于大型的表格,排序需要的时间量和系统资源都很可观。
可以测试字符、数值、日期时间或计算域的顺序,以及域和数据类型组合的顺序,如果通过多个域对数据进行排序或索引。
说明
按顺序排序的数据不意味着该数据没有间隔。例如,数值系列(1、3、5)按顺序排序。测试有无间隔是一种不同的操作。有关详细信息,请参见测试间隔。
测试是否按顺序排序不会对记录进行排序
测试序列顺序不会将记录按序列整理或排序,或者以任何方式修改接受测试的表中的记录的顺序。该测试可验证表中的指定域当前是否按序列顺序排序,并报告发现的任何序列错误。要将记录排序或按序列整理,需要执行单独的排序或索引操作。
测试是否存在失序项
测试序列顺序也可让您找出应该有固有序列顺序的数据中的无序项(例如发票或支票编号),同时指出可能存在的不规则之处。例如,可以将特定供应商的发票数据按日期排序,然后测试发票编号的序列顺序。对于无序发票编号应该进行进一步的检查。
用于测试字符数据的排序顺序
将对照在排序顺序选项()中为字符数据指定的任何排序序列测试字符域的序列顺序。除非您进行了更改,否则通常会指定默认的排序序列 (0,1,2... A,B,C...)。在 Analytics 的非 Unicode 版本中存在一些排序细则,例如默认的排序序列要求所有大写的字母字符的排序在所有的小写字母字符之前。
如何报告序列错误
“检查序列”选项会将列中的第一个值与第二个值比较,将第二个值与第三个值比较,以此类推,在列中不断向下比较成对的值。如果某对值打乱了序列,则会报告序列错误。
在中断处后,序列重新开始,将第二对值作为新的开始点。中断处之后的任何无序值在与中断处之前的值比较时不会报告为序列错误。例如,当测试以下升序的值列时,Analytics 会报告两个序列错误 (4, 1),而不是五个 (4, 4, 5, 1, 2)。
1 3 6 4 序列错误 4 5 6 9 1 序列错误 2
测试嵌套的排序顺序
如果组合测试两个或更多域的序列顺序,要使结果生效,需要以与排序顺序或索引顺序优先级相同的优先级顺序(主关键字域、辅助关键字域等)选择要测试的域。还需要对每个域匹配序列顺序的方向(升序或降序)。
当测试嵌套的排序顺序时有效和无效的结果
下面的示例基于测试顺序是否匹配 Date 和 Amount 键域中的值的嵌入排序顺序和方向来演示有效或无效结果。
|
日期 (主键域,升序) |
金额 (辅助键域,嵌套,降序) |
|---|---|
|
15 一月 2011 15 一月 2011 15 一月 2011 16 一月 2011 16 一月 2011 17 一月 2011 17 一月 2011 17 一月 2011 |
$2300.00 $1200.00 $600.00 $900.00 $100.00 $4700.00 $900.00 $500.00 |
有效结果
返回 0 个序列错误:
SEQUENCE ON Date Amount D
该序列测试使用与所测试的域相同的优先级顺序和方向。
无效结果
返回 2 个序列错误:
SEQUENCE ON Amount D Date
该序列测试使用与所测试的域不同的优先级顺序,并且将 Amount 域视为未嵌套的。
无效结果
返回 5 个序列错误:
SEQUENCE ON Date Amount
该序列测试使用与所测试的域之一不同的方向,并且将 Amount 域视为按升序排序。
步骤
可通过检查序列选项来确定活动表中的各域是否按顺序排列,或者查看有没有顺序错误的条目。
说明
确保当前未对活动表进行快速排序。视图必须显示基本 Analytics 表的实际物理顺序,检查序列选项才能提供有效的结果。
- 选择。
- 在主要选项卡上,执行以下操作之一:
从序列域列表选择要测试的域。
单击序列域,来选择域或创建表达式。
如果选择了多个域,根据域选择的顺序指定测试优先级。先根据选择的第一个域测试记录,如果在第一个域中的同一值出现多个序列,接着,根据选择的第二个域测试组内记录,以此类推。如果不选择其他域,将不对组内的记录进行辅助测试。
说明
当测试表已根据多个域排序或建立索引时(嵌套排序或建立索引),测试优先级需要与排序或索引优先级(主关键字域、辅助关键字域等等)匹配,这样才能获得有效结果。
域选择的顺序就是列在结果中显示的顺序。
- 单击序列域后,通过单击排序箭头,可对选中的一个或多个域选择性地指定降序排列顺序
(默认情况下为升序)。
说明
测试以前进行过排序或建立索引的域时,指定的排序顺序方向(升序或降序)必须与测试域的方向匹配,这样才能获得有效结果。
-
如果当前视图中有想要从处理中排除的记录,请在如果文本框中输入一个条件,或单击如果使用表达式生成器创建 IF 声明。
说明
在应用任何范围选项(前、后、当)之后,仅针对表中的剩余记录评估如果条件。
IF 声明中考虑到了视图中的所有记录,滤除那些不满足指定条件的记录。
- 然后单击输出选项卡。
- 在 目标面板上选择适当的输出选项:
- 屏幕 – 选择该选项可在 Analytics 显示区域中显示结果。
提示
您可以单击显示区域中的任何链接结果值以向下追溯到源表中的关联记录。
如果输出表中包含大量的记录,那么将结果保存到文件要比在屏幕上显示结果更快且更有用。
- 打印 – 选择该选项会将结果发送到默认打印机。
- 图表 – 选择该选项可创建一个结果图表并在 Analytics 显示区域中显示它。
- 文件 – 选择该选项将结果保存或附加到文本文件中。该文件被保存在 Analytics 的外部。
说明
不适用于特定分析操作的输出选项会被禁用。
- 屏幕 – 选择该选项可在 Analytics 显示区域中显示结果。
- 如果选择了 文件作为输出类型,请在作为面板中指定以下信息:
- 文件类型 – ASCII 文本文件或 Unicode 文本文件 (具体取决于您使用的 Analytics 的版本)是唯一选项。将结果保存到新文本文件中,或将结果附加到现有的文本文件中。
- 名称 – 在 名称文本框中输入文件名称。或单击 名称输入文件名称,或者在保存或另存为对话框中选择一个现有的文件,以覆盖或附加到该文件中。如果 Analytics 预填充文件名,您可以接受预填充的名称,也可以更改它。
您还可以指定一个绝对或相对路径,或导航到一个不同的文件夹,将文件保存或附加到与项目位置不同的位置。例如:C:\结果\输出.txt 或结果\输出.txt。
- 本地 – 禁用或选中。在本地保存文件是唯一的选项。
- 根据输出类型,可以在文本框中选择性地指定页眉 和/或页脚。
默认情况下,页眉和页脚居中放置。在页眉或页脚文本前输入左尖括号 (<)可左对齐文本。单击页眉或页脚可输入多行的页眉和页脚。另外,可以输入分号 (;)作为页眉或页脚文本框中的断行字符。左对齐多行要求在每行的开头处有一个尖括号。
- 单击更多选项卡。
-
在范围面板中选择适当的选项:
- 全部
- 前
- 下一页
- While
展示更多
全部 默认情况下选择此选项。使其保持选中状态可指定对视图中的所有记录进行处理。 前 选择此选项并在文本框中输入一个数字,会在视图中的第一条记录处开始处理,并且仅包括指定数量的记录。 下一页 选择此选项并在文本框中输入一个数字,会从该视图中当前选择的记录开始处理,并且仅包括指定数量的记录。最左边列中的实际记录数量必须选中,并非行中的数据。 While 选择此选项可使用 WHILE 声明基于特定的条件或条件组限制对该视图中记录的处理。可以在当文本框中输入条件,或者单击当来使用表达式生成器创建 WHILE 声明。
只有当指定条件值为真时,WHILE 声明才允许对视图中的记录进行处理。当条件变为假时,处理立即终止,不再考虑剩余的记录。可将当选项与全部、前或后选项结合使用。在达到一个限制后,请立即记下处理步骤。
说明
前或后 选项中指定的记录数参考表中记录的物理或索引顺序,不考虑对视图进行过滤或快速分类的情况。不过,解析操作的结果与任何过滤相关。
如果视图进行了快速分类,后和前操作相同。
- 在错误限制域中,指定要列出的无序条目的最大数目,或者保持默认值 10。
如果达到限制,Analytics 会停止处理,并输出此前的无序条目。错误限制数字是针对所测试的所有域中的错误总数而言。不是针对单个域的限制。
- 如果选择了文件作为输出类型,并且想要将输出结果附加到现有文本文件的末尾,可以选择附加到现有文件。
- 单击确定。
- 如果覆盖提示出现,请选择合适的选项。