BI学习之一创建一个简单的Olap多维数据集的展现

项目背景

  '博客园'是一家国内的大型日化用品,生活用品生产,销售公司,它的一部分销售是放在淘宝网上进行的,在淘宝网上这家公司有多个网店,线下有系统对每个网店的销售数据通过淘宝API进行抓取保存,用于每周,月出销售情况的报表.由于报表设计到多个方面,每一次有新的搭配或者比较的话就必须让程序人员修改代码,增加修改报表的内容.现在,'博客园'想通过数据分析人员自己来控制想得到的数据报表,想到什么,得到什么,并且能多角度,多层面的对数据进行分析.

使用BI数据分析与传统报表的比较

  

  从上面这个比较图可以看出,右边的olap数据展示的话,操作者可以通过手动拖拽树中的度量值,KPI,维度使右边图片及表格动态变化,图片和表格能根据自己的需求进行点击(钻取)查看得到更细的,想要关注的报表,我们可以看到,olap数据分析让我们知道了目前是这样,还能知道为什么是这样,以及以往到如今,甚至未来的发展趋势

BI中的基本概念介绍(结合Analysis Services)

维度(Dimension):
  维度理解为数据的属性,是我们分析数据的角度,比如分析公司在全国各地的各种商品的销售情况,那么商品类别,地区,店铺等就是维度,维度中包含层级,比如说地区,省和省(湖北省,湖南省..)之间就是 水平层及,省下面有市和县等,比如湖北省->恩施市->来凤县,这就是 垂直层级,我们通过维度来定义获取数据分析的条件

度量值(Measure):

  度量值是基于事实表的一列,是在多个维度下取值的共同点,比如事实表中有一个total_fee的字段,我们就可以通过按照地区维度和时间维度+total_fell这个度量值来分析相应的销售情况.

KPI:

  关键绩效指标,将传统的数值分析转变为状态及趋势分析.比如说公司这个月销售额到达了200W,那么这个销售额对于去年这月,或者以往的月份来说是涨了还是降了呢,这个月打了广告,那么就可以通过KPI知道广告带来了多少利润

Cube:

  多维数据集是由多个维度,度量值组成的多维数据模型.下图能直观的看到cube的模型:

事实表:

   存放要分析的数据的表,只包括主键,外键和度量,比如下图: 在这个事实表中,度量为数量和价格,外键是FK打头的几个

来点实在的吧,自己动手,完成一次olap展现

1.1 环境:

SQL 2008 安装了 Analysis Services,SQL Server Business Intelligence Development Studio

1.2  开始吧

  1.2.1 创建项目

  打开VS2008->SQL Server Business Intelligence Development Studio->文件->新建项目->商业智能项目->Analysis Services项目->确定

  1.2.2

  创建数据源 添加一个数据库连接到我们的数据仓库

  1.2.3

  创建数据源视图, 数据源作为与我们的数据库的一个连接,在数据源中,我们则可以对数据源中我们设置好的维度表,事实表做关系处理,添加计算等

在选取我们想要分析的事实表和维度表之后,我们可以使用工具栏,放大镜来调整显示的百分比。

    1.2.3.1 设置基本维度表和事实表的关系,由于事实表的外键是各个维度表的主键,拖拽事实表中的外键字段匹配维度表中的主键字段来建立关联

    1.2.3.2 设置父子关系,在这个设计里面,由于通过商品的维度表才能知道商品的类目,这里存在一个维度引用,及在Dim商品表和Dim类目表之间,

由于类目表中通过类目的父及编号来保住层级关系,所以这里我们要设置一下父子关系,点击工具栏上面的新建关系,通过设置同表的主外键确定建立父子关系,如图:

  

  1.2.4 创建完成后的数据源视图

      

维度表和事实表结构如上,这里事实表中的度量只有销售额和销售数量,Dim类目表是个父子维度关系,表中含有一个类目父及编号字段来定义父子关系。

  1.2.5 创建维度      创建维度很简单,这里只说2个特殊的维度创建:

    1.2.5.1.新建类目维度,名称列请选择字段的名称的显示的列,在可用属性中,要把‘类目父及编号’勾选上,完成之后,点击面板上的处理按钮处理一下,这里可能遇见连不上数据源的错误,双击数据源,在模拟信息栏目选项卡选择继承。点击浏览器,我们发现每个类下面默认出现了父类名称,在类目最底下出现了Unknow,这时候需要做2个设置,右击Dim类目维度的属性‘类目父及编号’,将MemberWithData选择为NonLeafDataVisible,右击Dim类目项选择unknownmember里选择hidden,处理一下,浏览,刷新,OK~ 我们后面的维度浏览的时候出现unknow选项的时候,始终这样处理

    1.2.5.2.新建时间维度,时间维度的创建比较特殊,选择维度属性的时候,要记得为日期选择一个格式,比如年,在属性类型一项选择日期->日历->年,小时选择->日期->时间->小时,注意时间维度有一个层次结构,属性面板中的年属性->在新级别中依次拖入半年,季度….形成一个层次关系,记得在每个维度属性的NameCloum列选择相对应显示名称的列,处理之后浏览

  1.2.6 创建cube

     创建cube的时候,度量值选项选取事实表中的销售额和销售数量选项,维度表选择需要分析的几个已建立好的维度,完成之后处理在浏览窗口,我们拖入度量值和维度到右边的空白地方,可以看到这样的结果:(这里的地区我并没有做层次结构 0 0~)

 

