假设我有下一个MDX查询
select
{
[Measures].[Measure1],
[Measures].[Measure2],
} on columns,
{
ORDER([Dim].Children, [Measures].[Measure1], desc)
} on rows
from [Cube]
选择两个度量并按第一个排序。 如何按两个度量排序,按Measure1排序,然后按Measure2排序?
答案 0 :(得分:1)
试试这个:
select
{
[Measures].[Measure1],
[Measures].[Measure2]
} on columns,
{
ORDER(ORDER([Dim].Children, [Measures].[Measure1], desc), [Measures].[Measure2], DESC)
} on rows
from [Cube]
编辑:无法使用的原因是因为需要更改措施的顺序。以下是我认为发生的事情:
控制首先进入内部集合,并按内部度量排序。然后返回的该集合按外部度量排序。总体效果是外部测量取代了内部测量的排序。因此,如果我们想要按m1-> m2进行排序,那么m1需要是外部度量而m2是内部度量。
答案 1 :(得分:0)
这适用于我的AdvWrks:
SELECT
{
[Measures].[Reseller Order Quantity]
,[Measures].[Reseller Sales Amount]
} ON 0
,Order
(
Order
(
[Product].[Product].[Product].MEMBERS
,[Measures].[Reseller Sales Amount]
,BDESC
)
,[Measures].[Reseller Order Quantity]
,BDESC
) ON 1
FROM [Adventure Works];
也许你需要交换订单并使用BDESC
:
SELECT
{
[Measures].[Measure1]
,[Measures].[Measure2]
} ON COLUMNS
,{
Order
(
Order
(
[Dim].Children
,[Measures].[Measure2]
,BDESC
)
,[Measures].[Measure1]
,BDESC
)
} ON ROWS
FROM [Cube];