OLAP
文章平均质量分 76
robot1980
it民工
展开
-
MDX函数使用介绍(四):字符串函数&元组函数
MDX函数使用介绍(四):字符串函数&元组函数 字符串函数 函数 描述 Calcula原创 2007-12-06 09:35:00 · 926 阅读 · 0 评论 -
翻译介绍15个经典的MDX查询-06&07
06. 那些产品构成销量总量最少的20%?查询Listing 6 用BottomPercent()返回仅构成Total unit sales 20%的最多的产品项,也就是说,这些产品的unit sales 最小。查询用关键字Non Empty排除了没有销售量的产品。需要注意的是,Non Empty跟Filter()与IsEmpty()的组合使用(见Listing 3)略有不同,因为Non Em原创 2007-12-06 09:47:00 · 2027 阅读 · 0 评论 -
翻译介绍15个经典的MDX查询-02and03
02. 所有商店中销售前10名的产品类别有哪些?Listing 2 直接利用TopCount()函数查询销售前10名的产品。(这是一种最直接的方法,TopCount()函数本身自带排序(降序)的功能) LISTING 2: Determining Top 10 Product Categories说明:查询销售前10名的产品类别 select {[Unit Sales]} o原创 2007-12-06 09:43:00 · 2619 阅读 · 0 评论 -
MDX函数使用介绍(三):聚合函数
MDX函数使用介绍(三):聚合函数 聚合函数 函数 描述 AddCalculatedMembers原创 2007-12-06 09:32:00 · 1991 阅读 · 0 评论 -
优化Set操作——SUM中的CrossJoin
今天看了《MDX Solutions with Microsoft SQL.Server Analysis Services 2005 and Hyperion Essbase 2nd Edition》书中关于优化SET操作的内容,并根据书中的内容作了一些测试,而测试结果有些符合书中的观点,有些则完全不同,真是让人有些意外。书中优化Set操作的主要观点是:1. 优化Set操作的关键在于:把大的SE原创 2007-12-06 10:49:00 · 795 阅读 · 0 评论 -
Where vs. Subselect/Subcube
Where和Subselect/Subcube在MDX都是经常使用的语句,有的时候它们能起到相同的效果,而有的时候却又不能,这究竟是什么原因呢?本文将尝试就这些情况作一些分析(不对之处,欢迎大家及时指出)。以下MDX语句可以在SSAS(打了SP2补丁的版本)的示例库:Adventure Works中运行。 相同和不同Where和Subselect/Subcube都能够限定计算的范围。请看下面的两个原创 2007-12-06 10:47:00 · 543 阅读 · 0 评论 -
在MDX中处理边界情况
本文来源于《MDX Solutions with Microsoft SQL.Server Analysis Services 2005 and Hyperion Essbase 2nd Edition》一书的内容。在编写MDX中,各种各样的边界情况存在,比如:Member不存在,被0除,或则某个部分在cube和维度中并不存在等等,本文对这些情况下如何来处理做了一个小结。以下MDX语句可以在SSA原创 2007-12-06 10:45:00 · 692 阅读 · 0 评论 -
如何使用MDX编写同比和环比
在做BI项目中,用户会经常提出类似下面这样的需求:1. 本月比上月的销售额增长了多少?百分比是多少?2. 本季度第一个月比上季度第一个月的销售额增长了多少?百分比是多少?其实这两个需求就是我们常说的同比和环比问题,它们用关系数据库的SQL语句难于实现,而用BI中的MDX来做却轻而易举。以下例子采用的是SQL Server2005的Analysis Services中的示例库。环比需求:本月比上个月原创 2007-12-06 10:38:00 · 911 阅读 · 0 评论 -
MDX中一些常见的计算
本文来源于《MDX Solutions with Microsoft SQL.Server Analysis Services 2005 and Hyperion Essbase 2nd Edition》一书的内容,主要介绍了一些经常编写的MDX语句的写法。以下MDX语句可以在SSAS的示例库:Adventure Works中运行。例子模型以下的MDX中用到的Hierarchy如下:原创 2007-12-06 10:35:00 · 1354 阅读 · 0 评论 -
在2005中使用DrillThrough函数
数据仓库、数据挖掘系统的显著优势之一是可以在分析的过程中对某个数据DrillThrough to detail。数据仓库较之普通数据库系统,对数据仓库的查询分析要比数据库快许多,这是因为数据仓库在ETL过程中已经对Integrating的数据源做了各种各样的预先统计处理,并增加了多倍的额外空间保存这些处理结果,才取得了对查询的快速反映优势。这也就是常说的“以空间换时间”。在OLAP分析的时候,也可原创 2007-12-06 10:33:00 · 700 阅读 · 0 评论 -
在AS2005的From子句中使用Select从句
在AS2005的From子句中使用Select从句跟Sql的From子句中嵌套使用Select语句一样,mdx表达式中也可以嵌套使用Select从句。这些嵌套的Select子句本质上相当与SubCube,语法上与CreateSubcube相似。下面的这个例子以及展示结果也许能说明这点。SELECT{ [Customer].[Customer].[Region].Members,[C原创 2007-12-06 10:31:00 · 735 阅读 · 0 评论 -
MDX Solutions
1. [Measures].[Sales Sum] / [Measures].[Item Count] If you need to take a simple average of values associated with a setofcells, you can use the MDX Avg() function, as in the followin原创 2007-12-06 10:30:00 · 1184 阅读 · 0 评论 -
MDX技巧:如何处理、聚合多计算成员?
这是我翻译Chris Webb的文章,原文请查看http://spaces.msn.com/cwebbbi/blog/cns!7B84B0F2C239489A!710.entry?txtName=anchky&blogcs=end。主要介绍如何处理同时聚合多个计算成员!翻译的不一定正确,如有疑问的请查看原文! 多时间维度(根据AS 2005,确切的说是关于时间的属性层次)是非常有效的原创 2007-12-06 10:23:00 · 1287 阅读 · 0 评论 -
创建维度的时候注意冗余关系
创建维度的时候注意冗余关系 在AS 2005中,创建维度时候有时候会提示出现冗余的属性关系。这个在设计Cube的时候值得注意。 举个例子,假如要建立具有三个层次(城市、州、国家)的地理维度,一个国家有多个州,一个州有多个城市。如果根据向导来创建该维度就会出现默认创建两个这样的关系,城市与州,城市与国家之间的关系。为了取得最佳的效果和辅助聚合设计,我们可以通过修改属性来改变关原创 2007-12-06 10:22:00 · 1181 阅读 · 0 评论 -
翻译介绍15个经典的MDX查询-08&09
8. For each product brand, what are the two top-selling products and what percentage of total sales do they make up? To answer this question, Listing 8s relatively complicated query uses a combinatio原创 2007-12-06 09:48:00 · 1383 阅读 · 0 评论 -
翻译介绍15个经典的MDX查询-04&05
04,最近销售趋势最好的产品有哪些? 查询Listing 4首先利用TopCount()查得销售最好的产品,然后利用上个查询Listing 3 介绍过的动态时间技巧定义最近6个月的销售量。该查询安排在行显示销售最好的10种产品,列显示最近的6个月,值区域为这6个月的Unit Sales。你可以用线状图展示该查询以便监视产品的销售绩效。(注:这是比较常用的报表查询,特别是在KPI原创 2007-12-06 09:45:00 · 915 阅读 · 0 评论 -
翻译介绍15个经典的MDX查询-01
15个很具代表性的MDX查询语句。 出处 www.sqlmag.com 原文下载 原作者Russ Whitney 。 我只是对其作了翻译(其中括号部分是我的观点),并对每个mdx语句出现的mdx常用函数略作解释。(如翻译有误、理解不够的地方,敬请指正!) 读者请求最多的是更多的MDX信息。他们通常要求更多的MDX例子,在这里,我提供15个典型的MDX语句,用原创 2007-12-06 09:40:00 · 2103 阅读 · 1 评论 -
MDX的上下文(Context)
在前面的Blog中,我们说要构建Cube或编写MDX,就必须理解Cube的结构。可是当熟悉了Cube结构之后,我们还是会有很多困挠。比如:为何有些需求用MDX语句似乎做不出来?为何有些MDX语句无法输出我们想要的结果(不是抱错就是输出结果错误)?为何有些MDX语句执行起来非常的慢?要想解决这些问题,除了了解Cube结构,我们还必须理解MDX的运行机制,而运行机制的首要概念便是上下文(Context原创 2007-12-06 10:42:00 · 703 阅读 · 0 评论