测试重复

概念信息

DUPLICATES 命令

一个或多个域中的重复值,或者重复记录,可以是数据条目错误或如为了逃避监督的分割信用卡交易欺诈行为的结果。

 唯一值要求

绝不能包含重复值的域是值唯一标识记录的域。例如,员工表绝不能包含重复的员工编号,因为每个编号都应该标识唯一的员工。

有效的重复值

重复值也可能是有效的。例如,交易表可能由于相同客户完成多项交易而包含重复的客户编号。

不同类型的重复项测试

可以使用 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 表中。