在第六章中我们讲到过表的属性,其中提到过可以为表开启重复检测,开启后当用户输入和原有记录重复的记录时,会提示重复。本期我们就一起去看一下,怎么配置这个重复检测规则。
配置重复检测规则
我们可以在 Dataverse 中通过创建重复检测规则来定义哪些数据是重复值,从而给到用户相应的提醒,或者删除这些重复数据。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942056-443558-e2a68926612f2c0447b6c7a639f77ed2.png)
在重复检测规则页,点击 New 创建一个新的重复检测规则。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942062-346901-48d51dd232959da23bbcb771ae99dbed.png)
在创建重复检测规则时,我们需要配置很多内容。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942068-53433-de8125fd92771f3aa1023db9245a42aa.png)
Name : 重复检测规则的名字,比如我这里是用来检测重复班级的,就可以叫做“班级重复检测”
Status Reason :重复检测规则的状态,默认是未发布
Description : 对于当前规则的描述
Duplicate Detection Rule Criteria 重复检测规则的条件配置
Base Record Type : 选择要在哪个表中应用当前的重复检测规则
Matching Record Type : 要将刚才选择的表和哪个表进行重复检测比较,通常都是选择和 Base Record Type 同一张表,但也有些场景会选择不同的表。
比如你想要将联系人表的邮件和潜在顾客的邮件进行重复比较的时候,这时候就是对两张表进行了比较。
我这里就都选择班级表了
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942078-626583-bf346ccc36764ba0b0699d0d8e3d8afc.png)
Case-sensitive : 检测规则是否区分大小写
Exclude inactive matching records : 排除停用的匹配记录,在 Dataverse 中每条记录都会有一个状态列,排除停用匹配记录的意思就是该规则只考虑状态为可用的记录,如果这条记录都已经被停用了,那也不需要比较是否重复了。
接下来就需要配置详细的字段了,在 Select 中我们可以选择要匹配的列,比如我想通过班级名称来比较数据是否重复,那我就 Select 中选择了班级名称。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942088-2414-fef4fe9554251ca6045364187eea3481.png)
Criteria 是用来定义重复标准的,有3个可选项
Exact Match :完全匹配,只有记录完全匹配才算是重复
Same First Characters :前几个字符相同,当选择该项后,需要填写 No. of Characters ,在输入框中指定要匹配多少个字符
Same Last Characters :后几个字符相同,当选择该项后,需要填写 No. of Characters ,在输入框中指定要匹配多少个字符
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942094-330111-bf2113fb5f4ec538dd416af6dbc7453c.png)
Ignore Blank Values :忽略空值,如果不希望规则把两个空值也判断成重复数据的话,需要勾选此项忽略空值。
另外我们可以添加多个 Select 来设置多个匹配条件,比如可以这样设置:同时满足班级名称和简介都重复的记录,才算是重复记录。还可以设置成只要班级名称或者班级简介里有一个重复的都算这条记录为重复记录。
最后我们的重复规则设置为下图的样子,之后点击保存并关闭。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942102-891160-fdbfc188b93381d8fcb17ec59c36e8a4.png)
然后在视图中选择我们刚才创建的重复规则,点击发布。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942108-415650-64c32756d827b482714b47a401be6fea.png)
当规则发布后,我们回到 Dataverse 中,尝试添加一个班级记录。
当我们输入一个已经存在的班级名称,然后点 Save 的时候,就会出现一个重复记录的提示,系统会告诉我们已经有了一个重复记录,问我们是否还要进行保存。(前提是我们的表和环境都开启了重复检测,另外每个表最多存在5个重复检测规则)
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942114-945950-807ff82a8d30fea7904cf5f8f068f39c.png)
在环境中启用重复检测
在表中开启重复检测我们在第三章提到过。
那怎么在环境中开启呢,我们需要进到管理中心的环境设置,展开数据管理后,点击重复检测设置。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942122-413059-0d97f669cd53c2b7f68f87cee43527b8.png)
在这里我们可以配置是否启用重复检测,并且可以配置在什么时候启用重复检测,比如创建或更新记录时,还是导入数据的时候。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942131-181557-4599e1879c18d91f12dc525cadc9205a.png)
进入管理中心的环境设置,展开数据管理后点击重复检测规则。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942138-626655-e2a68926612f2c0447b6c7a639f77ed2.png)
定期删除重复数据
当我们配置好重复检测规则后,会在用户录入数据的时候有一个重复记录的提醒,除此之外 Dataverse 还提供了重复检测作业,可以帮助用户定期清理重复数据。
进入管理中心的环境设置,展开数据管理后点击重复检测作业。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942146-928482-5fa1770182c343d2066a5d2626f2a544.png)
点击new 新建一个重复检测任务,这时候会弹出重复检测向导,来指引我们创建重复检测的删除任务。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942152-533345-413a91495ea4710c2f1bc0380628f8a1.png)
之后要配置对哪些记录启用,这里我们可以选择指定的表和视图来进行限制,也可以通过运算符进一步限制要执行删除的记录。
这里的界面和之前批量删除数据的向导界面都一样,都是通过 Look for , Use Saved View 和 Select 来匹配数据,
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942159-183173-27f2ebcac0e2a5e6255f7e9f35360ffe.png)
只有设置了重复检测规则的表,才能被 Look for 选择。
这里我们选择班级表。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942168-446834-2718c95373f522d84ae11064cc652cd9.png)
这个时候如果我们直接完成,就相当于会对班级表中的所有重复数据执行批量删除任务(通过重复规则来判断哪些是重复数据),
另外我们也可以通过 Select 进一步限制要删除的数据,比如通过 Select Created On 等于 Last Year 来限制只删除去年的重复数据。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942176-60573-cf5914d5fdc9c0949c33e6781b5118be.png)
配置好限制规则后,我们点击下一步。
在这里我们需要配置重复检测任务的名称和启动时间。
也可以勾选 Run this job after every 来设置定期自动执行,同时也可以勾选邮件通知,在删除任务完成后通知指定用户。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942183-9523-62c35a1cf23851450e070f94aa436350.png)
确认无误后,提交我们的重复检测任务。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942189-383393-20f3d3868d6c3455dbbe7da3627122b0.png)
之后会在重复检测任务的列表中查看已创建的任务,并可以对该任务执行相关操作,这里的操作和批量删除任务差不多, 就不做过多说明了。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647942197-190299-797ba3af603f0a5b4d9a335a39239971.png)
以上就是本期介绍的重复检测功能,我们可以通过设置重复检测规则在用户编辑数据时给到相应的重复提示,并且可以利用重复检测作业,定期批量删除重复数据。