Ssas OrderByMDX查询?

Ssas OrderByMDX查询?,ssas,mdx,olap,Ssas,Mdx,Olap,这是我的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],

这是我的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])
这将按预期提供数量和净销售额的销售记录。我们现在需要对其进行排序,以首先获得数量最高的项目。换句话说,我们希望在这里应用“降序”排序


我尝试了所有给我错误的顺序方法。你能帮我实现我的愿望吗

你试过下面的方法吗

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]
);
选择
{
[措施][数量],
[措施][净销售额]
}
0,,
非空
产生(
命令(
[产品][项目说明].子项
,[措施][数量],BDESC)
,
命令(

[Products].[Item Description].CURRENTMEMBER//非空订单([Products].[Item Description].children,[Measures].[Quantity],DESC)在行上此操作非常有效,但在查询下面此操作不起作用非空订单([Products].[Item Description].children,[Calendar].[Date].[Date]),[Measures].[Quantity],DESC)在Rowsry上,我的第二次尝试。@Sourav_Agasti(upped)我喜欢这个解决方案。尽管有点惊讶
BDESC
不是必需的。