课外天地 李树青学习天地数据库系统原理课件 → [推荐]数据仓库练习:DTS的高级使用


  共有21099人关注过本帖树形打印复制链接

主题:[推荐]数据仓库练习:DTS的高级使用

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1945 积分:26736 威望:0 精华:34 注册:2003/12/30 16:34:32
[推荐]数据仓库练习:DTS的高级使用  发帖心情 Post By:2006/6/5 20:25:16 [显示全部帖子]

1、将Access数据库DB导入SQL Server服务器,命名为“图书销售系统”,新建关系

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:

2、新建SQL Server数据库“图书销售系统_Mart”,分析得出维表和事实表

3、将Access数据库DB1导入SQL Server的数据库“图书销售系统_Mart”,新建关系,设定标识列(主键)

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:

4、新建DTS包

4、1 对图书销售系统_Mart数据库建立目标数据源:OLAP_Mart

4、2 对图书销售系统数据库建立来源数据源:Customer_Source

4、3 对图书销售系统数据库建立来源数据源:Book_Source

4、4 对图书销售系统数据库建立来源数据源:BookStore_Source

4、5 为这些数据源建立转换包

其中的Customer数据源的年龄到年龄层的转换脚本为: function main() if DTSSource("年龄")<=20 then DTSDestination("年龄层")="20岁以下" elseif DTSSource("年龄")<=30 then DTSDestination("年龄层")="20岁——30岁" elseif DTSSource("年龄")<=40 then DTSDestination("年龄层")="30岁——40岁" elseif DTSSource("年龄")<=50 then DTSDestination("年龄层")="40岁——50岁" else DTSDestination("年龄层")="50岁以上" end if Main=DTSTransformStat_OK end function

其中的Book数据源中元数据使用sql语句获取: select book.图书编号, book.图书名称, book.出版社, book.库存量, book.销售单价, book_category.图书类别名称, book_category.图书类别说明 from book_category inner join book on book_category.图书类别编号=book.图书类别编号

4、6 对图书销售系统数据库建立来源事实数据源:FactSource 对OLAP_Mart现有连接新建一个目标数据源:OLAP_Mart

它们之间的数据转换为:

源数据为sql语句: select 图书销售系统_Mart.dbo.Book_Dim.图书序号, 图书销售系统_Mart.dbo.Customer_Dim.客户序号, 图书销售系统_Mart.dbo.BookStore_Dim.书店序号, 图书销售系统.dbo.SalesOrder.购书日期, 图书销售系统.dbo.SalesOrder.订单编号, 图书销售系统.dbo.Order_Detail.销售数量, 图书销售系统.dbo.Order_Detail.销售额 from salesOrder inner join order_detail on salesOrder.订单编号=order_detail.订单编号 inner join 图书销售系统_Mart.dbo.Book_Dim on order_detail.图书编号=图书销售系统_Mart.dbo.Book_Dim.图书编号 inner join 图书销售系统_Mart.dbo.BookStore_Dim on salesOrder.书店编号=图书销售系统_Mart.dbo.BookStore_Dim.书店编号 inner join 图书销售系统_Mart.dbo.Customer_Dim on salesOrder.客户编号=图书销售系统_Mart.dbo.Customer_Dim.客户编号 where(salesOrder.购书日期 is not null)

4、7 添加“执行sql任务”,指定现有连接为“OLAP_Mart” sql语句为: delete from sales_fact delete from customer_dim delete from bookstore_dim delete from book_dim

4、8 创建作业流的顺序 对维表到事实表的转换在作业流优先级设置中设为在“执行sql任务”后 对事实表的转换在在作业流优先级设置中设为在三个维表转换之后

[此贴子已经被作者于2006-12-21 14:43:55编辑过]

 回到顶部