【发布时间】:2014-05-13 09:09:33
【问题描述】:
在我的多维数据集中,我有以下度量、维度。
**Measure:**
Amount
**From Customer dimension:**
Busines Unit Number
Business Unit Description
Cust Number
Cust Name
**From Bucket dimension:**
Bucket
我希望 Amount 按所有这些维度/属性排序。
到目前为止,我在MDX 中尝试的是,
SELECT
NON EMPTY {
[Measures].[Amount]
} ON COLUMNS,
NON EMPTY { (
ORDER(
(
[Dim Customer].[BU].[BU].MEMBERS*
[Dim Customer].[BU Description].[BU Description].MEMBERS*
[Dim Customer].[Cust No].[Cust No].ALLMEMBERS*
[Dim Address].[Customer Name].[Customer Name].ALLMEMBERS
),
[Measures].[Amount],
BDESC
)
*
[Bucket Dim].[Bucket].[Bucket].ALLMEMBERS
) } ON ROWS
FROM [Cube]
我仍然没有得到我想要的正确顺序,而且执行时间也太长了。
【问题讨论】:
-
你认为
ORDER的第一个参数是什么数据类型?根据文档(msdn.microsoft.com/en-us/library/ms145587.aspx),它应该是一个集合。但是您在括号中传递了一个逗号分隔的集合列表。也许你应该让它成为四个单维集的叉积,即。 e.用*替换逗号?那至少是一套。 -
是的,你是对的。我已经完成了同样的工作,现在正在工作。
-
@FrankPl,我们也可以在大括号中使用 ,。这里使用 , & * 有什么区别
-
多少个集合,用逗号分隔,括号中的所有内容都不是 MDX 规范定义的——据我所知。因此,我不知道 Analysis Services 是如何解释它的,因为我从未真正使用过这种语法。
标签: reporting-services ssrs-2008 ssas mdx ssrs-2008-r2