OrderBy MDX 查询?

OrderBy MDX Queries?

这是我的 MDX 查询。

select
{
    [Measures].[Quantity],
    [Measures].[Net Sales]
}
on columns,
NON EMPTY
{(
    [Products].[Item Description].children,
    [Calendar].[Date].[Date]
)}
on rows
from
(
select 
{
    [Calendar].[Date].&[2015-03-23T00:00:00],
    [Calendar].[Date].&[2015-03-22T00:00:00],
    [Calendar].[Date].&[2015-03-21T00:00:00]
}
ON columns
FROM [SalesReport])

这给出了预期的数量和净销售额的销售记录。我们现在需要对其进行排序,以首先获得数量最多的项目。换句话说,我们希望在此处应用 'descending' 排序。

我尝试了所有会出错的订购方法。你能帮我完成我的愿望吗?

你试过下面的方法了吗?

select
{
    [Measures].[Quantity],
    [Measures].[Net Sales]
}
on columns,
NON EMPTY
ORDER((
    [Products].[Item Description].children,
    [Calendar].[Date].[Date]
), [Measures].[Quantity], DESC)
on rows
from
(
select 
{
    [Calendar].[Date].&[2015-03-23T00:00:00],
    [Calendar].[Date].&[2015-03-22T00:00:00],
    [Calendar].[Date].&[2015-03-21T00:00:00]
}
ON columns
FROM [SalesReport])

第二次尝试[工作解决方案]

select
{
    [Measures].[Quantity],
    [Measures].[Net Sales]
}
on columns,
NON EMPTY
ORDER((
    [Products].[Item Description].children    
), [Measures].[Quantity], DESC)
*[Calendar].[Date].[Date]
on rows
from
(
select 
{
    [Calendar].[Date].&[2015-03-23T00:00:00],
    [Calendar].[Date].&[2015-03-22T00:00:00],
    [Calendar].[Date].&[2015-03-21T00:00:00]
}
ON columns
FROM [SalesReport])

如果您想进一步订购内部组,您可以这样做:

SELECT
{
    [Measures].[Quantity],
    [Measures].[Net Sales]
}
ON 0,
NON EMPTY

  GENERATE(
  ORDER(
  [Products].[Item Description].children 
  ,[Measures].[Quantity], BDESC)
  ,
  ORDER(
  [Products].[Item Description].CURRENTMEMBER  //<< possibly [Products].CURRENTMEMBER
  *
  {[Calendar].[Date].[Date].Members}
  ,[Measures].[Quantity], BDESC))

ON 1
FROM
(
  SELECT
  {
    [Calendar].[Date].&[2015-03-23T00:00:00],
    [Calendar].[Date].&[2015-03-22T00:00:00],
    [Calendar].[Date].&[2015-03-21T00:00:00]
  }
  ON 0
  FROM [SalesReport]
);