SQL Server 2012 Data Quality Services (DQS) 允许你使用自己的知识库来清洗数据. 在本文中我会展示一个简单示例.
使用DQS清理步骤如下:
A. 建立DQS 知识库 B. 建立DQS项目然后根据知识库清理数据
在SQL Server database中用下面脚本创建样本数据:
CREATE TABLE MyCustomers ( CustomerID INT, CustomerName NVARCHAR(255), City NVARCHAR(32), PRovince NVARCHAR(32), LastUpdate DATETIME ) INSERT INTO MyCustomers VALUES (1, 'Consolidate Co Ltd', 'Miami', 'FL','2013-01-01'), (2, 'Consolidation Company Ltd', 'New York', 'NY','2013-01-01'), (3, N'什锦的件', 'LA', 'CA','2013-01-01'), (4, 'Chop-suey Chinese', 'Los Angeles', 'CA', '2013-03-03'), (5, 'Big Cheese, The', 'Redmond', 'WA', '2013-02-02'), (6, 'THE BIG CHEESE', 'Chicago', 'Il','2013-02-02'), (7, 'To Be Filled Later', 'Redmond', 'Wash.', '2013-01-01')A. 建立DQS 知识库
1. 先运行SQL Server 2014 Data Quality Server Installer 安装DQS
注: DQS只能安装在企业版或者商业智能版的SQL 上
安装完毕以后引擎新增的DQS_MAIN数据库,其中新增了三个Role,如果你要让其他用户访问DQS,那么必须赋予他们其中一个Role才可以访问DQS
2.装好以后启动 Data Quality Client.
3. 点击 New Knowledge Base. Name字段输入 MyCustomerKB, 确定 Domain Management已经被选中,然后点击 Next
4. 点击 Create Domain 图标.
5. 弹出框里面 Domain Name写 CustomerName . 还有一个可选项 Format Output to . 可以选成 Capitalize.
6. 重复相同的步骤创建 City 和 State域(暂且叫域吧,不知道官方翻译成什么) .
7. 选择 City 域, 点击 domain values 标签. 在这个界面,你可以输入所有有效值或者无效值.
注意:默认情况下, DQS 包含一个 DQS_NULL 有效值, 你可以把它的类型改为无效, 比如你想标记缺失值.
接着改变主导值,右击Los Angeles并选择 Set as Leading during .
8. 选择 State 域 ,点击 domain values 标签. 在这个步骤.我们用通过表格导入值.
9. 选择 CustomerName 域,然后点击Term-Based Relations 标签. DQS允许你域值里面定义术语,并使他们标准化. 例如公司名称常包括 “corp”,当出现他的变种(比如 "Microsoft Corp" 或者 "Microsoft Corporation")的时候你可以使用DQS 标准化域值中的术语,在这个步骤中,我们将定义两个术语:
10. 点击 Publish 按钮 button继续.
新闻热点
疑难解答