Data Quality Services(DQS)是SQL Server 2012引入的一大特性。这个服务的任务是为了实现客户端数据标准化和清理错误数据的。比如客户端数据容易因为用户输出诸如像城市名这样的数据,Los Angeles写成Los Angels,另一个就是标准化,像NYC、NewYork标准化为New York City。

在SSIS的Data Flow中也有一个可以借助Data Quality Services(DQS)来实现对数据的清,就是这个DQS Cleansing组件。

这里做一个experiment

第一步用AdventureWork库的CountryRegion表作为输入表

Data Flow ->> DQS Cleansing-LMLPHP

第二步引用一个DQS server,KB和Domain是自动列出来的

Data Flow ->> DQS Cleansing-LMLPHP

选择要cleanse的输入栏位和domain中的对应栏位

Data Flow ->> DQS Cleansing-LMLPHP

这里勾选Confidence和Reason

Data Flow ->> DQS Cleansing-LMLPHP

打开Data Viewer看到DQS services计算的结果,下图是new value和它认为应该被corrected的数据,这时候可以看到confidence其实是很高的,我记得好像DQS认为confidence在9成以上就是应该被corrected的

Data Flow ->> DQS Cleansing-LMLPHP

还有auto suggest的数据

Data Flow ->> DQS Cleansing-LMLPHP

最后这些数据可以在前面引用的DQS server看到,我们通过DQS Client可以看到

Data Flow ->> DQS Cleansing-LMLPHP

那么说回这个组件,DQS Cleansing后面最可能跟上的是应该是Conditional Split或者Multicast这样的组件,通过判断像Record Status这样的栏位来把数据集保存都一个地方,然后用户再去审核这些数据来决定是否要correct

05-06 10:00