- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
一步一步学习SQLServerBI
一步一步学习sqlserverBI--数据仓库设计
因为项目还没有真正开始,但是接触BI已有半年多,手痒,这几天准备搞一个简化版本的BI项目。一方面给刚BI入门的朋友一个参考,另外一方面也为自己的将要开始的项目做个准备,让自己能够考虑到一些项目的细节。同时也希望对BI有研究的朋友提供一些建议和经验。因为我们的这个案例是采用微软的sqlserver2005的BI平台开发的,所以这里先贴一张WebCast里面截来的图,这张图主要反映了采用
sqlserver2005的BI项目的架构。
好了,咱们开始吧。我说的这个项目需求很简单,因为是简化版本的么。这是一个游戏中使用到的物品的销售分析软件。里面包括几个概念,游戏,销售部门,物品,交易金额,交易笔数,发布单数等。我们要做的事情就是按游戏,按部门,按物品来实现对交易金额,笔数等的数据交叉分析。
在我们这个系统里面,我们的数据颗粒度是天。好了,既然是简化版,我们也就不用那么罗嗦,什么需求分析,分析设计都省了吧,下面直接进入数据库设计。
我们的数据库一共包括四张维度表(部门维度,游戏维度,物品维度,时间维度),一张事实表(游戏交易数据事实表)。
部门维度表
游戏维度表
物品维度表
时间维度表
交易数据事实表
由于我们的这个案例比较简单,所以维度与事实表之间的关系也比较简
单,是一个简单的星型架构。
这一节我们就先写到这里,下一节我将会详细的写这个项目的ETL部分。
一步一步学习sqlserverBI--ETL设计
这节我们主要讲讲我的游戏交易数据分析项目的ETL(数据抽取、加载、转换)具体是怎么做的。
先来讲下源系统吧,因为我们的交易主站的服务器不是架在公司的,因此不能直接从源系统直接抽取数据了。事实上我们已经存在一个简单的数据分析系统了,只不过这个是以前人家做的,没有采用sqlserver2005的BI平台来做,而是直接写winform程序来弄的。原来的数据抽取是主站那边提供导出的excel文件过来,然后到我们这边,导入到我们的分析库中去。
好了,为了简便,事实上我只是在做一个demo,为以后项目做准备,所以我们抽取数据直接是从上面说的已经存在分析库中抽的,因为数据结构比较相近,所以ETL过程还是比较简单的。
先看看游戏维度表吧:
首先,我们来新建一个IntegrationServices项目。
接着,新建一个ImportDimGamePackage.dtsx的SSIS包。
拖放一个数据流任务到控制流面板上(如图)
双击数据流任务,来到数据流面板
接着我们拖动OLEDB源到数据流面板上,并且双击编辑它,新建一个连接和选择要抽取数据的源数据表。
然后我们拖动一个OLEDB目标到数据流面板上,把OLEDB源和OLEDB目标连接起来,并且双击编辑,新建一个连接和选择我们要存放数据的目标表
然后建立源表与目标表之间的映射。
所有的都弄好了,运行,OK,成功了。
接着部门维度和物品维度都跟这个差不多。时间维度是我新建的,暂时我用winform写了一个日期维度生成器。
下面就讲交易数据事实表,这个比维度稍微复杂一点点。因为源系统和目标系统数据结构很类似,所以我的ETL都是非常简单的,在实际项目中,能够有这么好的运气是不可能的,呵呵。
首先新建一个ImportFactGameTradeDataPackage.dtsx的SSIS包。
其他简单的步骤跟上面一样,我就讲讲不一样的地方。因为我在数据库设计的时候,各个维度都用了代理键,也就是说在我们的数据仓库里面的维度和事实表的外键关联都是通过代理键的,源系统中的键我们只不过用一个字段记录了下来。所以我们数据抽取过来的时候,要对源系统中的映射关系进行改变。
这里的关键就是我们在编辑数据流的时候,使用了一个叫做“查找”的组件。编辑好的数据流如图:
接下来我们详细讲下查找列是怎么用的,拿查找GameKey来讲把。
1。双击查找GameKey组件,在引用表面板上面选择好我们要查找的表,在这里就是我们数据仓库表中的游戏维度表。
2。在列面板里面建立要查找的字段跟源系统事实表的字段的映射。
3。把查找到的列作为新列添加,并取一个唯一的别名(在后面与OLEDB目标的时候建立映射的时候,会用到这里查找到的列)。
接着其他的几个维度代理键的查找都类似,OLEDB目标的字段映射跟维度表的导入类似。
好了,今天主要介绍了简单的Sqlserver2005IntegrationServices的使用,今天涉及了到里面几个概念,数据流任务,OLEDB源,OLEDB目标,查找等。
下一节,我准备写一下使用Sqlserver2005AnalysisServices建立OLAP数据库的过
您可能关注的文档
最近下载
- 2023陕西省从优秀村(社区)干部中考试录用乡镇(街道)机关公务员考生各项及笔试历年典型考题及考点剖析附答案带详解.docx VIP
- 财务报表分析 第6版 张新民 习题答案 课后案例讨论与分析提示.pdf
- 演出票务方案.pdf VIP
- 2023年威迈斯分析报告:车载电源龙头,800V及海外进展领先.pdf VIP
- 香椿规模化种植及深加工项目可行性研究报告.pdf
- (3)曲线运动和万有引力定律—2024年九省联考+2023年四省联考+2021年八省联考物理专项精编.docx VIP
- 肠内及肠外营养及并发症.pptx VIP
- 部编版语文五年级上册第三单元单元整体设计(学历案).pdf VIP
- 聚酰亚胺 化学、结构与性能的关系及材料.pdf
- TR50矿车艾利逊变速箱故障排除.doc
文档评论(0)