上一篇已经创建了多维数据集的结构。

接下来我们将多维数据集的架构定义发送到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现在只需要做初步了解,后续文章有一篇专题讲解,会把常用的场景都罗列出来)

下一篇起将会逐步深化,针对主题进行深入讲解。

相关文章列表:

首发博客园 by MiroYuan,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。

BI之SSAS完整实战教程4 -- 部署至SSAS进行简单分析的更多相关文章

  1. BI之SSAS完整实战教程7 -- 设计维度、细化维度中 :浏览维度,细化维度

    上篇文章我们已经将Dim Geography维度设计好. 若要查看维度的成员, AS需要接收该维度的详细信息(包括已创建的特性.成员属性以及多级层次结构), 通过XMLA与AS的实例进行通信. 今天我 ...

  2. BI之SSAS完整实战教程6 -- 设计维度、细化维度上:创建维度定义特性关系

    前面我们使用过数据源向导.数据源视图向导.Cube向导来创建相应的对象. 本篇我们将学习使用维度向导来创建维度. 通过前面几个向导的学习,我们归纳一下共同点,主要分成两步 1. 使用某种对象类型的向导 ...

  3. BI之SSAS完整实战教程5 -- 详解多维数据集结构

    之前简单介绍过多维数据集(Cube)的结构. 原来计划将Cube结构这部分内容打散,在实验中穿插讲解, 考虑到结构之间不同的部分都有联系,如果打散了将反而不好理解,还是直接一次性全部讲完. 本篇我们将 ...

  4. BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备

    上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...

  5. BI之SSAS完整实战教程1 -- 开篇, BI简介 & SSAS简介

    文章提纲 商业智能(BI, Business Intelligence)基本概念 SSAS(SQL Server Analysis Services)相关工具(开发.管理和客户端) 总结 一.商业智能 ...

  6. BI之SSAS完整实战教程3 -- 创建第一个多维数据集

    上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube). 文章提纲 使用多维数据集向导创建多维数据集 总结Cube设计器简介 维度细化 总结 一.使用向导创建多维数 ...

  7. Android简易实战教程--第四话《最简单的短信发送器》

    首先配置一个布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln ...

  8. .Net Core 在 Linux-Centos上的部署实战教程(四) ---- 总结

    问题: 1.网站部署上访问不了,可能是防火墙/安全组的原因 2.在后台运行这块上 我查了一些类似的部署博客 好多人都是用守护进程搞的,本人也算Linux小白  不懂这样做的好处是啥  有大佬的话  可 ...

  9. 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)

    用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...

随机推荐

  1. Codeforces 346C Number Transformation II 构造

    题目链接:点击打开链接 = = 990+ms卡过 #include<stdio.h> #include<iostream> #include<string.h> # ...

  2. VC++ 学习笔记(二):VC++与C、VB和C#

    罗马不是一天建成的,VC++的也不是凭空产生的——它一直标榜自己的从C发展而来的.VB好像是专门为了羞辱VC++而创建的.C#呢,是微软类C语言的新秀——其实也不新了.乱吧?貌似挺乱的,其实这里有章可 ...

  3. oracle小数点前零丢失的问题

    1.问题起源        oracle  数据库 字段值为小于1的小数时,使用char类型处理,会丢失小数点前面的0        例如0.2就变成了.2 2.解决办法: (1)用to_char函数 ...

  4. Nao 类人机器人 相关资料

    Nao 类人机器人 相关资料: 1.兄妹 PEPPER :在山东烟台生产,http://www.robot-china.com/news/201510/30/26564.html 2.国内机器人领先公 ...

  5. ubuntu 修改默认root及密码

    安装完Ubuntu后忽然意识到没有设 置root密码,不知道密码自然就无法进入根用户下.到网上搜了一下,原来是这麽回事.Ubuntu的默认root密码是随机的,即每次开机都有一个新的 root密码.我 ...

  6. 通过DOS、SHELL批处理命令加载Lib并编译和打包Java项目(或者运行项目)

    有些时候,需要通过DOS批处理来编译整个项目的JAVA文件:并且编译后还要对Class文件进行打包成jar文件...这还不是最烦的,最烦的是,编译和打包的时候需要依赖其他多个jar文件,困难就这么来了 ...

  7. 使用SQL联合查询来构建临时vo对象的应用

    联合查询: 表1: team球队表 表2:schedule 赛程表 需要数据: 球队名称.主队ID.主队名称.客队ID.客队名称.胜负情况 方法1. Object数组取出列和数值 import jav ...

  8. MFC资源冲突解决方法

    AFX_MANAGE_STATE(AfxGetStaticModuleState())   先看一个例子: 1.创建一个动态链接到MFC DLL的规则DLL,其内部包含一个对话框资源.指定该对话框ID ...

  9. java--遍历自定义数组

    比如像下面这样 for (int i : new int[]{1,4,8}){ System.out.println(i); } 或者这样: for (String i : new String[]{ ...

  10. 百度地图api根据定位获取附近商家(只获取屏幕内)

    根据中心点坐标计算出屏幕2个点(一个最低经纬度,一个最高经纬度),判断这两个点中间的所有坐标的商家..考虑屏幕分辨率之类 移动地图中心点变动,如何异步刷新,判断商家是否已经存在..等... 百度地图a ...