惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
博客园 - Franky
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿
腾讯CDC
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
P
Privacy International News Feed
The Cloudflare Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threat Research - Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
Project Zero
Project Zero
S
SegmentFault 最新的问题
美团技术团队
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
云风的 BLOG
云风的 BLOG
Spread Privacy
Spread Privacy
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
B
Blog
Cisco Talos Blog
Cisco Talos Blog
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
T
The Exploit Database - CXSecurity.com
Simon Willison's Weblog
Simon Willison's Weblog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
C
Cisco Blogs
NISL@THU
NISL@THU
J
Java Code Geeks
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
K
Kaspersky official blog
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
I
Intezer
U
Unit 42
博客园 - 聂微东
C
Check Point Blog
Recent Announcements
Recent Announcements
Microsoft Azure Blog
Microsoft Azure Blog
Latest news
Latest news
博客园 - 司徒正美
G
GRAHAM CLULEY
S
Schneier on Security
V
Visual Studio Blog

博客园 - 君之蘭

WPF打印票据 easyui plugin——etreegrid:CRUD Treegrid 【经验谈】XmlSerializer的坑 从抽象谈起(三):AOP编程和ASP.NET MVC 从抽象谈起(二):观察者模式与回调 从抽象谈起(一):工厂模式与策略模式 SQL SERVER BI 入门:(1)安装与基础概念 HTML5 Canvas编写五彩连珠(6):试玩 HTML5 Canvas编写五彩连珠(5):寻路 HTML5 Canvas编写五彩连珠(4):动画 HTML5 Canvas编写五彩连珠(3):设计 HTML5 Canvas编写五彩连珠(2):画图 HTML5 Canvas编写五彩连珠(1):预览 Trie树-脏词过滤应用 带你走进缓存世界(6):共享缓存 ASP.NET MVC3 Custom FormAuthorize ASP.NET MVC3 Custom ErrorPages 500/404 带你走进缓存世界(5):一显身手 带你走进缓存世界(4):缓存之缓
SQL SERVER BI 入门:(2) Analysis Service 应用
君之蘭 · 2012-11-30 · via 博客园 - 君之蘭

上篇文章主要介绍了BI的一些概念,主要是原始库、数据仓库数据库、维度表、事实表和相关的导入工作。数据导入之后,就是分析、统计和挖掘,这是这些底层的工作全部是由微软的Analysis Service帮我们做好了,我们学会如何使用,便能做到“看起来很厉害的样子”了。

打开SQLSERVER Data Tools,就可以新建Analysis项目。如图1

主要分为Data SourcesData Source ViewsCubesDimensionsMining Structures等。
Data Sources 主要是数据库源,也就是我使用了哪些数据库作为仓库数据库。我连接的事DemoDB

Data Source Views 是从数据源里,使用了哪些表。我这个库中也没什么表,把三个表全部导入。如图2

Cubes:是数据立方体。何为数据立方体?这主要是和维度的概念一起理解,我们现实是分三维,x,y,z三个坐标决定的空间。而数据库,可能会包含很多维度,只是在我们的认知中无法想像超越三维的事物,这只是个概念。可见,Cube是依赖于维度的。所以在我们建立Cube的时候,需要理解下面的Dimension是什么。

DimensionsCube的维度,每个Cube依赖哪些维度来做统计,就需要在这里建。虽然在创建立方的时候会自动帮我们创建维度,但是有时候他创建的维度并不能达到我们的目的。所以,我们先建Dimension,再建Cube

Mining structures:数据挖掘用的东西,咱这里就不说了,因为我还没用过,只是看了下Webcast的视频,里面介绍了集成了大量的现有挖掘算法,很方便的可以做出相应的分析趋势。 还是看似厉啊。

创建Dimension

那现在就创建一个时间维度,为我们的UserActionCube做准备工作。

右键点击Dimensions->New Dimension -> Use an existing table ->Main table(DimDate)->Available attributes(全选,因为我们年月日都作为统计条件),结束。这个维度是初步建好了。

现在可以看到DimDate的编辑界面,如图

左侧为属性,中间是层次结构,右侧是表。

因为我们的统计需求可能会对 月份、年份做统计,所以如果统计某个月,则需要把所有当月的天数的事实做统计,这如果写程序来统计会很慢很复杂,而维度却有层级的概念,所以我们可以在中间一栏建立一个层次关系,这样系统就可以帮我们做好层次的统计。

建立层次结果如图:

但是上面有感叹号,鼠标移上去发现说是属性之间并不存在这种关系。所以我们还要修改AttributeRelationships(在上面一幅图的红色圈中的选项卡界面里)。如图:


现在默认的关系是平级的,他们没有层级关系,所以我们要按照年月日建立好关系。

调整为这样黄色的感叹号就不存在了。ID属性DayDay属于MonthMonth属于Year。操作方法:先删除现有的线条,然后右键点击一个项,创建新关系。

现在你可以Processing DimDate (处理维度),然后点击browser看看最终得到的数据,我的如下图:

现在维度已经创建好了,那么我就创建一个Cube


只需要选择事实表即可,相关的维度是蓝色的。在创建过程中,我们可以选择已经创建好的DimDate维度,也可以让系统帮我们自动创建DimAction维度,因为这个维度不需要我们特熟处理。

Processing FactUserAction   Cube之前,别忘了先处Processing DimAction,假如你也有的话。然后就可以Browser这个Cube的具体报表了。我这边出现了异常,所以就不贴图了,贴一个其他机器上Cube的图让大家看看。

可以看到左侧的提示都是直接拖拽事实表的字段为统计,维度表的字段为属性。生成一个报表,还算不错,呵呵。不过这种拖拽也只能我们自己看,要想让运维和产品人员看,就不能让他们拖拽了,而是我们要开发一套报表展现系统,把Cube里的数据查询出来。这个下一节再说吧。

PS】如果有动手做的朋友碰到问题或者有疑惑可以在评论里给我留言,或加QQ群,在页面的左上角。我们共同探讨。谢谢。