BI之SSAS完整实战教程3 -- 创建第一个多维数据集
上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube)。
文章提纲
- 使用多维数据集向导创建多维数据集
- 总结Cube设计器简介
- 维度细化
- 总结
一、使用向导创建多维数据集
在Analysis Services中,可以通过3种方法构建多维数据集:自上而下,自下而上或者基于一个空多维数据集。
一般我们从现有的关系数据库自下而上构建。
在自下而上方式中,需要一个DSV作为多维数据集的构建基础。
AS中的多维数据集(Cube)包括两部分:
1. 一个或多个度量值组,其数据来自关系数据源中的一个或多个事实表。通常情况下,每个事实表对应一个度量值组,度量值组包含一个或多个度量值(例如销售额,成本,售出产品计数)
2. 多维数据集还包含一个或多个来自关系维度表的维度(例如Product和Time).
构建多维数据集时,需要指定希望使用的事实表和维度表。每个多维数据集必须至少包含一个事实表,用于确定该多维数据集的内容。
后面使用向导时可以看到,如果不选量值组会提示:At least one measure group table must be selected.
另外构建多维数据集之前,必须基于维度表创建维度。
我们简单小结一下:Cube=度量值组+维度
多维数据集向导将创建多维数据集所涉及的所有步骤打包在一起, 形成一个简单的顺序过程,创建步骤:
1. 右键 Cubes à New Cube…
点击 Next进入下一步
选择默认值,下一步
2.在Select Measure Group Table页中,选择FactInternetSales 和 FactResellerSales作为度量值组表,下一步
3. 在Select Measures页面中,可以从度量值组表中选择特定的列作为度量值。
默认情况下,会选中度量值组表中的所有列(键列除外)
按照默认选择,下一步
4. 在Select New Dimensions页面上,多维数据集向导将显示可能的维度及其特性。默认情况下,多维数据集向导在每个维度中包含键特性,键特性将在此页面上突出显示,如下图。取消选中Fact Internet Sales和Fact Reseller Sales维度,下一步。
5. 按照默认名称,点击Finish完成多维数据集的创建。
向导完成后,维度也会相应的创建,并且显示在Solution Explorer中。
二、Cube设计器简介
Adventure Works DW多维数据集将在多维数据集设计器中打开,如下图
可以看到,多维数据集设计器具有多个tab, 通过这些tab, 可以对多维数据集进行各种操作。在多维数据集向导完成后打开的默认页面是Cube Structure
其他的一些页面包括:Dimension Usage, Caculation, KPIs, Actions, Partitions, Aggregations, Perspectives, Translations和Browser
Cube Structure页面包含3个窗格:Measures(度量值)、Dimensions(维度)和Data Source View(数据源视图)。
可以在Measures窗格中添加或修改度量值组和度量值。
使用Dimensions窗格可以添加或修改多维数据集的维度。
Data Source View 窗格显示在多维数据集中使用的事实表和维度表,并使用不同颜色进行区分(黄色表示事实表,蓝色表示维度表)
在每个窗格内部右击,可以看到能够在每个窗格中完成的各种操作。
三、维度细化
多维数据集向导仅向创建的维度中添加了最为基本的一些特性。若要对多维数据集中的数据进行分析,还需要对这些维度进行进一步细化, 后续文章我们专门有一篇讲解维度的细化,下面我们先来一个维度细化示例。
1.在Solution Explorer中,双击Dim Date.dim维度。
Dim Date维度将在维度设计器中打开。
Dimension Structure页面包含3个窗格:Attributes, Hierarchies和DSV
2.在DSV窗格中,选中DimDate表中除DateKey以外的所有列,拖到Attributes窗格。该操作会为DimDate表中的每一列创建一个特性。
3. 将键特性从Date Key重命名为Date
4. 将Fiscal Quarter特性从Attributes窗格拖放到Hierarchies窗格。该操作将创建一个层次结构,称为Hierarchy.
将Month Number of Year 特性拖放到Hierarchies窗格的Fisical Quarter特性下面。该操作会在层次结构中创建另一个级别。
类似的,将Date特性拖放到Month Number of Year特性下面。
右击层次结构并选择Rename, 将层次结构重命名为Fiscal Quarter – Month Number of Year, 最终效果如下图:
我们对其他维度也做一些调整。
Dim Currency.dim
Dim Customer.dim
将键特性从 Custom Key 重命名为 Custom
将DSV中来自DimCustomer表的所有列(Custom Key除外)拖放到Attributes窗格
Dim Sales Territory.dim
将键特性从Sales Territory Key 重命名为 Sales Territory
将DimSalesTerritory表中除SalesTerritoryKey和Image以外的所有列从DSV窗格拖放到Attributes窗格。
Dim Product.dim
将键特性从 Product Key重命名为Product
将DimProduct表中除ProductKey和LargePhoto以外的所有列从DSV拖放到Attributes 窗格。
Dim Promotion.dim
将键特性从Promotion Key 重命名为 Promotion
将DimPromotion表中除PromotionKey以外的所有列从DSV窗格拖放到Attributes窗格。
将 English Promotion Category特性从Attributes窗格拖放到Hierarchies窗格。该操作将创建一个新的层次结构。
将Discount Pct特性从Attributes窗格拖放到Hierarchies窗格的English Promotion Category特性下面。该操作会在层次结构中创建一个新的level.
将Promotion特性从Attributes窗格拖放到Hierarchies窗格的Discount Pct级别下面.
重命名层次结构为English Promotion Category – Discount Pct, 如下图
Dim Reseller.dim
将键特性从Reseller Key重命名为Reseller
将DimReseller表中除ResellerKey以外的所有列从DSV窗格拖放到Attributes窗格。
将Annual Revenue特性从Attributes窗格拖放到Hierarchies窗格。改操作将创建一个新的层次结构。
将Number Employees特性从Attributes窗格拖放到Hierarchies窗格的Annual Revenue特性下面。该操作将创建一个新的level, 成为Number Employees
将Reseller特性从Attributes窗格拖放到Hierarchies窗格的Number Employees级别下面
重命名层次结构为Annual Revenue – Number of Employees , 如下图
Dim Employee.dim
该维度具有多维数据集向导创建的3个键特性,与此相对的是,其他维度创建了一个键特性。这是因为,向导在Dim Employee维度内检测到一种父子关系(后续教程介绍)
将Employee Key特性重命名为Employee
将DimEmployee表中除EmployeeKey, ParentEmployeeKey,Sales TerritoryKey和EmployeePhoto以外的所有列从DSV窗格拖放到Attributes窗格。
将Department Name特性从Attributes窗格拖放到Hierarchies窗格。该操作将创建一个新的层次结构。
将Title特性从Attributes窗格拖放到Hierarchies窗格的Department Name层次结构下面。
将Employee特性从Attributes窗格拖放进Hierarchies窗格的Title特性下面。
重命名层次结构为Department Name - Title
四、总结
现在,你已经成功使用SSDT创建了一个多维数据集,并对维度进行了细化。后续将会围绕这个例子继续进行扩展。
最后我们对本篇内容做个总结:
1. 需要了解向导创建多维数据集的顺序 :
Select Creation Meathod (Use existing tables)
-->Select Measure Group Tables
-->Select Measures
-->Select New Dimensions
-->Completing the Wizard
2. Cube设计器的结构:
包含多个tab, 每个tab包含多个窗格,熟悉这些tab和窗格。
3. 初步了解维度细化的一些操作(后续会有专题讲维度操作)
下一篇文章将会介绍如何部署这个项目到SSAS上,以及进行简单的分析。
祝学习进步:)
首发博客园 by MiroYuan,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
转载于:https://www.cnblogs.com/miro/p/5848096.html
BI之SSAS完整实战教程3 -- 创建第一个多维数据集相关推荐
- ssas 数据源mysql_BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备...
上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...
- ssas连接mysql_BI之SSAS完整实战教程1 -- 开篇, BI简介 SSAS简介
文章提纲 商业智能(BI, Business Intelligence)基本概念 SSAS(SQL Server Analysis Services)相关工具(开发.管理和客户端) 总结 一.商业智能 ...
- 【k8s完整实战教程3】k8s集群部署kubesphere
系列文章:这个系列已完结,如对您有帮助,求点赞收藏评论. 读者寄语:再小的帆,也能远航! [k8s完整实战教程0]前言 [k8s完整实战教程1]源码管理-Coding [k8s完整实战教程2]腾讯云搭 ...
- nodejs项目实战教程08——创建静态Web服务器
nodejs项目实战教程08--创建静态Web服务器 什么是Web服务器 目标 1. 访问web服务器上面的网站 1.1 创建服务器 1.2 读取服务器上的资源文件 2. 下载web服务器上的文件 方 ...
- 《BI项目笔记》用Excel2013连接和浏览OLAP多维数据集
<BI项目笔记>用Excel2013连接和浏览OLAP多维数据集 原文:<BI项目笔记>用Excel2013连接和浏览OLAP多维数据集 用Excel2013连接和浏览OLAP ...
- Deep Learning:基于pytorch搭建神经网络的花朵种类识别项目(内涵完整文件和代码)—超详细完整实战教程
基于pytorch的深度学习花朵种类识别项目完整教程(内涵完整文件和代码) 相关链接:: 超详细--CNN卷积神经网络教程(零基础到实战) 大白话pytorch基本知识点及语法+项目实战 文章目录 基 ...
- Dreamweaver2021安装教程与创建第一个网页
下载地址: https://pan.baidu.com/s/13EIiv4etSzjqRrMWDQp4-Q 提取码:b390 一.解压DW2021文件: 二.以管理员身份运行: 三.更改默认安装位置, ...
- SwiftUI实战教程之创建Tinder样式的可左右滑动卡视图(项目含源码)
本文价值与收获 看完本文后,您将能够作出下面的界面 在本文中,我想向您展示如何仅用几行代码就能实现类似Tinder的卡片视图和行为(轻拂以行动). 为此,我们需要执行以下操作: 创建用户视图 创建Na ...
- 【Vue】Vue2创建移动端项目实战教程,创建移动端项目保姆级教程,接上一篇创建Vue2项目(下)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.创建vue2项目 二.移动端适配 1.安装插件flexible (适配移动端) 2.安装 postcss-pxto ...
最新文章
- 修改IE9浏览器默认下载路径
- springcloud alibab + sentinel1.8.1集成文档
- 《Cocos2d 跨平台游戏开发指南(第2版)》一1.9 添加动作到精灵
- 区域增长——初步学习
- 分享到JavaScript实现
- 控制使用期限_学校厨房设备延长其使用寿命的方法有哪些呢?
- Windows8 Metro应用开发之C#(1)- 项目模板(Project Templates)
- 微信开发者工具不显示二维码问题
- 跨域问题深入理解以及解决办法
- 自己写Cache数据库之设计之初——想办法让16颗CPU扛住3w/s的压力?
- 浮点数例外 (核心已转储)_年仅21岁出场过百重新定义边后卫,克洛普把阿诺德打造成进攻核心...
- [转]高性能JavaScript模板引擎原理解析
- 我的 Python3.x 的开始-2018.8.3
- 三维重建开源项目汇总
- 招聘工作总结(精选多篇)
- 英文 WINDOWS XP 专业 精简版
- PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
- Lattice Diamond 学习总结---“疑难杂症”杂篇
- K_MEANS 聚类
- LeetCode 1218 最长定差子序列
热门文章
- 帮朋友招聘赴北京微软ASP.NET开发工程师
- 如何在5美元的Raspberry Pi上构建个人开发服务器
- 软件工程与软件测试基础知识_这是我在软件工程工作九个月中学到的知识
- 数据库更行通知_哪个更好? 数据驱动还是数据通知?
- android layout后还原位置,Android图片框架photoview如何记住所有状态并还原,包括缩放度,缩放后的移动的距离等等...
- fetchMetadata: sill install loadAllDepsIntoIdealTree
- ImportError:cannot import name ‘display‘ File “XX“, line 5, in <module> from IPython import display
- 成为优秀UI设计师需要具备哪些条件?
- 美团即时物流的分布式系统架构设计
- day07 -文件的基本操作