设为首页 收藏本站
查看: 1568|回复: 0

[经验分享] SQL SERVER BI 入门:(2) Analysis Service 应用

[复制链接]

尚未签到

发表于 2015-6-29 16:39:29 | 显示全部楼层 |阅读模式
  上篇文章主要介绍了BI的一些概念,主要是原始库、数据仓库数据库、维度表、事实表和相关的导入工作。数据导入之后,就是分析、统计和挖掘,这是这些底层的工作全部是由微软的Analysis Service帮我们做好了,我们学会如何使用,便能做到“看起来很厉害的样子”了。
  打开SQLSERVER Data Tools,就可以新建Analysis项目。如图1:
DSC0000.jpg
主要分为Data Sources,Data Source Views,Cubes,Dimensions,Mining Structures等。
Data Sources 主要是数据库源,也就是我使用了哪些数据库作为仓库数据库。我连接的事DemoDB。
  Data Source Views 是从数据源里,使用了哪些表。我这个库中也没什么表,把三个表全部导入。如图2:
DSC0001.jpg
Cubes:是数据立方体。何为数据立方体?这主要是和维度的概念一起理解,我们现实是分三维,x,y,z三个坐标决定的空间。而数据库,可能会包含很多维度,只是在我们的认知中无法想像超越三维的事物,这只是个概念。可见,Cube是依赖于维度的。所以在我们建立Cube的时候,需要理解下面的Dimension是什么。
  Dimensions:Cube的维度,每个Cube依赖哪些维度来做统计,就需要在这里建。虽然在创建立方的时候会自动帮我们创建维度,但是有时候他创建的维度并不能达到我们的目的。所以,我们先建Dimension,再建Cube。
  Mining structures:数据挖掘用的东西,咱这里就不说了,因为我还没用过,只是看了下Webcast的视频,里面介绍了集成了大量的现有挖掘算法,很方便的可以做出相应的分析趋势。 还是看似厉啊。
  
  创建Dimension
  那现在就创建一个时间维度,为我们的UserActionCube做准备工作。
  右键点击Dimensions->New Dimension -> Use an existing table ->Main table(DimDate)->Available attributes(全选,因为我们年月日都作为统计条件),结束。这个维度是初步建好了。
  现在可以看到DimDate的编辑界面,如图 DSC0002.jpg
  左侧为属性,中间是层次结构,右侧是表。
  因为我们的统计需求可能会对 月份、年份做统计,所以如果统计某个月,则需要把所有当月的天数的事实做统计,这如果写程序来统计会很慢很复杂,而维度却有层级的概念,所以我们可以在中间一栏建立一个层次关系,这样系统就可以帮我们做好层次的统计。
  建立层次结果如图: DSC0003.jpg
  
  但是上面有感叹号,鼠标移上去发现说是属性之间并不存在这种关系。所以我们还要修改Attribute的Relationships(在上面一幅图的红色圈中的选项卡界面里)。如图:
   DSC0004.jpg

  现在默认的关系是平级的,他们没有层级关系,所以我们要按照年月日建立好关系。
  
DSC0005.jpg
  调整为这样黄色的感叹号就不存在了。ID属性Day,Day属于Month,Month属于Year。操作方法:先删除现有的线条,然后右键点击一个项,创建新关系。
  
  现在你可以Processing DimDate (处理维度),然后点击browser看看最终得到的数据,我的如下图:
DSC0006.jpg
  
  现在维度已经创建好了,那么我就创建一个Cube。
   DSC0007.jpg

  只需要选择事实表即可,相关的维度是蓝色的。在创建过程中,我们可以选择已经创建好的DimDate维度,也可以让系统帮我们自动创建DimAction维度,因为这个维度不需要我们特熟处理。
  
  在Processing FactUserAction   Cube之前,别忘了先处Processing DimAction,假如你也有的话。然后就可以Browser这个Cube的具体报表了。我这边出现了异常,所以就不贴图了,贴一个其他机器上Cube的图让大家看看。
DSC0008.jpg
  
  可以看到左侧的提示都是直接拖拽事实表的字段为统计,维度表的字段为属性。生成一个报表,还算不错,呵呵。不过这种拖拽也只能我们自己看,要想让运维和产品人员看,就不能让他们拖拽了,而是我们要开发一套报表展现系统,把Cube里的数据查询出来。这个下一节再说吧。
  
  【PS】如果有动手做的朋友碰到问题或者有疑惑可以在评论里给我留言,或加QQ群,在页面的左上角。我们共同探讨。谢谢。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-81642-1-1.html 上篇帖子: SQL Server 隐式转换引发的躺枪死锁-程序员需知 下篇帖子: SQL Server 2008高可用性(High Availability)简介(3)—Log Shipping
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表