数据仓库 数据预处理.pptVIP

  • 7
  • 0
  • 约6.87千字
  • 约 47页
  • 2017-11-28 发布于湖北
  • 举报
数据仓库 数据预处理

* 日期数据中含有非数字字符——解决方法 在询问企业确切的日期值之后,可以用如下语句清理: UPDATE 借款凭证表 SET 到期日期=2002/01/10 WHERE 借款凭证编号=131199800069592 * (3)长度不规范 示例: * 长度不规范(续) 查找方法 ??SELECT?到期日期?FROM??借款凭证表 WHERE?LEN(到期日期)??8 ? 解决方法 可用SQL语句将字段长度不规范的数据挑选出来,并保存在另一张表中,然后再调查这些数据的正确日期是什么。 SELECT * INTO 日期字段长度不规范表 FROM 借款凭证表 WHERE LEN(到期日期) 8 * 对象名的转换 企业出于某种目的经常将数据库中的表名和字段名用英文字母或拼音缩写来表示,这给分析者阅读和理解表及字段的含义带来了不少的困难。 为了更直观地理解二维表中各字段及数据的含义,需要把这些符号转换为易于理解的中文字符。 例1,将 “acloanvch”表名转换为“借款凭证表”。 EXEC sp_rename acloanvch, 借款凭证表 例2,将“借款凭证表”中的“lva_vchno”字段名改为“借款凭证编号”。 EXEC sp_rename 借款凭证表.lva_vchno, 借款凭证编号, COLUMN * 数据编码的转换 在关系数据库中,出于存储空间等方面的考虑,很多数据都是以编码形式保存的,而编码的具体含义则保存在数据字典中,这给分析者分析数据造成了一定的困难,因此需要将这些编码数据转换为易于理解的中文文字。 例如:经营规模编码对照表: 经营规模编码 含义 1 特大型 2 大型 3 中型 4 小型 5 其他 * 示例转换方法 UPDATE 法人基本信息表 SET 经营规模 = CASE 经营规模 WHEN 1 THEN 特大型 WHEN 2 THEN 大型 WHEN 3 THEN 中型 WHEN 4 THEN 小型 WHEN 5 THEN 其他 END * 表结构的转换 有时表中的某些字段的代码值中蕴含着分析需要的信息,这种情况下可以把这些需要的值取出来独立构建新字段。 根据原始数据的不同,构建新字段的方法也不尽相同。 * 1.用列数据构建一个新字段 银行贷款台账表: 分析者希望以该银行的各个分行为分类依据进行数据分析,但是 “贷款台账表”中并没有“分行名称”或“分行代码”字段。经询问得知“贷款台账表”中“企业代码”列的前四位就代表了该企业所属的分行代码。因此可以直接在原表上构建出“分行代码”这一字段, * 实现方法 首先在贷款台账表中添加“分行代码”字段: ALTER TABLE 贷款台账表 ADD 分行代码 CHAR(4) 然后为新添加的字段赋予合适的值 UPDATE 贷款台账表 SET 分行代码 = LEFT ( 企业代码, 4 ) * 转换后的形式 * 利用一个字段的数据构建多个新字段 借款凭证表 分析者希望能对各种贷款情况的金额进行分析和汇总,即将五级分类中的每一类独立成一个新列,将“贷款五级分类”列分解为5个列。五级分类编码及其对应的含义为: 1——正常;2——关注;3——次级;4——可疑;5——损失 * 实现方法 SELECT 借款凭证编号,借款合同编号, 客户代码, CASE WHEN 贷款五级分类=5 THEN 借款金额 ELSE 0 END 损失, CASE WHEN 贷款五级分类=4 THEN 借款金额 ELSE 0 END 可疑, CASE WHEN 贷款五级分类=3 THEN 借款金额 ELSE 0 END 次级, CASE WHEN 贷款五级分类=2 THEN 借款金额 ELSE 0 END 关注, CASE WHEN 贷款五级分类=1 THEN 借款金额 ELSE 0 END 正常, 借款日期, 到期日期, 担保方式 INTO 借款凭证分析表 FROM 借款凭证表 * 转换后形式 * 3.为扩展分析内容构建新字段 担保方式表 将“担保方式”分解为“担保方式”和“担保明细方式”,以便多角度多层次的数据分析。 * 实现方法 SELECT LEFT(担保方式编码,1) AS 担保方式编码, LEFT(担保方式名称,2) AS 担保方式名称, 担保方式编码 AS 担保方式明细编码, 担保方式名称 AS 担保方式明细名称 INTO 担保方式分析表 FROM 担保方式表 * 转换

文档评论(0)

1亿VIP精品文档

相关文档