求助大神这是什么歌ssas中cube问题,求大神解答

&MS SQL Server 2008 SSAS cube 高级开发
秒后自动跳转到登录页
(奖励10下载豆)
快捷登录:
举报类型:
不规范:上传重复资源
不规范:标题与实际内容不符
不规范:资源无法下载或使用
其他不规范行为
违规:资源涉及侵权
违规:含有危害国家安全等内容
违规:含有反动/色情等内容
违规:广告内容
详细原因:
任何违反下载中心规定的资源,欢迎Down友监督举报,第一举报人可获5-10下载豆奖励。
Oracle数据库DBA专题
Oracle错误一览表
《轻松学Oracle数据
SQL.Server 2005 数
Oracle DBA日常维护
数据库性能调优.原理
SQL基础教程(完整版
MS SQL Server 2008 SSAS cube 高级开发
上传时间:
技术分类:
资源评价:
(3位用户参与评价)
已被下载&67&次
Chapter 1 shows how to design a relational data mart to act as a source forAnalysis Services.Chapter 2 covers setting up a new project in BI Development Studio and buildingsimple dimensions and cubes.Chapter 3 discusses more complex dimension design problems such as slowlychanging dimensions and ragged hierarchies.Chapter 4 looks at measures and measure groups, how to control how measuresaggrega...
51CTO下载中心常见问题:
1.如何获得下载豆?
1)上传资料
2)评论资料
3)每天在首页签到领取
4)购买VIP会员服务,无需下载豆下载资源
5)更多途径:
2.如何删除自己的资料?
下载资料意味着您已同意遵守以下协议:
1.资料的所有权益归上传用户所有
2.未经权益所有人同意,不得将资料中的内容挪作商业或盈利用途
3.51CTO下载中心仅提供资料交流平台,并不对任何资料负责
4.本站资料中如有侵权或不适当内容,请邮件与我们联系()
5.本站不保证资源的准确性、安全性和完整性, 同时也不承担用户因使用这些资料对自己和他人造成任何形式的伤害或损失
下载1313次
相关专题推荐
无论您是一位SQL sever的新手,或是一
商业智能也称作BI,通常被理解为
今天的商业环境要求不同类型的数据库
随着网络服务的不断发展,站点的访问
基础的入门视频演示,从安装CentOS5.
本视频专题共99集,由郝斌老师进行讲
本视频教程由韩顺平老师讲解,采用的
数据库作为现代程序开发的基石,而在
OCP是Oracle DBA认证课程,一个OCP工
本专题为东南大学的数据库教学视频全
本专题为马士兵所讲的oracle视频,共
价值1.67万的2012最新Oracle课程(老
本专题为《SQL Server 2008完全学习手
数据库在各大行业中都有着举足轻重的
本专题为Oracle DBA基础教学视频,简
SQL Server视频教程,万事开头难,想
本周下载热点
意见或建议:
联系方式:
您已提交成功!感谢您的宝贵意见,我们会尽快处理关于SSAS中从多个cube中查询数据
关于SSAS中从多个cube中查询数据
前提:涉及的cube在同一数据库中,维度共享(最好)
SSAS中提供一条mdx语句同时从多个cube中查询数据的功能
实现该功能的就是lookupcube函数,当然前提是这两个cube在同一个数据库中,共享维度(不是共享维度能不能查还没有试验过)
lookupcube函数的语法如下:
LookupCube(Cube_Name, Numeric_Expression )
LookupCube(Cube_Name, String_Expression )
其中Cube_Name是指查询的多维数据集
Numeric_Expression是指数值表达式,即一个字符串
关于该函数MSDN上这样解释道:
如果指定了某个数值表达式,则 LookupCube 函数在指定的多维数据集内计算指定的数值表达式并且返回得到的数值。
如果指定了某个字符串表达式,则 LookupCube 函数在指定的多维数据集内计算指定的字符串表达式并且返回得到的字符串。
LookupCube 函数在源多维数据集(对其执行包含 LookupCube 函数的 MDX 查询)所在的数据库内对多维数据集进行处理。
重要提示:
因为当前查询的上下文不会延续到将要查询的多维数据集,所以必须在数值或字符串表达式内提供任何必要的当前成员。
其中最后一项提示很重要,它说明了在查询时不能将我们查询context相关的一些关键信息交由lookupcube函数来处理,而是要在函数的外面处理好了以后再交由函数查询cell值。
什么意思呢,在这里举一个例子来说明一下:
如果cube中有“产品”维,度量有 “单价”和“销量”,现在我们要查询出产品对应的总销售额。
在同一个cube中,我们可以如下来查询:
view plaincopy to clipboardprint?
with Member [Measures].[sales]&&
&([Measures].[价钱], [产品].[Name].currentmember)*([Measures].[数量], [产品].[Name].currentmember)&&
select {[Measures].[价钱],[Measures].[数量],[Measures].[sales]} on 0&
{[产品].[Name].[Name],[产品].[Name]} on 1&
from [Sales]&
with Member [Measures].[sales]
&([Measures].[价钱], [产品].[Name].currentmember)*([Measures].[数量], [产品].[Name].currentmember)
select {[Measures].[价钱],[Measures].[数量],[Measures].[sales]} on 0
{[产品].[Name].[Name],[产品].[Name]} on 1
from [Sales]
当然这里的查询有些地方是多余的,在这里只是为了对比说明一下问题!
在上面的例子中currentmember即是指循环时的执行上下文,所以它如果出现在Numeric_Expression或者String_Expression中,将不能正确的执行
即如下的查询是错误的:
view plaincopy to clipboardprint?
with Member [Measures].[sales]&&
LookupCube(&[profit]& &([Measures].[Price], [产品].[Name].currentmember)*([Measures].[Number], [产品].[Name].currentmember)&)&&
select {[Measures].[价钱],[Measures].[数量],[Measures].[sales]} on 0&
{[产品].[Name].[Name],[产品].[Name]} on 1&
from [Sales]&
with Member [Measures].[sales]
LookupCube(&[profit]& &([Measures].[Price], [产品].[Name].currentmember)*([Measures].[Number], [产品].[Name].currentmember)&)
select {[Measures].[价钱],[Measures].[数量],[Measures].[sales]} on 0
{[产品].[Name].[Name],[产品].[Name]} on 1
from [Sales]
此时假设[Measures].[Price],[Measures].[Number]在多位数据集[profit]中定义,而维度和剩余的度量是在[Sales]中
上述的查询将不会得到正确的结果数据,原因是lookupcube将无法解释执行上下文currentmember
那么正确的查询是什么样呢?
应该在lookupcube执行前将currentmember解释完,然后再执行该函数,如下:
view plaincopy to clipboardprint?
with Member [Measures].[sales]&&
&as lookupcube(&[profit]&,&&
&&([Measures].[Price],& + [产品].[Name].currentmember.uniqueName+ &)*&&
&([Measures].[Number],& + [产品].[Name].currentmember.uniqueName+ &)&)&&
select {[Measures].[价钱],[Measures].[数量],[Measures].[sales]} on 0&&
{[产品].[Name].[Name],[产品].[Name]} on 1&&
from [Sales]&
with Member [Measures].[sales]
&as lookupcube(&[profit]&,
&&([Measures].[Price],& + [产品].[Name].currentmember.uniqueName+ &)*
&([Measures].[Number],& + [产品].[Name].currentmember.uniqueName+ &)&)
select {[Measures].[价钱],[Measures].[数量],[Measures].[sales]} on 0
{[产品].[Name].[Name],[产品].[Name]} on 1
from [Sales]
此时,每一次循环currentmember将由外部解释完后组装成一个字符串传给lookupcube去执行。
上面的查询,如果在[profit]中也存在对应的“[朋友].[Name]”Hierarchy.将会看到正确的结果数据
currentmember执行上下文在这里提供了很好的解决方法来处理,但是对于其它类的就要稍微复杂一些,这里就不一一去介绍了!如:where轴的处理、维度节点遍历……
同时这里还只是简单的需求,至于更复杂的跨cube查询将结合相关的字符串函数来完成,这部分有时间了再总结!
另:lookupcube目前只在msas中发现了该函数,在mondrian、Essbase中都还没有发现(至少本人没有发现),不知道是否有类似的功能函数。
作者:slob
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bendanlzh/archive//5116312.aspx
> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!
1 ALTER PROCEDURE p_resource_info_select_by_classification_id_and_keyword 2 @classification_id INT, 3 @keyword NVARCHAR(20) 4 AS 5 BEGIN 6 SELECT * FROM t_resource_info WHERE 7 (', ...
弄了一个小时的查找,对时间日期的查询,虽然用BETWEEN AND 但总不能找到当日的时间,后来发现是日期后面还带有好多&小弟弟&,晕到!看T-SQL ,MSDN,总找到个比较好的查询方法,现贴出来让大家鄙视一下,有好的方法也不要 藏起来哦!
去年做了一个数据仓库的项目,其中涉及到了CUBE数据级权限的控制.在网上找这方面的资料,找到一个[BI] 通用数据级权限控制解决方案的实现(二):Cube中的角色设置与数据级权限控制.根据这个大牛的思路,做完之后发现有几个问题: 1. 传递给CUBE的用户必须是域用户或者数据库服务器WINDOWS用户.如果BI系统不是用的AD域认证而是传统的FORM认证,那 ...
申明:本文转载自/microsheen/archive//545726.html
在SSAS(SQL Server Analysis Services)中构建Cube和编写MDX的时候,我们很容易被一些名词弄糊涂,比如:Dimension(维度),Measures Dimension(度量维 ...
关键字:Cube,导出,关系型数据库,sqlserver
实际工作中,可能遇到某些场景,需要把做好的Cube里面的数据,导出到sqlserver等等数据库中.这个时候问题就出现了,Cube存的是所谓的多维数据,但是关系型数据库中存的是二维数据表,当执行这个操作的时候(SSIS),就会报错: SSIS package &Package1. ...
UNION 运算符是将两个或更多查询的结果组合为单个结果集
该结果集包含联合查询中的所有查询的全部行.这与使用联接组合两个表中的列不同.
使用 UNION 组合查询的结果集有两个最基本的规则:
1.所有查询中的列数和列的顺序必须相同.
2.数据类型必须兼容
a.UNIO ...
上一篇文章说了如何写一个控制数据级权限的DLL,并且放到Cube中去.那么这个DLL放到Cube里了,怎么让他起作用呢?这就是我们这节要讲述的内容了. 用一句话概括说,在Analysis Services中,我们是通过控制角色的维度数据,来让上一节的DLL起作用的.那么具体如果操作呢? 首先我们先建立一个角色,角色名字是无所谓的,在这里我们将之称为DataS ...
SQL SERVER中GROUPING SETS,CUBE,ROLLUP 前言 全文我们将使用一个CTE语句作为基础数据: with test as ( select N'LeeWhoeeUnisersity' as name,N'数据库' as category, 30 as totalcount union all select N'LeeWhoeeUn ...【SSAS】Model-First Cube 设计的最佳实践 - 陈希章 - 博客园
【备注】这是最近在一个讲座中的例子,整理出来给大家参考 & 相关名词解释 SSAS: SQL Server Analysis Service。 这是微软SQL Server BI(商务智能)平台的一个核心组件,它可以基于UDM(统一维度模型)构建多维数据集和挖掘模型,支持OLAP(在线分析)和Data Mining(数据挖掘)
Cube: 多维数据集 这是SSAS项目设计的一个核心目的,创建多维数据集,以便支持OLAP分析。对于Cube而言,不再有行和列的概念,取而代之的是,维度和度量值(以及度量值组) & Model-First: 模型先行 这是SSAS从2005这个版本开始支持的一个新特性,也可以说是一个设计Cube的策略。Model-First指的是,在没有数据仓库的情况下,先设计模型(维度和度量值,以及他们之间的关系),然后可以根据这个模型,反向生成数据仓库。 与该策略对应的另外一个策略是:Database-First(数据库先行),也就是说,在设计Cube之前,现有一个完整的数据仓库,该策略是指根据数据仓库的结构生成Cube。 这两种策略各有优缺点。Database-first较为简单,能够很快生成Cube,快速验证和开始工作。而Model-First则更加适合于现实的工作中,因为很多时候,我们在做BI项目的时候,可能数据仓库是并不存在的。而且过早地关注数据仓库的物理设计,也不是一个非常好的方案。我们应该是先关注分析需求,并且将这些需求转换为我们的模型。 & 这一篇文章用一个例子演示了如何使用Model-First策略设计Cube,并且反向工程生成数据仓库。 1.新建一个SSAS项目
2.启动新建Cube向导(在Cubes文件夹处,右键)
选择Creation Method,“ Create an empty cube”。注意,这里也可以根据模板创建。这两种都属于是Model-First的方式
由于目前没有数据库,所以下图中只能选择“None”
接下来给Cube命名,完成操作
3.创建度量值 度量值指的是我们在Cube里面需要进行分析的一些基础指标。本例中,我们假设要分析一个销售业务,有两个度量值,销售额和数量。 首先,创建一个度量值组(Measure Group),它是用来组织度量值的
将度量值组命名为Sales,并且继续创建两个度量值,SalesAmount和Quantity
4.创建并编辑维度 维度代表了我们在Cube中分析业务的角度。本例中,我们创建两个维度,时间维度和客户维度
首先,创建时间维度(注意,时间维度是一个很特殊的维度,有专门的向导)
定义时间段以及我们关注的时间信息。这个时间段将决定后续生成数据的范围。
我们甚至还可以定义多个日历
接下来,我们创建一个客户维度.与时间维度不同的是,客户维度一般需要我们自己定义。
【注意】这里也可以使用模板,但为了演示如何设计维度,我不用模板
【注意】这里所谓的SCD,指的是渐变维度。该内容的讨论超出了本文的范围,有兴趣的朋友请参考联机丛书或者我其他的文章。
通过上面的步骤,我们已经创建了一个维度,我们还需要为该维度添加一些属性(Attribute),例如本例中,我们添加“国家”,“地区”,“城市”,“性别”四个属性,以便利用它们进行分析。
【注意】这里应该还需要创建层次(Hierarchies),以便提供性能。限于篇幅,本文不做这个步骤 & 5.将维度与Cube关联 维度建立好之后,需要将它与Cube进行关联。我们可以先回到Cube Design界面
在左下角的方块区域,可以添加维度
将两个维度都添加进来
光这样做还是不够的,我们需要设置维度与度量值的关系。切换到Dimension Usage界面
点击每个维度右侧那个小按钮,设置关系为”Regular” ,下图是时间维度
下图是客户维度
6.生成数据库 到上面这样,我们就完成了Cube的设计(当然,我们只是做了最简单的一个范例),那么如何根据这个设计,生成我们需要的数据仓库呢 首先,在SQL Server中创建一个空的数据库,例如
然后,回到BI Studio中来,在顶部菜单中选择“Database”==&”Generate Relational Schema”
点击“New…”来创建一个新的数据源
再次点击“New…”,指定我们的服务器和数据库
点击“Next”
【注意】这里选择“Use the service account”
点击“Finish”
点击“Next”
点击“Next”
点击“Next”
点击“Finish”
这样就生成好了我们需要的数据库结构。我们可以在SSMS中查看得到
更加特别的地方是,Time这个维度表里面还包含了数据
当然,Customers表和Sales表目前是没有数据的,那就需要我们通过设计SSIS,将数据从业务数据库中抽取过来。这个内容已经超出了本文的范围。 & 7. 部署项目
我们可以将这个设计好的SSAS项目部署起来看看效果如何
部署成功之后,下图就可以看到我们熟悉的OLAP分析的界面了SSAS部署时发生的问题(元数据管理器中存在错误)
【娱乐休闲】
【生活服务】
【电脑网络】
【文体教育】
【行业部门】
文章浏览→→→SSAS部署时发生的问题(元数据管理器中存在错误)SSAS部署时发生的问题(元数据管理器中存在错误)
包括处理数据挖掘结构的过程中,产生的“元数据管理器中存在错误”“时间 ~MC”多维数据集所引用的 ID 为“时间”、名称为“时间”的维度不存在。 元数据管理器中存在错误。从文件“\\?\C:\Program Files\Microsoft SQLServer\MSSQL.2\OLAP\Data\SSAS_Dtrade.0.db\时间 ~MC.3.cub.xml”加载 时间~MC cube时出错类似这样的错误,我的问题解决了,没有保存错误信息,所以借用别人的用下&这个问题搞了很久才找到解决办法,把方法拿出来供大家分享:It is SSAS_Dtrade which is corrupted, we can delete this ASdatabaseforcibly in such scenario----------1. Stop SSAS service2. locate AS data folder (C:\Program Files\Microsoft SQLServer\MSSQL.2\OLAP\Data)3. delete SSAS_Dtrade.0.db (folder) and SSAS_Dtrade.0.db.xml(file)4. restart SSAS serviceI hope this can help people who get the same problem.所属分类:→&&&&作者:新浪博客&&&&时间: 0:00:00
All Right Reserved

我要回帖

更多关于 求助大神这是什么歌6 的文章

 

随机推荐