BI之SSAS完整实战教程4 -- 部署至SSAS进行简单分析
上一篇已经创建了多维数据集的结构。
接下来我们将多维数据集的架构定义发送到Analysis Services实例,部署到AS上去。
文章提纲
- 部署和浏览多维数据集
- SSMS使用简介
- 总结
一、部署和浏览多维数据集
1. 部署项目
在Solution Explorer中,直接右键项目名称并选择Deploy.
当部署AS项目时,SSDT首先会构建你已经创建的项目,并检查初步的警告和错误,例如无效的定义。
如果项目定义不存在任何错误,SSDT会将你在项目中所创建的所有对象和定义打包,并将其发送到AS实例。
默认情况下,这些定义会发送到 localhost上的AS实例,创建一个与项目同名的数据库,在项目中所有对象也会在该数据库中创建。
在部署时,SSDT不仅要发送你所创建的对象的所有架构定义,还要发送一条命令以处理该数据库。
如果要部署到其他计算机上,右击该项目并选择Properties
部署过程中会看到一系列状态信息。如果部署成功,在Output中会显示如下信息:
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========
接下来我们可以浏览成功部署的多维数据集。
在多维数据集设计器中,打开 Adventure Works DW2012.cube,切换到Browser页面。
2. Browser页面构成
左侧部分主要包括Cube和相应Cube的量值组及维度信息,如下:
右侧部分有两个水平分隔的窗格。
上面的窗格是Filter窗格,可以在窗口中指定筛选条件。
下面是Report窗格,用于对结果进行分析。
可以将度量值和维度从Metadata窗格拖放到Report窗格来对数据进行分析。
3. 分析示例
我们来做个简单的分析:
1.将Dim Promotion维度的English Promotion Category特性以及Dim Sales Territory维度的Sales Territory Group特性拖放到Report窗格
2.将Sales Amount度量值从Fact Internet Sales度量值组拖放到Report窗格。
现在,将看到与English Promotion Category和Sales Territory Group特性的不同值的交集相对应的度量值。与维度特性值的交集相对应的每个度量值被称为一个单元。
我们再添加一个筛选条件,把欧洲的筛选出来。
切换到语句模式
可以看到,建好cube后,进行多维分析会非常简单和便捷(因为事先已经聚合好了)
二、SSMS 使用简介
基本上SSMS做的事情在SSDT中可以直接做,我们简单说明一下SSMS。
打开SQL Server, 选择 Analysis Services即可,可以把它简单的类比成关系型数据库对应的Database Engine.
找到我们部署的AS项目, 展开后可以发现结构和SSDT类似,就不多做介绍了。
使用MDX查询编辑器进行查询
MDX是一种语言,通过这种语言,可以按照与SQL在查询关系数据库时所用的方法类似的方法查询多维数据库。
MDX可以从Analysis Services多维数据集或维度中提取信息。SQL一般是沿两个轴返回结果,即行和列,而MDX沿多个轴返回数据。
典型MDX查询语法
SELECT [<axis_specification>
[,<axis_specification>…]]
FROM [<cube_specification>]
[WHERE [slicer_specification]]
在SSMS中使用MDX查询类似于使用SQL.
直接点击New Query即可打开查询窗口。
我们运行第一个查询测试一下:查找不同轴的成员以及对应的单元值。
我们可以把刚刚SSDT中生成的复杂查询语句粘贴过来:
SELECT NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS,
NON EMPTY { ([Dim Sales Territory].[Sales Territory Group].[Sales Territory Group].ALLMEMBERS * [Dim Promotion].[English Promotion Category].[English Promotion Category].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION,
MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( { [Dim Sales Territory].[Sales Territory Group].&[Europe] } )
ON COLUMNS FROM [Adventure Works DW2012]) CELL PROPERTIES VALUE,
BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
执行后可以看到相同的结果。
通过可视化界面自动生成的语句可以帮助我们学习,有问题时对照看看是个不错的学习方法。
三、总结
至此,我们将SSAS相关工具的初步使用都做了介绍。
大家需要熟悉SSDT的开发界面,熟悉常用的MDX语法(关于MDX现在只需要做初步了解,后续文章有一篇专题讲解,会把常用的场景都罗列出来)
下一篇起将会逐步深化,针对主题进行深入讲解。
相关文章列表:
- BI之SSAS完整实战教程3 -- 创建第一个多维数据集 @20160907
- BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备 @20160823
- BI之SSAS完整实战教程1 -- 开篇, BI简介 & SSAS简介 @20160816
首发博客园 by MiroYuan,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
BI之SSAS完整实战教程4 -- 部署至SSAS进行简单分析的更多相关文章
- BI之SSAS完整实战教程7 -- 设计维度、细化维度中 :浏览维度,细化维度
上篇文章我们已经将Dim Geography维度设计好. 若要查看维度的成员, AS需要接收该维度的详细信息(包括已创建的特性.成员属性以及多级层次结构), 通过XMLA与AS的实例进行通信. 今天我 ...
- BI之SSAS完整实战教程6 -- 设计维度、细化维度上:创建维度定义特性关系
前面我们使用过数据源向导.数据源视图向导.Cube向导来创建相应的对象. 本篇我们将学习使用维度向导来创建维度. 通过前面几个向导的学习,我们归纳一下共同点,主要分成两步 1. 使用某种对象类型的向导 ...
- BI之SSAS完整实战教程5 -- 详解多维数据集结构
之前简单介绍过多维数据集(Cube)的结构. 原来计划将Cube结构这部分内容打散,在实验中穿插讲解, 考虑到结构之间不同的部分都有联系,如果打散了将反而不好理解,还是直接一次性全部讲完. 本篇我们将 ...
- BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备
上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...
- BI之SSAS完整实战教程1 -- 开篇, BI简介 & SSAS简介
文章提纲 商业智能(BI, Business Intelligence)基本概念 SSAS(SQL Server Analysis Services)相关工具(开发.管理和客户端) 总结 一.商业智能 ...
- BI之SSAS完整实战教程3 -- 创建第一个多维数据集
上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube). 文章提纲 使用多维数据集向导创建多维数据集 总结Cube设计器简介 维度细化 总结 一.使用向导创建多维数 ...
- Android简易实战教程--第四话《最简单的短信发送器》
首先配置一个布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln ...
- .Net Core 在 Linux-Centos上的部署实战教程(四) ---- 总结
问题: 1.网站部署上访问不了,可能是防火墙/安全组的原因 2.在后台运行这块上 我查了一些类似的部署博客 好多人都是用守护进程搞的,本人也算Linux小白 不懂这样做的好处是啥 有大佬的话 可 ...
- 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)
用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...
随机推荐
- 如何启动ResourceManager和NodeManager
登录到bigtop1上,vagrant ssh bigtop1 将/usr/lib/hadoop/libexec/init-hdfs.sh文件内容替换为: #!/bin/bash -ex # # Li ...
- Java 部分排序算法
. import java.io.*;import java.math.*;import java.util.*;public class Algr{ public static int array[ ...
- 飞思卡尔9S12X系列双核中的协处理器XGATE使用方法
http://adi.chinaaet.com/analog/blogdetail/24482.html
- saiku缓存整理
使用saiku的人,肯定都有这么一个经历,查询了一次多维分析数据表,第二次之后就特别快,因为它缓存了结果,可问题是过了一天,甚至几天,来源数据早都更换了,可还是这个缓存结果.问题来了,缓存不失效! 那 ...
- iframe高度宽度自适应(转)
http://www.cnblogs.com/snandy/p/3900016.html 跨子域的iframe高度自适应 完全跨域的iframe高度自适应 同域的我们可以轻松的做到 1. 父页面通过i ...
- WPF国际化(多语言)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- python 跳出嵌套循环方法
class LoopError(Exception):pass rs = '' try: for i in range(1, 3): print i rs = 'one ' if i == 1: fo ...
- Selenium自动化测试项目案例实践公开课
Selenium自动化测试项目案例实践公开课: http://gdtesting.cn/news.php?id=55
- 将j-ui(dwz)套用到thinkphp注意事项
目前我用的 thinkphp 版本是 3.1.3 J-UI dwz 版本好像是 1.4 现在 j-ui有 thinkphp的例子了,请尽量以他们原创为主,我这里都是一些自己搜集和自己钻研的土办法, ...
- EDM备忘录:触发式邮件订阅和退订功能介绍
一般来说,有触发式邮件订阅和退订功能是邮件模板设计中必不可少的两项功能,下面博主为大家介绍一下. 若客户在订阅后不想再收到这类邮件即可选择退订,将不再收到该IP地址的推广邮件,避免客户在继续收到这类邮 ...