MDX函数
0
投票
2
已解决
1653
浏览
mdx函数,怎么求历年到本年度的累计汇总量
littleqiang 回复了问题 • 2016-11-01 16:55
0
投票
2
回答
2810
浏览
如何用MDX语句查询出一个层次结构中的两个级别字段 如下图
qiyp 回复了问题 • 2015-08-27 09:09
0
投票
5
已解决
2676
浏览
MDX如何求解:统计某段时间的价格带偏好为XX值的会员,如2015.10.1-2015.10.7,价格带偏好是300-400的会员
天桥下的郑成功 回复了问题 • 2015-08-10 11:28
0
投票
5
回答
3349
浏览
怎么在CUBE中建一个计算成员,取排名前十的产品,数量?
天桥下的郑成功 回复了问题 • 2015-08-03 12:43
0
投票
2
回答
3254
浏览
报表 Query()违反了StrTomember函数中constrained标志所规定的限制
Eason_zhou 回复了问题 • 2015-06-11 16:14
0
投票
15
回答
2718
浏览
MDX 中将指定的MEMBER变成变量后无法得到结果
sue_huangyong 回复了问题 • 2015-05-21 10:40
0
投票
2
回答
2259
浏览
MDX如果查询1月销售前5商品2月份销售情况
xpivot 回复了问题 • 2015-03-23 17:51
0
投票
1
回答
3303
浏览
SSAS中lastchild半累加性度量如何设置
天桥下的郑成功 回复了问题 • 2015-03-11 11:23
0
投票
1
回答
3115
浏览
mdx 查询怎样 实现类似sql distinct 功能
天桥下的郑成功 回复了问题 • 2015-01-30 10:39
0
投票
6
回答
3196
浏览
怎么用MDX查询类似sql的count用法
以后别做朋友 回复了问题 • 2015-01-22 09:38
0
投票
2
回答
2957
浏览
MDX 表达式 小于当前日期才显示订货量
天桥下的郑成功 回复了问题 • 2015-01-12 12:54
0
投票
3
回答
2743
浏览
MDX怎么返回最大值维度成员
天桥下的郑成功 回复了问题 • 2015-01-08 22:45
0
投票
1
回答
2968
浏览
MDX查询,有没有方法按条件返回部分维度成员
小春XC 回复了问题 • 2014-12-10 11:50
0
投票
1
回答
3331
浏览
mdx topcount 降序查询语句怎么写
梁勇 回复了问题 • 2014-03-20 17:47
-- 模糊查询: MDX 类似SQL查询中的Like
--vbamdx!INSTR() 返回一个字符串在另一字符串中第一次出现的位置
-- 本例中, 返回 'Mountain'在子类别成员中第一次出现的位置, 如果位置大于等于1
-- 说明存在, 因此... 显示全部 »
--vbamdx!INSTR() 返回一个字符串在另一字符串中第一次出现的位置
-- 本例中, 返回 'Mountain'在子类别成员中第一次出现的位置, 如果位置大于等于1
-- 说明存在, 因此... 显示全部 »
-- 模糊查询: MDX 类似SQL查询中的Like
--vbamdx!INSTR() 返回一个字符串在另一字符串中第一次出现的位置
-- 本例中, 返回 'Mountain'在子类别成员中第一次出现的位置, 如果位置大于等于1
-- 说明存在, 因此过滤出此成员
with
set as
filter(...members,
vbamdx!INSTR(..currentmember.name,
'Mountain',1>=1))
select
{.,.}
on 0,
{}
on 1
from
549
--vbamdx!INSTR() 返回一个字符串在另一字符串中第一次出现的位置
-- 本例中, 返回 'Mountain'在子类别成员中第一次出现的位置, 如果位置大于等于1
-- 说明存在, 因此过滤出此成员
with
set as
filter(...members,
vbamdx!INSTR(..currentmember.name,
'Mountain',1>=1))
select
{.,.}
on 0,
{}
on 1
from
549
xpivot 回答了问题 • 2015-08-10 11:20 • 5 个回复
MDX如何求解:统计某段时间的价格带偏好为XX值的会员,如2015.10.1-2015.10.7,价格带偏好是300-400的会员
这是个很有意思的问题,抽象化总结归类的话,这个属于把动态的度量值(distinct count pricebrand)作为维度来聚合分析数据的典型案例,之所以把“价格带”这个字段设计到事实表里,是因为它不是会员的静态属性,每个会员的“价格带”标签会因指定的消费... 显示全部 »
这是个很有意思的问题,抽象化总结归类的话,这个属于把动态的度量值(distinct count pricebrand)作为维度来聚合分析数据的典型案例,之所以把“价格带”这个字段设计到事实表里,是因为它不是会员的静态属性,每个会员的“价格带”标签会因指定的消费时间段不同而不同,首先要说声抱歉,我不会写这个MDX,如果你还没有失望以致绝望的话,且听我分析几个问题
首先,为什么一定要使用MDX?也许是信了坊间流传的Cube的查询性能一定是优越于DB的,因为Cube有预计算,有聚合处理,那么一定会让你失望的是,这个想法并不是无往不利,Cube和DB的查询优化器工作原理有很大差异,就拿你这个案例来说,用MDX Filter来实现查询,原理类似于MSSQL的Cross Apply,是要遍历循环每个会员,对每个会员进行事实度量值的聚合汇总,然后再对所有会员汇总后的度量值进行分组,也许你会说DB QO也是如此啊,SQL子查询方式来实现看执行计划可能也是个Nest Loop循环,非要这么说的话,Cross Apply其实也算是个Nest Loop,那为什么还会和子查询的写法有很大的性能差距呢,举个例子来说比较容易理解些,就像你去取款机取一万块钱,ATM点钞的过程就是个Nest Loop循环,一把取出来一万元是在内部循环了一百次点钞的过程,而分一百次每次一百元取款,同样的一百次点钞循环,取款效率是不是低了很多。所以如果仅仅是因为性能的原因要全盘MDX化,建议重新审视下数据库是否已经优化到没有任何提升空间了,如果SQL能够高效简便的解决问题,实在没有太多基于性能上的理由选择MDX,也有可能是你的数据源只有Cube,所以没得选择只能MDX,那么我想说这个架构可能是非常危险的,MDX的可维护性远不如SQL,正常的人事变迁都有可能使整个项目陷入无人支持维护的境地。
其次,选择MDX的一个让我无法抗拒的理由是它的多维聚合分析能力,这个是SQL不容易实现的,这时候一定也会有SQL万能论者难以苟同,我得强调下,这里的不容易实现特指的是自助式BI平台,如果你有对比过ROLAP和MOLAP实现的自助式BI的实现原理,是能够理解MOLAP在这个方向上得天独厚的优势
最后,只剩一句话了:让上帝的归上帝,凯撒的归凯撒吧,SQL和MDX结合起来用可能才是你想要的理想答案
首先,为什么一定要使用MDX?也许是信了坊间流传的Cube的查询性能一定是优越于DB的,因为Cube有预计算,有聚合处理,那么一定会让你失望的是,这个想法并不是无往不利,Cube和DB的查询优化器工作原理有很大差异,就拿你这个案例来说,用MDX Filter来实现查询,原理类似于MSSQL的Cross Apply,是要遍历循环每个会员,对每个会员进行事实度量值的聚合汇总,然后再对所有会员汇总后的度量值进行分组,也许你会说DB QO也是如此啊,SQL子查询方式来实现看执行计划可能也是个Nest Loop循环,非要这么说的话,Cross Apply其实也算是个Nest Loop,那为什么还会和子查询的写法有很大的性能差距呢,举个例子来说比较容易理解些,就像你去取款机取一万块钱,ATM点钞的过程就是个Nest Loop循环,一把取出来一万元是在内部循环了一百次点钞的过程,而分一百次每次一百元取款,同样的一百次点钞循环,取款效率是不是低了很多。所以如果仅仅是因为性能的原因要全盘MDX化,建议重新审视下数据库是否已经优化到没有任何提升空间了,如果SQL能够高效简便的解决问题,实在没有太多基于性能上的理由选择MDX,也有可能是你的数据源只有Cube,所以没得选择只能MDX,那么我想说这个架构可能是非常危险的,MDX的可维护性远不如SQL,正常的人事变迁都有可能使整个项目陷入无人支持维护的境地。
其次,选择MDX的一个让我无法抗拒的理由是它的多维聚合分析能力,这个是SQL不容易实现的,这时候一定也会有SQL万能论者难以苟同,我得强调下,这里的不容易实现特指的是自助式BI平台,如果你有对比过ROLAP和MOLAP实现的自助式BI的实现原理,是能够理解MOLAP在这个方向上得天独厚的优势
最后,只剩一句话了:让上帝的归上帝,凯撒的归凯撒吧,SQL和MDX结合起来用可能才是你想要的理想答案
With Member Msr as Sum
(
{[Date].[Date].&[2]:[Date].[Date].&[8]}, [Measures].[Internet Sales Amount]
) Select Msr on 0 ... 显示全部 »
(
{[Date].[Date].&[2]:[Date].[Date].&[8]}, [Measures].[Internet Sales Amount]
) Select Msr on 0 ... 显示全部 »
With Member Msr as Sum
(
{[Date].[Date].&[2]:[Date].[Date].&[8]}, [Measures].[Internet Sales Amount]
) Select Msr on 0 from [Adventure Works]
http://www.purplefrogsystems.com/blog/2013/04/mdx-between-start-date-and-end-date/
看一下这篇文章
(
{[Date].[Date].&[2]:[Date].[Date].&[8]}, [Measures].[Internet Sales Amount]
) Select Msr on 0 from [Adventure Works]
http://www.purplefrogsystems.com/blog/2013/04/mdx-between-start-date-and-end-date/
看一下这篇文章
0
投票
4
已解决
7768
浏览
微软BI 模糊查询: MDX 类似SQL查询中的Like的用法, 该如何写MDX代码?
brucelu 回复了问题 • 2013-09-02 08:57
0
投票
2
已解决
1653
浏览
mdx函数,怎么求历年到本年度的累计汇总量
littleqiang 回复了问题 • 2016-11-01 16:55
0
投票
2
回答
2810
浏览
如何用MDX语句查询出一个层次结构中的两个级别字段 如下图
qiyp 回复了问题 • 2015-08-27 09:09
0
投票
5
已解决
2676
浏览
MDX如何求解:统计某段时间的价格带偏好为XX值的会员,如2015.10.1-2015.10.7,价格带偏好是300-400的会员
天桥下的郑成功 回复了问题 • 2015-08-10 11:28
0
投票
5
回答
3349
浏览
怎么在CUBE中建一个计算成员,取排名前十的产品,数量?
天桥下的郑成功 回复了问题 • 2015-08-03 12:43
0
投票
2
回答
3254
浏览
报表 Query()违反了StrTomember函数中constrained标志所规定的限制
Eason_zhou 回复了问题 • 2015-06-11 16:14
0
投票
15
回答
2718
浏览
MDX 中将指定的MEMBER变成变量后无法得到结果
sue_huangyong 回复了问题 • 2015-05-21 10:40
0
投票
2
回答
2259
浏览
MDX如果查询1月销售前5商品2月份销售情况
xpivot 回复了问题 • 2015-03-23 17:51
0
投票
1
回答
3303
浏览
SSAS中lastchild半累加性度量如何设置
天桥下的郑成功 回复了问题 • 2015-03-11 11:23
0
投票
1
回答
3115
浏览
mdx 查询怎样 实现类似sql distinct 功能
天桥下的郑成功 回复了问题 • 2015-01-30 10:39
0
投票
6
回答
3196
浏览
怎么用MDX查询类似sql的count用法
以后别做朋友 回复了问题 • 2015-01-22 09:38
0
投票
2
回答
2957
浏览
MDX 表达式 小于当前日期才显示订货量
天桥下的郑成功 回复了问题 • 2015-01-12 12:54
0
投票
3
回答
2743
浏览
MDX怎么返回最大值维度成员
天桥下的郑成功 回复了问题 • 2015-01-08 22:45
0
投票
1
回答
2968
浏览
MDX查询,有没有方法按条件返回部分维度成员
小春XC 回复了问题 • 2014-12-10 11:50
0
投票
1
回答
3331
浏览
mdx topcount 降序查询语句怎么写
梁勇 回复了问题 • 2014-03-20 17:47