日期:2014-05-16  浏览次数:20858 次

创建SSIS包—ETL中典型的数据清洗

前面我们熟悉了很多ELT任务,这一个节来讨论复杂点的数据清洗。这里我们要使用的数据源是.dat文件,这种文件在大型主机上,或者是比较老旧的应用系统中非常常见。这个例子的情景是一个信用卡公司,目前正着手于拓展Florida州新成立的一些公司的业务。市场部门每周都会向这些公司发送一些邮件,我们要为所有的邮件准备抽取数据。假设Florida州提供的一个上面这个dat文件,它是从老的计算机系统里面得到的,它是定长分隔的,这意味着文件中没有分隔符,必须手工设置分隔列的长度。从下面的连接下载这个.dat文件:010305c.dat。如果使用工具查看,它们的模样类似下面的:

01 ANNUAL_MICRO_DATA_REC. 03 ANNUAL_COR_NUMBER PIC X(12). 03 ANNUAL_COR_NAME PIC X(48). 03 ANNUAL_COR_STATUS PIC X(01). 03 ANNUAL_COR_FILING_TYPE PIC X(15). 03 ANNUAL_COR_2ND_MAIL_ADD_1 PIC X(42). 03 ANNUAL_COR_2ND_MAIL_ADD_2 PIC X(42). 03 ANNUAL_COR_2ND_MAIL_CITY PIC X(28). 03 ANNUAL_COR_2ND_MAIL_STATE PIC X(02). 03 ANNUAL_COR_2ND_MAIL_ZIP PIC X(10). 03 ANNUAL_COR_2ND_MAIL_COUNTRY PIC X(02). 03 ANNUAL_COR_FILE_DATE PIC X(08). 03 ANNUAL_COR_FEI_NUMBER PIC X(14). 03 ANNUAL_MORE_THAN_SIX_OFF_FLAG PIC X(01). 03 ANNUAL_LAST_TRX_DATE PIC X(08). 03