通过MDX的第二个最大值

通过MDX的第二个最大值,mdx,Mdx,我可以根据指定的维度获取某些度量值的MAX()。我对此没有异议。我要找的是Second MAX()。也就是说,如果我按DESC顺序对一些度量进行排序,它是5,4,3,2,1 用MAX()我可以得到5,但我想要4。我该如何计算呢?使用EXCEPT关键字从前两组中剔除前一组: SELECT [Measures].[YourMeasure] ON 0, NON EMPTY { EXCEPT ( TOPCOUNT( [Date].[Date].[Date], 2,

我可以根据指定的维度获取某些度量值的MAX()。我对此没有异议。我要找的是Second MAX()。也就是说,如果我按DESC顺序对一些度量进行排序,它是5,4,3,2,1


用MAX()我可以得到5,但我想要4。我该如何计算呢?

使用EXCEPT关键字从前两组中剔除前一组:

SELECT
    [Measures].[YourMeasure]
ON 0,
NON EMPTY
{
    EXCEPT
    (
        TOPCOUNT( [Date].[Date].[Date], 2, [Measures].[YourMeasure] ),
        TOPCOUNT( [Date].[Date].[Date], 1, [Measures].[YourMeasure] )
    )
}
ON 1
FROM [YourCube]