Sorting MDX相当复杂的排序
我找不到方法,如何对我的查询进行排序,这是一个简单的查询:Sorting MDX相当复杂的排序,sorting,ssas,mdx,Sorting,Ssas,Mdx,我找不到方法,如何对我的查询进行排序,这是一个简单的查询: SELECT {[Measures].[IB]} ON COLUMNS, {[Dim_Product_Models_new].[PLA].members } * {[Dim Dates_new].[Date Full].&[2013-02-01]:[Dim Dates_new].[Date Full].&[2014-01-01]} ON ROWS FRO
SELECT {[Measures].[IB]}
ON COLUMNS,
{[Dim_Product_Models_new].[PLA].members } *
{[Dim Dates_new].[Date Full].&[2013-02-01]:[Dim Dates_new].[Date Full].&[2014-01-01]}
ON ROWS
FROM [cub_dashboard_spares]
我的想法是,我会得到一个12个月内6个PLA的结果(总共72行),但它是按PLA的字母顺序排序的
我需要的是,根据上个月的测量结果(本例中为2014-01-01)对PLA进行排序
是否有任何方法来执行此任务,以保持分组(PLA,日期从2013-02到2013-12),但只有我的PLA的顺序不同。(上月指标最高的解放军将是第一名,以此类推)
非常感谢您提供的任何帮助交叉连接上的顺序函数应保留第一个集合的初始顺序,因此颠倒元组的顺序即可:
SELECT
{
[Measures].[IB]
} ON COLUMNS,
order(
{[Dim Dates_new].[Date Full].&[2013-02-01]:[Dim Dates_new].[Date Full].&[2014-01-01]} *
{[Dim_Product_Models_new].[PLA].members } ,
[Measures].[IB],
desc
) ON ROWS
FROM [cub_dashboard_spares]
如果要保留列标签的外观顺序,可以从AW多维数据集中使用以下示例中的generate函数:
SELECT
{[Measures].[Internet Sales Amount]} ON 0
,Generate
(
{[Customer].[Country].&[Australia]:[Customer].[Country].&[United Kingdom]}
,(
Order
(
[Date].[Calendar Year].[Calendar Year].MEMBERS
,(
[Customer].[Country].CurrentMember
,[Measures].[Internet Sales Amount]
)
,DESC
)
,[Customer].[Country].CurrentMember
)
) ON 1
FROM [Adventure Works];
Philip,只需使用
Order
函数将排序集放在行上即可。如果要在每个层次结构级别内进行排序,但仍希望在子级之前获得父级(如单属性成员之前的所有),则此函数的第三个参数为DESC
;如果要在所有级别之间进行排序,则此参数为BDESC
SELECT {[Measures].[IB]}
ON COLUMNS,
Order({[Dim_Product_Models_new].[PLA].members },
([Measures].[IB], [Dim Dates_new].[Date Full].&[2014-01-01]),
DESC)
*
{[Dim Dates_new].[Date Full].&[2013-02-01]:[Dim Dates_new].[Date Full].&[2014-01-01]}
ON ROWS
FROM [cub_dashboard_spares]