测试重复
一个或多个域中的重复值,或者重复记录,可以是数据条目错误或如为了逃避监督的分割信用卡交易欺诈行为的结果。
唯一值要求
绝不能包含重复值的域是值唯一标识记录的域。 例如,员工表绝不能包含重复的员工编号,因为每个编号都应该标识唯一的员工。
有效的重复值
重复值也可能是有效的。 例如,交易表可能由于相同客户完成多项交易而包含重复的客户编号。
不同类型的重复项测试
可以使用 Analytics 以如下方式测试重复:
| 测试范围 | 使用此测试的条件: |
|---|---|
| 一个域 |
特定域中的所有值都应该是唯一的,如员工编号或支票号码。 |
| 两个或更多个域的组合 |
任一单独的域不需要满足唯一性,但某些域组合起来时需要满足唯一性。 示例在年度薪资文件中,雇员编号域和支付日期域都会包含大量重复值。 雇员每两周领取工资,同一天会向多个雇员发放工资。 但是,某一天,某个雇员仅会出现一次。 如果在员工编号域和支付日期域的组合中存在重复值,则表明某个员工可能在同一支付期间被支付了两次工资。 |
| 记录中的所有域 |
检查是否存在完全重复记录,即记录中的每个域都是重复的。 整个重复记录可以是数据条目错误或其他交易异常的结果。 |
排序和重复项
通常,您仅应使用一个或多个排序的键域测试是否存在重复项。 键域中的重复值仅在相邻时才会被发现。
如果您使用未排序的键域测试是否存在重复项,则不相邻的重复值不会被报告为重复项。 如果存在相同重复值的两个或更多个聚类,则它们会被报告为重复项,但位于不同的组中。
根据您的分析目标的不同,使用未排序的键域测试是否存在重复项可能是有意义的。 例如,您可能想要仅查找那些在源表中紧密相邻的重复值,并且忽略非相邻重复值。
在输出表中包括组号域。
您可以选择在重复项输出表中包括组号域。 该域向每个唯一的重复项组分配一个顺序递增的编号。 当您分析输出表中的数据时,按编号引用重复项组的能力可能是有用的。
按组号过滤重复项输出表
您组合使用多个键域来测试应付帐款表中是否存在重复记录:
- 供应商编号
- 发票编号
- 发票日期
- 发票金额
您想要过滤生成的重复项输出表,以便只有某些重复项组会接受附加的处理。
使用键域组合创建过滤器会很费力。 例如:
SET FILTER TO ((Vendor_No = "11475") AND (Invoice_No = "8752512") AND (Invoice_Date = `20191021`) AND (Invoice_Amount = 7125.80)) OR ((Vendor_No = "12130") AND (Invoice_No = "589134") AND (Invoice_Date = `20191117`) AND (Invoice_Amount = 10531.71)) OR ((Vendor_No = "13440") AND (Invoice_No = "5518912") AND (Invoice_Date = `20191015`) AND (Invoice_Amount = 11068.20))
相反,基于组号创建过滤器可实现相同的结果:
SET FILTER TO MATCH(GROUP_NUM, 3 , 8, 11)
步骤
可对活动表中的一或多个域进行测试,检测是否存在重复值或整个重复记录。
可以测试字符、数值和日期时间域是否有重复。 如果字符和数值一起出现在字符域中,测试所有的字母数值字符。
说明
要使结果有效,必须在测试之前对要测试的域进行排序。 可以提前排序域,或者在重复测试期间使用预排序选项。
选择域
- 打开您想要测试其是否包含重复项的表。
- 选择。
- 要在一个或多个域中检测重复项:
- 在主要选项卡中,从重复项位置列表中选择要测试的域,或者单击重复项位置以选择域或者创建一个表达式。
域选择的顺序就是列在结果中显示的顺序。 如果要将结果附加到现有的 Analytics 表中,列选择和顺序必须与现有表中的列选择和顺序完全相同。
- 单击重复域后,通过单击排序箭头,可对选中的一个或多个域选择性地指定输出结果按降序排列顺序
(默认情况下为升序)。 - 选择一或多个列表域,以在输出结果中包含所有其他域,或者单击列表域 选择域、全部添加各域或创建一个表达式。
其他域可为结果提供有用的上下文。 被选择以进行重复值测试的域会被自动显示在任何结果记录的开头处,而无须在列表域下专门选择。
- 可选。 如果您想要在输出表中包括组号域,请选择添加组。
组号域向每个唯一的重复项组分配一个顺序递增的编号。
- 在主要选项卡中,从重复项位置列表中选择要测试的域,或者单击重复项位置以选择域或者创建一个表达式。
- 要检测整个重复记录:
- 在主要选项卡中,单击重复项位置。
- 单击全部添加,将所有域添加到选定域。
- 通过单击排序箭头,可对选中的一个或多个域选择性地指定输出结果按降序排列
(情况下为升序)。 - 单击确定。
不需要从域列表中选择所有域,因为表中的所有域都会自动显示在结果记录中。
- 可选。 如果您想要在输出表中包括组号域,请选择添加组。
组号域向每个唯一的重复项组分配一个顺序递增的编号。
从处理中排除记录(可选)
如果当前视图中有想要从处理中排除的记录,请在如果文本框中输入一个条件,或单击如果使用表达式生成器创建 IF 声明。
说明
在应用任何范围选项(前、后、当)之后,仅针对表中的剩余记录评估如果条件。
IF 声明中考虑到了视图中的所有记录,滤除那些不满足指定条件的记录。
取消选择“预排序”(可选)
测试大表的重复时,如果先前操作已对测试域进行了排序,可以选择取消选择预排序来节省时间。
说明
如果取消选择预排序,则选择的用来测试重复的域必须与之前已排序的域相匹配,以保证结果有效。
如果选中的和排序的域之间不匹配,结果会有消息警告:文件序列出错。 如果将结果输出到 Analytics 表中,警告消息会出现在命令日志中。
如果域中的数据未排序,则必须选中预排序,确保找到所有重复。
配置输出
- 然后单击输出选项卡。
- 在 目标面板上选择适当的输出选项:
- 屏幕 – 选择该选项可在 Analytics 显示区域中显示结果。
提示
您可以单击显示区域中的任何链接结果值以向下追溯到源表中的关联记录。
如果输出表中包含大量的记录,那么将结果保存到文件要比在屏幕上显示结果更快且更有用。
- 打印 – 选择该选项会将结果发送到默认打印机。
- 图表 – 选择该选项可创建一个结果图表并在 Analytics 显示区域中显示它。
- 文件 – 选择该选项将结果保存或附加到文本文件中。 该文件被保存在 Analytics 的外部。
说明
不适用于特定分析操作的输出选项会被禁用。
- 屏幕 – 选择该选项可在 Analytics 显示区域中显示结果。
- 如果选择了 文件作为输出类型,请在作为面板中指定以下信息:
- 文件类型 – 选择 Analytics 表将结果保存到一个新的 Analytics 表,或者将结果附加到现有的 Analytics 表。 选择 ASCII 文本文件或 Unicode 文本文件(具体取决于您使用的 Analytics 的版本)将结果保存或附加到一个文本文件。
- 名称 – 在 名称文本框中输入文件名称。 或单击 名称输入文件名称,或者在保存或另存为对话框中选择一个现有的文件,以覆盖或附加到该文件中。 如果 Analytics 预填充文件名,您可以接受预填充的名称,也可以更改它。
您还可以指定一个绝对或相对路径,或导航到一个不同的文件夹,将文件保存或附加到与项目位置不同的位置。 例如:C:\结果\输出.FIL 或 结果\输出.FIL。
- 本地 – 只在连接到服务器表且将结果保存或附加到 Analytics 表时被启用。 选择 本地将文件保存到与项目相同的位置,或者指定一个路径或导航到不同的本地文件夹。 使本地保持未选中状态,以便将该文件保存到服务器上的 Prefix 文件夹中。
说明
对于从分析或处理 AX 服务器表产生的结果,请选择本地。 您不能取消选择本地设置以将结果表导入到 AX 服务器。
- 根据输出类型,可以在文本框中选择性地指定页眉 和/或页脚。
默认情况下,页眉和页脚居中放置。 在页眉或页脚文本前输入左尖括号 (<)可左对齐文本。 单击页眉或页脚可输入多行的页眉和页脚。 另外,可以输入分号 (;)作为页眉或页脚文本框中的断行字符。 左对齐多行要求在每行的开头处有一个尖括号。
指定操作范围
- 单击更多选项卡。
-
在范围面板中选择适当的选项:
- 全部
- 前
- 下一页
- While
展示更多
全部 默认情况下选择此选项。 使其保持选中状态可指定对视图中的所有记录进行处理。 前 选择此选项并在文本框中输入一个数字,会在视图中的第一条记录处开始处理,并且仅包括指定数量的记录。 下一页 选择此选项并在文本框中输入一个数字,会从该视图中当前选择的记录开始处理,并且仅包括指定数量的记录。 最左边列中的实际记录数量必须选中,并非行中的数据。 While 选择此选项可使用 WHILE 声明基于特定的条件或条件组限制对该视图中记录的处理。 可以在当文本框中输入条件,或者单击当来使用表达式生成器创建 WHILE 声明。
只有当指定条件值为真时,WHILE 声明才允许对视图中的记录进行处理。 当条件变为假时,处理立即终止,不再考虑剩余的记录。 可将当选项与全部、前或后选项结合使用。 在达到一个限制后,请立即记下处理步骤。
说明
前或后 选项中指定的记录数参考表中记录的物理或索引顺序,不考虑对视图进行过滤或快速分类的情况。 不过,解析操作的结果与任何过滤相关。
如果视图进行了快速分类,后和前操作相同。
最终完成设置
- 如果您选择了文件作为输出类型,并且想要将输出结果附加到现有文件的末尾,请执行以下操作之一:
如果您要附加到一个文本文件或您确定与输出结果具有相同结构的 Analytics 表,请选择附加到现有文件。
如果要附加到 Analytics 表,并且您想让 Analytics 比较输出结果和现有表的记录长度,请使附加到现有文件保持未选定状态。 如果记录的长度不相同,则数据结构不相同,并且附加操作无法正确工作。
说明
如果您不确定输出结果与现有表的数据结构是否相同,建议您使附加到现有文件保持取消选择状态。 有关附加操作和数据结构的详细信息,请参见将输出结果附加到现有表。
- 如果选择了文件(Analytics 表)作为输出类型,请选择或取消选择使用输出表,具体取决于是否想让包含输出结果的 Analytics 表在完成操作后自动打开。
- 单击确定。
说明
如果您执行下列两项操作,则仅显示重复的值或记录,而不会显示值或记录的初始实例:
- 将结果输出至屏幕或文本文件
- 仅在输出结果中包括测试域,而不选择任何附加域
如果输出至屏幕,则可以单击任意值以同时查看重复项以及值或记录的初始实例。
- 如果覆盖提示出现,请选择合适的选项。
如果想让附加选项显示,而实际未显示,请单击否取消操作并参阅 将输出结果附加到现有表。
删除重复项
可使用汇总操作从数据集中删除重复值或记录,并将剩余的唯一值或记录保存到一个新的 Analytics 表中。
选择域
- 打开您想要从中移除重复项的表。
- 选择。
- 在主要选项卡上,执行以下操作之一:
- 从汇总域列表中选择可能包含重复值的一个或多个域。
- 单击汇总域以选择一个或多个域或者创建一个表达式。
域选择的顺序就是列在结果中显示的顺序。
说明
请选择适当的域以达到您所需的唯一性等级。
例如,如果您想要删除重复的员工记录,并且仅选择姓氏域,则存在删除具有相同姓氏但具有不同名字的员工的所有记录的风险。 同时选择姓氏域和名字域可提高唯一性等级。
要仅删除完全重复的记录,请单击汇总域和全部添加。
- 不要选择任意小计域。
- 可选。 执行以下操作之一:
- 在其他域列表中选择要包括在输出结果中的其他域。
- 单击其他域以选择域或者创建一个表达式。
说明
请仅选择那些为每个汇总组中的所有记录包含相同值的域。 有关详细信息,请参见“其他域”选项。
取消选择“预排序”(可选)
如果可能包含重复值的域已经排序,您可以选择性地取消选择预排序。 如果域中的数据未进行排序,必须选中预排序,确保获得有效结果。
从处理中排除记录(可选)
如果当前视图中有想要从处理中排除的记录,请在如果文本框中输入一个条件,或单击如果使用表达式生成器创建 IF 声明。
说明
在应用任何范围选项(前、后、当)之后,仅针对表中的剩余记录评估如果条件。
IF 声明中考虑到了视图中的所有记录,滤除那些不满足指定条件的记录。
配置输出
- 然后单击输出选项卡。
- 在至面板上选择文件。
- 在作为面板中指定以下信息:
文件类型 – Analytics 表是唯一的选项。 将结果保存到新的 Analytics 表中,或将结果附加到现有的 Analytics 表。
名称 – 在 名称文本框中输入表名。 或单击 名称输入表名,或者在保存或另存为对话框中选择一个现有的表,以覆盖或附加到该表中。 如果 Analytics 预填充了一个表名称,您可以接受预填充的名称或更改它。
您还可以指定一个绝对或相对路径,或导航到一个不同的文件夹,将表保存或附加到与项目位置不同的位置。 例如:C:\结果\无重复项.fil 或 结果\无重复项.fil。
本地–只有在连接服务器表时启用。 选择 本地将输出表保存到与项目相同的位置,或者指定一个路径或导航到不同的本地文件夹。 使本地保持未选中状态,以便将输出表保存到 Analytics 服务器上的 Prefix 文件夹中。
说明
对于从 Analytics Exchange 服务器表的分析或处理中产生的输出结果,请选择本地。 您不能使用本地设置将结果表导入到 AX 服务器。
指定操作范围
- 单击更多选项卡。
-
在范围面板中选择适当的选项:
- 全部
- 前
- 下一页
- While
展示更多
全部 默认情况下选择此选项。 使其保持选中状态可指定对视图中的所有记录进行处理。 前 选择此选项并在文本框中输入一个数字,会在视图中的第一条记录处开始处理,并且仅包括指定数量的记录。 下一页 选择此选项并在文本框中输入一个数字,会从该视图中当前选择的记录开始处理,并且仅包括指定数量的记录。 最左边列中的实际记录数量必须选中,并非行中的数据。 While 选择此选项可使用 WHILE 声明基于特定的条件或条件组限制对该视图中记录的处理。 可以在当文本框中输入条件,或者单击当来使用表达式生成器创建 WHILE 声明。
只有当指定条件值为真时,WHILE 声明才允许对视图中的记录进行处理。 当条件变为假时,处理立即终止,不再考虑剩余的记录。 可将当选项与全部、前或后选项结合使用。 在达到一个限制后,请立即记下处理步骤。
说明
前或后 选项中指定的记录数参考表中记录的物理或索引顺序,不考虑对视图进行过滤或快速分类的情况。 不过,解析操作的结果与任何过滤相关。
如果视图进行了快速分类,后和前操作相同。
最终完成设置
- 选择或取消选择使用输出表,具体取决于是否想让包含输出结果的 Analytics 表在操作完成后自动打开。
- 如果您想要将输出结果附加到现有 Analytics 表的末尾,请执行以下操作之一:
如果您肯定输出结果和现有表的结构完全相同,请选择附加到现有文件。
如果您希望 Analytics 比较输出结果和现有表的记录长度,请使附加到现有文件保持未选择状态。 如果记录的长度不相同,则数据结构不相同,并且附加操作无法正确工作。
说明
如果您不确定输出结果与现有表的数据结构是否相同,建议您使附加到现有文件保持取消选择状态。 有关附加操作和数据结构的详细信息,请参见将输出结果附加到现有表。
- 单击确定。
- 如果覆盖提示出现,请选择合适的选项。
如果想让附加选项显示,而实际未显示,请单击否取消操作并参阅 将输出结果附加到现有表。