对Microsoft SQL Server(2008) Analysis Services(以下称SSAS) 多维数据集运行多维表达式 (MDX) 查询时,会返回这个错误消息:XXX Cube不存在,或者尚未处理.其中XXX表示多维度数据集的名称.因调用Cube数据集数据至少得有Cube读取权限,导致该问题发生的原因就是无Cube数据集的权限. 以下为我在项目中对应问题的截图: 对于处理此类问题,我们首先需要查看Microsoft Analysis Server(以下称AS)对应的Cube下公共…
开发过SSAS中CUBE的朋友,肯定都知道维度用法中的多对多关系, 这篇文章不想详细阐述多对多关系在CUBE中的结构,详情请在网上寻找CUBE多对多关系的介绍资料. 下面是是一个典型的CUBE中多对多关系的结构图: 可以看到这个多对多关系发生的关键就是中间事实表Fact_PeopleVehicle的DIM_PeopleID字段和DIM_VehcileID字段是多对多的关系,从而使得维度表DIM_Vehcile和事实表Fact_People_Money形成了多对多的关系.然而由于事实表Fact_P…
去年做了一个数据仓库的项目,其中涉及到了CUBE数据级权限的控制.在网上找这方面的资料,找到一个[BI] 通用数据级权限控制解决方案的实现(二):Cube中的角色设置与数据级权限控制.根据这个大牛的思路,做完之后发现有几个问题: 1. 传递给CUBE的用户必须是域用户或者数据库服务器WINDOWS用户.如果BI系统不是用的AD域认证而是传统的FORM认证,那么,BI里的用户需要对应一个WINDOWS用户. 2. 另外的WEB程序里保存对cube的角色权限之后,用户访问cube数据的权限控制并不能…
SSAS——基础   一.Analysis Services Analysis Services是用于决策支持和BI解决方案的数据引擎.它提供报表和客户端中使用的分析数据. 它可在多用途数据模型中创建高性能查询结构,业务逻辑和KPI(企业关键绩效指标),该数据模型可由任何支持Analysis Services作为数据源的客户端程序访问. 多用途数据模型的创建:使用SQL Server Data Tools,并选择则表格或者多维和数据挖掘项目模板. 多用途数据模型的数据填充:通常是数据仓库 多为数…
有两个事实表,因此就有两个度量值组,并且向导将为非维度键的事实表中的每一个数值列创建一个度量值.由于我们这里不需要那么多,所以只选择部分度量值.另外要注意,度量值的名称源于事实表中的列,所有名称由可能相同.但是在多维数据集中,由于度量值的名称必须是唯一的,所以向导会在重复的度量值名称后添加所属的度量值组名称. 下一步的时候多维数据集的向导识别了度量值组即之前的事实表与之相关的维度表,因此这里全部会显示出来. 为多维数据集取一个名称并保存. 历年理化指标分析Cube 最终效果:区域维度:地州,专县…
在SSAS(SQL Server Analysis Services)中构建Cube和编写MDX的时候,我们很容易被一些名词弄糊涂,比如:Dimension(维度),Measures Dimension(度量维度),Measure(度量),Hierarchy(层次结构),Attribute hierarchy(属性层次结构),Level(级别),Cell(单元),Member(成员),Member Property(成员属性),Set(集),Turple(元组)等等.要想弄清楚这些名词,就必须理…
本节建立: 历年的初烟水分均值变化分析Cube:区域维度:地州,专县时间维度:年等级维度:大等级,小等级指标:水分均值 数据源视图: 数据处理: ) ) DELETE FROM T_QualMoisture_Middle WHERE V_Produce_ID + V_Batch_ID NOT IN ( SELECT ProductionNo + FormulaNo FROM vRoastingPlan ) 维度用法: 分区: 最终浏览器效果:…
之前简单介绍过多维数据集(Cube)的结构. 原来计划将Cube结构这部分内容打散,在实验中穿插讲解, 考虑到结构之间不同的部分都有联系,如果打散了将反而不好理解,还是直接一次性全部讲完. 本篇我们将详解Cube结构, 介绍Cube结构的每个部分,让大家对Cube结构能有总体的把握. 由于多维数据集的结构和MDX有很强的联系, 因此会有部分内容涉及到MDX,大家只要大概能看懂就行了,后续会有专门的MDX 专题. 文章提纲 概述 度量值和度量值组 维度 总结 概述 SQL Server Analy…
上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube). 文章提纲 使用多维数据集向导创建多维数据集 总结Cube设计器简介 维度细化 总结 一.使用向导创建多维数据集 在Analysis Services中,可以通过3种方法构建多维数据集:自上而下,自下而上或者基于一个空多维数据集. 一般我们从现有的关系数据库自下而上构建. 在自下而上方式中,需要一个DSV作为多维数据集的构建基础. AS中的多维数据集(Cube)包括两部分: 1. 一个或多个度量值组,其数…
在 CUBE 设计过程中有一个非常重要的点就是定义维度与度量值组关系,维度的创建一般在前,而度量值组一般来源于一个事实表.当维度和度量值组在 CUBE 中定义完成之后,下一个最重要的动作就是定义两者之间的关系.在前面几篇文章中也已经看到了如何将度量值组和维度通过哪些维度属性进行关联的操作,但是那些关联通常都是 Regular 类型的,属于直接的普通的关联. 但是实际上除了 Regular 之外,还有 Fact, Referenced, Many to Many 和 Data Mining(数据挖…
在熟悉完下面这三种维度的创建方式之后,就可以开始创建我们的第一个 Cube 了. SSAS 系列 - 自定义的日期维度设计 SSAS 系列 - 基于雪花模型的维度设计 SSAS系列 - 关于父子维度的设计 我们将使用下面的这些脚本来创建一些维度表和事实表,数据源的来源是 AdventureWorksDW2012,但由于数据列太多因此我精简了一些表并且自定义了 DimDate 表. USE BIWORK_SSIS GO SET NOCOUNT ON IF OBJECT_ID('FactIntern…
在第一篇中简单介绍了PowerShell,包含基本的一些命令,以及如何打开PowerShell,并且导航到SSAS对象.第二篇中学习了如何使用变量根据当前日期创建SSAS备份,以及如何运行MDX和XMLA脚本. 原文地址: http://www.mssqltips.com/sqlservertip/2980/using-powershell-for-ssas-to-check-service-status-and-database-availability/ 在这一篇中,主要介绍以下几个话题:…
在 SSAS 系列 - 实现第一个 Cube 以及角色扮演维度,度量值格式化和计算成员的创建 中主要是通过已存在的维度和事实数据创建了一个多维数据集,并同时解释了 Role-Playing Dimension 角色扮演维度,计算成员,计算成员格式化等内容.在这篇文章中主要是分析和理解在多维数据集设计过程中的聚合函数,对应不同类别的度量值根据需求的不同在聚合函数的选择上也会有所不同. 继续使用在上一篇 SSAS 文章中创建的示例,在 BIWORK_FirstCube 中能看到有两组度量值维度组和各…
SQL Server 2012 中提供了开发 SSAS 项目的两种模型,一种是新增加的 Tabular Model 表格模型,另一种就是原始的 Multidimensional Model 多维模型. 在这里演示的是 Multidimensional Model,如果要了解 Tabular Model 表格模型,请参看 - http://www.cnblogs.com/biwork/archive/2013/05/22/3093896.html 下面使用的环境是 VS2012 + SSDT 集成…
VS:SSAS设计多维设计模型: 数据源视图.dsv: 数据源视图表,名称命名规范:vw_表名(事实表_F_/维表_D_),…
转自 http://www.cnblogs.com/dyufei/archive/2009/11/11/2573975.html CUBE 运算符生成的结果集是多维数据集.多维数据集是事实数据(即记录个别事件的数据)的扩展.扩展是基于用户要分析的列建立的.这些列称为维度.多维数据集是结果集,其中包含各维度的所有可能组合的交叉表格. CUBE 运算符在 SELECT 语句的 GROUP BY 子句中指定.该语句的选择列表包含维度列和聚合函数表达式.GROUP BY 指定了维度列和关键字 WITH…
SSRS Report 的数据源可以直接放问SSAS 的Cube. 当报表的数据源设置成下图: 这样设置后,report 能够正常访问 Cube 并打开Report. 但是,如果我们需要添加数据驱动的订阅时,就会报错: "Data-driven subscriptions cannot be created because the credentials used to run the report are not stored, the report is using user-defined…
1.用 CUBE 汇总数据 CUBE 运算符生成的结果集是多维数据集.多维数据集是事实数据的扩展,事实数据即记录个别事件的数据.扩展建立在用户打算分析的列上.这些列被称为维.多维数据集是一个结果集,其中包含了各维度的所有可能组合的交叉表格. CUBE 运算符在 SELECT 语句的 GROUP BY 子句中指定.该语句的选择列表应包含维度列和聚合函数表达式.GROUP BY 应指定维度列和关键字 WITH CUBE.结果集将包含维度列中各值的所有可能组合,以及与这些维度值组合相匹配的基础行中的聚…
转自:https://www.cnblogs.com/nikyxxx/archive/2012/11/27/2791001.html 聚集函数:GROUPING 用于汇总数据用的运算符: ROLLUP 1.用 CUBE 汇总数据 CUBE 运算符生成的结果集是多维数据集.多维数据集是事实数据的扩展,事实数据即记录个别事件的数据.扩展建立在用户打算分析的列上.这些列被称为维.多维数据集是一个结果集,其中包含了各维度的所有可能组合的交叉表格. CUBE 运算符在 SELECT 语句的 GROUP B…
如上图所示,这是由三个维度构成的一个OLAP立方体,立方体中包含了满足条件的cell(子立方块)值,这些cell里面包含了要分析的数据,称之为度量值.显而易见,一组三维坐标唯一确定了一个子立方. 多位模型的基本概念介绍:  立方体:由维度构建出来的多维空间,包含了所有要分析的基础数据,所有的聚合数据操作都在立方体上进行.  维度:就是观察数据的一种角度.在这个例子中,路线,源,时间都是维度,  这三个维度构成了一个立方体空间.维度可以理解为立方体的一个轴.要注意的是有一个特殊的维度,即度量…
本系列文章主要是结合实际项目,加上自己的总结,整理出来的一系列项目笔记,涉及微软SQL Server2008中商务智能开发中的SSAS.SSIS模块:  准备工作: <BI项目笔记>基于雪花模型的维度设计 <BI项目笔记>数据源视图设置 <BI项目笔记>创建标准维度.维度自定义层次结构 <BI项目笔记>创建父子维度 <BI项目笔记>创建时间维度(1) <BI项目笔记>创建时间维度(2) <BI项目笔记>创建多维数据集Cub…
一个人力资源咨询集团通过网络爬虫采集手段将多个知名招聘网站上发布的求职和招聘等信息准实时采集到自己的库里,形成一个数据量浩大的招聘信息库,跟踪全国招聘和求职的行业.工种.职位.待遇等信息,并通过商业智能系统,开展职业职位供求及趋势等相关统计分析.这家公司竟然用SSAS OLAP Cube多维数据集容纳如此数量级的数据,广告维成员包含了每一个广告条目.该商业智能团队的开发人员咨询如何用MDX求解薪水中位数.四分位数(Median,Quartile)等. 以下是对Median.Q1.Q3等问题的MD…
一个人力资源咨询集团通过网络爬虫采集手段将多个知名招聘网站上发布的求职和招聘等信息准实时采集到自己的库里,形成一个数据量浩大的招聘信息库,跟踪全国招聘和求职的行业.工种.职位.待遇等信息,并通过商业智能系统,开展职业职位供求及趋势等相关统计分析.这家公司竟然用SSAS OLAP Cube多维数据集容纳如此数量级的数据,广告维成员包含了每一个广告条目.该商业智能团队的开发人员咨询如何用MDX求解薪水中位数.四分位数(Median,Quartile)等. 以下是对Median.Q1.Q3等问题的MD…
上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很可能需要处理多个关系数据源. 我们可以通过创建一个DSV提供一个整合的单源视图,其中仅包括你定义的一个或多个数据源中感兴趣的数据.数据源和数据源视图构成了后面要介绍的维度和多维数据集等结构的基础. AS2012 支持的主要关系数据源包括SQL SERVER, Oracle, DB2,Teradata…
优化前注意事项 1.数据质量.数据仓库中维度表的数据质量要严格保证.比如店仓的大区.省区.管理城市等属性和店仓代码没有一对多的上下级关系,这样在设计店仓维度时,就无法建立有效的层次结构.这会拖慢查询时的性能. 2.对报表分类.可按报表的使用方式和体积对用户报表进行分类. 1)   有的报表侧重分析,维度汇总程度较高,数据量不是特别大,可以在门户中直接使用. 2)   有的报表要求显示全部明细数据,只是为了汇出至Excel文件进行加工,建议利用SSRS制作报表,然后将此报表以Excel格式发送至指…
原文:SSAS系列——[07]多维数据(查询Cube) 1.什么是MDX? MDX叫做"多维表达式",是一种查询语言,是一种和SQL类似的查询语言,它基于 XML for Analysis (XMLA) 规范,并带有特定于 SQL Server Analysis Services 的扩展. 2.MDX与SQL有什么区别? 学东西,总是喜欢"先入为主",在学习MDX的时候我第一个想法是:MDX与SQL有什么区别?其实搞清楚这个问题后,MDX是什么也就算搞清楚了.SQL…
原文:SSAS系列--[06]多维数据(创建Cube) 1.文件类型说明 项目定义文件 (.dwproj).项目用户设置 (.dwproj.user).数据源文件 (.ds).数据源视图文件 (.dsv).多维数据集文件 (.cube).分区文件 (.partitions).维度文件 (.dim).挖掘结构文件 (.dmm).数据库文件 (.database).数据库角色文件 (.role).第一次启动,纪念贴. 图 启动界面 留念 图 默认文件夹中内容 2.创建数据源.数据源视图.维度.定义和…
原文:SSAS系列--[03]多维数据(多维数据集对象) 1.什么是Cube? 简单 Cube 对象由基本信息.维度和度量值组组成. 基本信息包括多维数据集的名称.多维数据集的默认度量值.数据源和存储模式等.维度是多维数据集中使用的实际维度组.所有维度都必须先在数据库的维度集合中定义,然后才能在多维数据集中引用.度量值组是多维数据集中的度量值集.度量值组是具有常见数据源视图和维度集的度量值的集合.度量值组是度量值的处理单元:可先对度量值组进行单独处理,然后再浏览.这个概念MSND解释的非常清楚,…
Microsoft SQL Server SSAS的本地多维数据集(即Local Cube,也叫脱机多维数据集)和本地挖掘模型(Local Mining Models)允许在客户端机器上脱机执行离线分析(多维分析与数据挖掘),从而对有离线分析要求(能够在断开网络连接的情况下脱离SSAS服务器进行数据分析)的软件开发提供了一种备选手段. 本地多维数据集联机/脱机示意 1.创建本地多维数据集 创建本地多维数据集有多种方式,按默认约定生成的本地文件扩展名为*.cub. 1)  从SQL Server服…
开篇介绍 对于维度成员和事实数据直接的关系看到更多的可能还是一对一,一对多的关系.比方在事实维度(或退化维度)中一个订单和明细号组合而成的ID,对应的就是事实表中的一条数据,这就是一对一的关系.比方说在产品维度中,一个产品维度成员可能对应着多个事实数据成员,这就是一对多的关系.说简单点,就是事实表的外键引用了维度表的主键,形成了这种关系. 下面的这个例子就是一种多对多的情况,通常情况下,如果维度和度量值组中间是多对多的关系,那么在它们之间就需要创建一个中间事实表. 这个中间事实表的主键在数据仓库…