问题是基于sql server 2000 analysis 的范例数据库 Foodmart。
其中cube中涉及到的维度是这样的
Time维度:Year->Quarter->Month
Store维度:仅涉及到度量值[Store Sales]
要求写出如下输出格式的MDX查询语句,见附件。
参考答案是:
with
member[Measures].[Year] as 'time.currentmember.parent.name'
select
{[Measures].[Year],[Measures].[Store Sales]} oncolumns,
{[Time].[Quarter].members} on rows
from Sales
疑问是在On rows那里能不能用[Time].[Year].[Quarter].members ?
个人的观点:
根据官方对.members的语法解释:Hierarchy_Expression.Members 或者 Level_Expression.Members。这里应该填写一个完整的层次结构表达式,而在[Time]这个维度下,级别的顺序是:Year->Quarter->Month。所以这里不应省略中间的[Year]
从另一个角度来说,对于“.”标识符,是标清父亲维度/路径,而“Time是Quarter的爷爷不是爸爸”,所以这里也不能直接将[Time]与[Year]用“.”直接相连吧。
由于身边没有电脑上有sql2000,所以无法进行亲自实证分析,特求论坛各位高手解答。并给出程序运行的结果。
小弟跪谢!

本文来自: 人大经济论坛 数据挖掘 版,详细出处参考:
https://bbs.pinggu.org/forum.php?mod=viewthread&tid=2525365&page=1&from^^uid=2450329