以文本方式查看主题 - 课外天地 李树青 (http://njcie.com/bbs/index.asp) -- 数据库系统原理课件 (http://njcie.com/bbs/list.asp?boardid=19) ---- [推荐]数据仓库练习:DTS的高级使用 (http://njcie.com/bbs/dispbbs.asp?boardid=19&id=191) |
||||||||
-- 作者:admin -- 发布时间:2006/6/5 20:25:16 -- [推荐]数据仓库练习:DTS的高级使用 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编辑过]
|