测试间隔
概念信息
顺序排列的数值或日期时间域中的间隔可能提示一个数据文件不完整。可以在域中测试顺序排列值的间隔,或识别一个或多个间隔或缺失项(如果存在的话)。
要使结果有效,在测试之前被测试的域必须是连续的顺序。可以提前对一个域进行排序,或者在间隔测试中使用预排序选项。
还可以测试数值或日期时间域,或字符域中的数值。每次只能测试一个域。
列举间隔范围或列举缺少的条目
输出间隔测试结果时会有两个选项:
- 列出间隔范围
- 列出丢失条目
列出间隔范围
此选项标识间隔的起点和终点,以及该间隔中缺少项的总数。
标识间隔起始点和结束点的值本身不会缺少项。它们是在间隔前后出现的连续值(标记为间隔起始(不含)和间隔结束(不含))。例如,支票号码 12345 和 12350 标识这两个号码之间的有 4 个缺少项的间隔。
列出丢失条目
此选项列出间隔中的单个缺少项。例如,支票号码 12346、12347、12348 和 12349。
这些缺少项是计算出来的值,并不会实际出现在测试的数据中。使用该选项时,最大丢失条目数域允许指定最大丢失条目数数量以分别列出每个间隔,如果一个间隔很大,这会很有用。如果超出最大范围,Analytics 会改用标识间隔的范围方法,不同之处在于标识间隔起始点和结束点的值是第一个和最后一个缺失项(按顺序),它们被标记为间隔起始(含)和间隔结束(含)。
说明
指定的最大丢失条目数的数量应用于每个间隔。无论是单个列出或按照范围列出,这并不会限制数据集范围缺失项结果的总数。
取决于最大丢失条目数域中的值和不同间隔的大小,使用缺失项方法时,结果可能包含单个缺失项和范围的组合。
测试间隔数值数据
当您测试间隔的数值数据时,数据中的小数位数将控制该数据中允许的间隔:
- 数值数据仅包含整数(无小数部分)允许的间隔是 1
大于 1 的间隙为间隔。对于报告为范围的间隔,缺失项的数量是缺少整数的数量。
- 数值数据包含小数位允许的间隔相当于最小小数间隔
例如,如果某个数值域具有两个小数位,则允许的间隔是 0.01。大于最小小数间隔的间隔就是一个间隔。对于报告为范围的间隔,缺少项的数量是缺少小数间隔的数值。
测试间隔数值数据示例
在第一个示例中,数值数据仅包含整数。允许的间隔是 1。
|
测试值 |
缺失项 |
缺失项数量 |
|---|---|---|
|
-2 -1 0 1 4 5 15 |
2 3 6 (到) 14 (包含在内) |
1 (整数) 1 (整数) 9 (整数) |
在第二个示例中,数值数据包含两个小数位。允许的间隔是 0.01。
|
测试值 |
缺失项 |
缺失项数量 |
|---|---|---|
|
4.24 4.25 4.26 4.29 4.30 5.00 |
4.27 4.28 4.31 (到) 4.99 (包含在内) |
1 (0.01 间隔) 1 (0.01 间隔) 69 (0.01 间隔) |
测试日期时间数据间隔
可以测试日期、日期时间或时间数据的间隔:
- 日期域中允许的间隔是一天
大于一天的间隔就是一个间隔。对于报告为范围的间隔,缺失项的数量是缺少天的数量。
- 日期时间域或时间域中允许的间隔是一秒
大于一秒的间隔就是一个间隔。对于报告为范围的间隔,缺少项的数量是缺少秒的数量。因此一个小时的间隔会报告为有 3,600 缺少项的范围,一天的间隔会报告为有 86,400 缺少项的范围。
测试日期和日期时间间隔示例
在第一个示例中,数据仅包含日期。允许的间隔是一天。
|
测试值 |
缺失项 |
缺失项数量 |
|---|---|---|
|
27 十二月 2014 12 十二月 2014 31 十二月 2014 01 一月 2015 02 一月 2015 12 一月 2015 13 一月 2015 |
29 十二月 2014 30 十二月 2014 03 一月 2015(到)11 一月 2015(包含在内) |
1(天) 1(天) 9(天) |
在第二个示例中,数据包含日期时间。允许的间隔是一秒。
|
测试值 |
缺失项 |
缺失项数量 |
|---|---|---|
|
31 十二月 2014 23:59:54 31 十二月 2014 23:59:55 31 十二月 2014 23:59:58 31 十二月 2014 23:59:59 01 一月 2015 01:00:00 01 一月 2015 01:00:01 02 一月 2015 01:00:02 |
31 十二月 2014 23:59:56 31 十二月 2014 23:59:57 01 一月 2015 00:00:00(到)01 一月 2015 00:59:59(包含在内) 01 一月 2015 01:00:02(到)02 一月 2015 01:00:01(包含在内) |
1(秒) 1(秒) 3,600 (秒) 86,400 (秒) |
测试字符域中数值数据间隔
您可以测试出现在字符域中的数值数据间隔 - 例如,通常格式化为字符数据的支票号码。
如果字母和数字一起出现在字符域中,仅测试数字,会忽略字母。
测试字符域数字间隔示例
请注意字母前缀如何被忽略,并且只有数字被考虑。
|
测试值 |
缺失项 |
缺失项数量 |
|---|---|---|
|
A123 C124 |
|
0 (字符数字) |
|
A123 B125 |
124 |
1 (字符数字) |
字符域的排序可能影响间隔测试
取决于字符域值中的字母和数字排列,间隔测试结果可能会有异常。例如,如果一些数字前缀为字母,而有些不是,或是 Analytics 的非 Unicode 版本,如果一些前导字母小写,一些大写,结果可能不准确。
不准确的原因是字母不一致,或者字符大小写不一致,阻止了预排序选项对其完全进行排序。在下表中,126、127 和 124 并不是实际缺少的项,但是因为字母数字字符串的排序方式,它们被返回为缺少的项。
如果您怀疑有异常,请对有问题的域执行单独的排序操作,以显示被测试是否有间隔的字符域值的顺序。如果数值顺序被出现的字母打断,要确保结果有效,请在测试间隔之前,使用 Analytics 函数,如 INCLUDE( ) 去掉这些字母。
不正确间隔结果示例
请注意,字母字符存在性的不一致或者字母字符大小写的不一致如何导致某些条目被错误报告为缺少项。
|
测试值 |
缺失项 |
缺失项数量 |
|---|---|---|
|
123 124 125 128 129 A-126 A-127 |
126 127 |
1 (字符数字) 1 (字符数字) |
|
A-123 a-124 A-125 A-128 A-129 A-126 A-127 |
124 |
1 (字符数字) |
步骤
在活动表中,可以每次测试单个域来检测按顺序排列的数字或日期时间值是否含有间隔。
选择域
- 在导航器中,打开您想要测试其是否包含间隔的表。
- 选择分析 > 间隔。
- 在主要选项卡上,执行以下操作之一:
从间隔域列表中,选择要测试的域。
单击间隔域以选择域,或者创建一个表达式。
每次只能测试一个域。
- 可选。单击间隔域后,通过单击选定域旁边的排序箭头
,可指定输出结果按降序顺序排列(默认情况下,会按照升序顺序排列输出结果)。
从处理中排除记录(可选)
-
如果当前视图中有您要排除在外不作处理的记录,请执行以下任一操作:
-
在如果文本框中输入条件
-
单击如果,使用表达式生成器创建 IF 语句
IF 条件考虑了视图中的所有记录,并且滤除那些不满足指定条件的记录。
说明
在应用任何范围选项(前、后、当)之后,仅针对表中的剩余记录评估如果条件。
-
取消选择“预排序”(可选)
-
测试大表的间隔项时,如果先前操作已对测试域进行了排序,则取消选择预排序可以节省时间。
如果测试域中的数据未排序,则必须选中预排序,以确保找到所有间隔项。
说明
如果取消选择预排序,则测试域必须已经提前排过序,以保证结果有效。如果测试一个未排序的域,结果会有消息警告:文件序列出错。如果将结果输出到 Analytics 表中,警告消息会出现在命令日志中。
输出中缺失范围或缺失项
-
在输出类型下,选择以下任一选项:
-
列出间隔范围,会确定间隔项的起始点和结束点,以及间隔范围内单个缺失项的总数。
-
列出缺失项,会列出间隔范围内的单个缺失项。
在最大丢失条目数域中,为每个间隔指定要单独列出的最大丢失条目数,或者保持默认值 5。
-
配置输出
- 然后单击输出选项卡。
-
在目标面板上,选择适当的输出选项。
说明
如果输出选项不适用于某特定分析操作,则它们会遭到禁用。
选项 详情 屏幕 在 Analytics 显示区域中显示结果。
提示
您可以单击显示区域中的任何链接结果值,深入了解源表中关联的一个或多个记录。
如果输出表中包含大量的记录,那么将结果保存到文件要比在屏幕上显示结果更快且更有用。
打印 将结果发送到默认打印机。 图表 创建结果图表并在 Analytics 显示区域中显示。 文件 将结果保存或附加到 Analytics 表或文本文件中,或者覆盖现有的表或文件。
- Analytics 表 如果项目中还没有此表,则打开项目时会将其添加到项目中。
- 文本文件 文件保存在 Analytics 外部。
-
如果选择了文件作为输出类型,请在作为面板中指定相应的信息。
选项 详情 文件类型 -
Analytics 表 – 将结果保存或附加到 Analytics 表中,或覆盖现有的 Analytics 表。
-
ASCII 文本文件或 Unicode 文本文件 – 将结果保存或附加到文本文件,或覆盖现有的文本文件。
名称 -
要将结果保存到新表或文件,请执行以下操作
在名称文本框中输入文件名称。如果 Analytics 预填充文件名,您可以接受预填充的名称,也可以更改它。
-
要将结果附加到现有的表或文件,或者覆盖现有的表或文件,请执行以下操作
单击名称,然后在保存或另存为对话框中选择一个现有的表或文件。
您可以指定一个绝对或相对文件路径,或导航到一个不同的文件夹,将结果保存、附加或覆盖到与项目位置不同的某个位置。例如:
C:\结果\输出.FIL 或 结果\输出.FIL。
说明
Analytics 表名称限制为 64 个字母数字字符,且不包括 .FIL 扩展名。该名称可以包括下划线字符 ( _ ),但不能包括其他特殊字符或任何空格。该名称不能以数字开头。
本地 仅在连接到服务器表并将结果保存、附加或覆盖到 Analytics 表时启用。
-
选择本地将结果保存、附加或覆盖到与 Analytics 项目相同的位置。
-
取消选择本地将结果保存、附加或覆盖到服务器上的 Prefix 文件夹中。
说明
对于从 AX 服务器表的分析或处理产生的输出结果,请选择本地。您不能取消选择本地设置以将结果表导入到 AX 服务器。
-
- 可选。在适当的文本框中指定页眉或页脚。
单击页眉或页脚,可输入多行页眉或页脚。还可以在页眉或页脚文本框中输入分号 (;) 作为换行符。
默认情况下,页眉和页脚居中放置。在页眉或页脚文本前输入左尖括号 (<)可左对齐文本。左对齐多行要求在每行的开头处有一个尖括号。
说明
某些输出类型无法使用指定页眉或页脚。
指定操作范围
- 单击更多选项卡。
-
在范围面板中,选择适当的选项:
- 全部
- 前
- 下一页
- While
展示更多
范围选项 详情 全部 (默认)指定处理视图中的所有记录。 前 在文本框中输入一个数字。从视图中的第一个记录开始处理,并且仅包括指定数量的记录。 下一页 在文本框中输入一个数字。从视图中当前选择的记录开始处理,并且仅包括指定数量的记录。必须在视图最左边的列中选择实际记录数量,而不是行中的数据。 While 使用 WHILE 语句,根据特定条件或条件组来限制对视图中的记录进行处理。
在 While 文本框中输入一个条件,或者单击 While 使用表达式生成器创建一个 WHILE 语句。
只有当指定条件值为真时,WHILE 声明才允许对视图中的记录进行处理。当条件变为假时,处理立即终止,不再考虑剩余的记录。
可将当选项与全部、前或后选项结合使用。在达到一个限制后,请立即记下处理步骤。
说明
前或后选项会参考表中记录的物理顺序或索引顺序。前或后选项会忽略应用于表视图的任何过滤器或快速排序。但是,分析操作的输出结果会遵守已应用的过滤器。
如果视图进行了快速分类,后和前操作相同。
最终确定设置并输出结果
-
可选。如果您选择了文件作为输出类型,并且希望将输出结果附加到现有表或文件的末尾,请执行以下操作之一:
-
如果您确定输出结果与现有表或文件结构相同,请选择附加到现有文件。
选择附加到现有文件会强制执行附加操作,即使输出结果的记录长度与现有表或文件的记录长度不同也是如此。如果两种记录长度各不相同,则数据结构也不同,并且附加操作无法正确发挥作用。
-
如果您希望 Analytics 比较输出结果的记录长度与现有表的记录长度,请取消选择附加到现有文件。这个自动选中选项仅适用于 Analytics 表,不适用于文本文件。
说明
如果您不确定输出结果与现有表的数据结构是否相同,则请取消选择附加到现有文件。有关附加和数据结构的详细信息,请参阅将输出结果附加到现有表。
-
-
如果您选择了文件(Analytics 表)作为输出类型,并且想让输出表在操作完成后自动打开,请选择使用输出表。
- 单击确定。
- 如果覆盖提示出现,请选择合适的选项。
如果您想让附加选项显示出来,而实际上未显示,请单击否取消操作并参见将输出结果附加到现有表。