1.2.7 生成本地的cub文件

  这里,为了便于给客户展示效果,我们生成本地的cub文件作为数据源,生成方法:打开SQL2008 Analysis Services,右击数据库新建查询->MDX,输入命令:

?
1
2
3
4
5
6
7
8
9
10
11
12
CREATE GLOBAL CUBE [Hot Sale DW]
Storage 'D:\hotsale.cub'          --cube文件的保存路径
FROM [Hot Sale DW]
(
MEASURE  [Hot Sale DW].[销售总额],   --需要的度量值
MEASURE  [Hot Sale DW].[销售量],
DIMENSION [Hot Sale DW].[Dim地区],   --需要的维度
DIMENSION [Hot Sale DW].[Dim交易状态],
DIMENSION [Hot Sale DW].[Dim日期],
DIMENSION [Hot Sale DW].[Dim商品],
DIMENSION [Hot Sale DW].[Dim网店]
)

执行之后在D盘就能看到生成的本地cub文件了.

使用dundas olap service 控件进行多维数据展示

  Dundas个人觉得是目前做的最好的图表,报表控件,Dundas chart也是非常的好用,用过一次就爱不释手。如果是管理系统项目推荐使用,网站项目自己决定吧.我这里使用的dundas olap for vs2005 6.1版,我到处没有找到for 2008的,如果谁有,希望发一个,多谢.首先看看完成后的效果吧:

  

额 写到这里实在不想写了,完成展现很简单,直接按照它的demo依葫芦画瓢~~~~ 总之先到这里吧~

请下载新的DEMO 回复者:刘清华 时间: 2008-7-4 16:05:24 http://erp.inspur.com/download/downloadfiles.aspx?fileid=3006 请下载新的DEMO。 回复: 回复者:刘清华 时间: 2008-5-27 13:17:37 http://erp.inspur.com/download/downloadfiles.aspx?fileid=2655 最新的经营视窗DEMO1.0已经上传,通过上面的链接可以进行下载,感谢大家继续支持!经营视窗可以针对PS8.5,PS9.0的客户直接全自动安装使用,欢迎大家通过DEMO了解相应的功能,体会全自动的过程,全鼠标的操作界面!!! 回复: 回复者:刘清华 时间: 2008-5-8 14:41:18 现在有最新的可以给PS85,PS90客户直接使用的 经营视窗DEMO,全自动安装。经营视窗程序1.0安装盘。有需要的人员可以先联系我。 回复: 回复者:魏华 时间: 2008-5-4 9:59:10 很好很强大,看了之后有几点感想。 1、我们的好产品,如何标准化的包装,例如pptworddemo,这个工作能不能由自发变为有组织有计划的行为? 2、包装成什么样,谁去包装,包装的人承担什么样的角色,需要具备什么样的能力,获取什么样的肯定,是不是应该形成标准化流程? 3、包装之后,怎么去推广,去应用,例如由桃花岛这种交流性质的,转变为强制推广,是不是应该有体制约束? 清华做的东西很好,学习了。 回复: 回复者:马建军 时间: 2008-1-24 11:04:13 不错,属于原创优秀作品! 继续努力 回复者:刘敏 时间: 2007-12-20 16:33:20 同志,干得不错~~~给大家带来很大的方便 回复: 回复者:刘猛 时间: 2007-11-26 19:25:47 大家是否经常碰到以下三种情况: 1、即使我们的产品提供了大量的分析报表,但总有一些客户的报表没有包含; 2、我们已经给用户定制开发的报表,肯定会不停的修改(包括格式和取数方式) 3、项目还没实施完,客户又提出了新的报表需求 制造业事业部开发的综合管理作为公司P系列的核心数据展示系统,已经在我们很多项目上得到了应用;并且这个模块既可以灵活定制客户所需报表,又可以方便定义我们系统没有包含的各类客户业务单据,且这些单据可以任意集成在制药行业9.05版的各个模块中,在灵活应对客户多变的需求基础上,很大程度上解决代码级二次开发带来的开发效率、维护成本等问题; 如果大家在项目售前、实施过程中有这方面的需求,可以随时联系我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值