1、 根据EXCEL映射表,生成插入映射关系到EDW_MAP表的PERL程序
INSERT_INTO_EDW_MAP.pl
说明:生成不同主题的INSERT语句,要修改三处地方:my $filename = q(D:/EDW_VSS/贷款ETL/01-设计/吉林银行数据仓库字段映射T05_交易.xls)、my $zt='T05_'、open(F,'>D:/INSERT_INTO_EDW_MAP_t05.SQL');此程序已经过滤掉源表为空的映射;程序设置了一个自增的列作为ID主键,以方面映射表分开后的关联。
2、 实现此功能用到的一些表的表结构
建表脚本.sql
3、 将没有问题的EDW_MAP表中的映射关系插入到EDW_MAP_OK表中
插入数据到OK表.sql
说明:为防止没有发现数据的游标赋值错误,先将满足条件的映射插入到EDW_MAP_OK表中;注意,一定要用到ID变量,以防止出现重复的情况。
4、 更新EDW_MAP表中的数据类型及长度相关字段
计算源和目标字段长度的代码.sql
5、 查看目标表比源表短的记录
对结果查询分析.sql
说明:过滤掉含有CD、FLAG的字段值,因为这些都已经作过转换,可以不予考虑。
6、 总结
如果源与目标字段采用手工方式比对,可以想象那将是一个多么烦人、效率低下、且容易出错的事情;采用些方案,虽然也不简单,但比起手工来,效率提高了不止一个等级。
另:通过EDW_MAP与EDW_MAP_OK比较,可以找出SDM映射中的错误。