在MDX中组合TOPCOUNT和BOTTOMCOUNT结果集

时间:2013-01-04 12:04:04

标签: mdx olap bids

我是MDX的新手,并且有一个简单的要求,使用SQL很容易,但我想用MDX来完成这个。

我想结合2个查询的结果,所以在查询多维数据集时,我只发送超过1个查询。

 
select topcount( [Fact].[Year].children, 1,[Measures].[MoneyIn]) on columns
from [Cube]  

以及此MDX查询,以获得最少的资金,为期数年。

 
select bottomcount( [Fact].[Year].children, 1,[Measures].[MoneyIn]) on columns
from [Cube]  

使用MDX有一种简单的方法可以实现这一目标吗?理想情况下,我会有一些东西:

MaxValue MinValue
10k      -10k 

谢谢!所有帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

您可以通过几种不同的方式编写查询。这将计数放在一列:

SELECT [Measures].[MoneyIn] ON COLUMNS,
{TOPCOUNT([Fact].[Year].children,1, [Measures].[MoneyIn]),
BOTTOMCOUNT([Fact].[Year].children,1, [Measures].[MoneyIn])} ON ROWS
FROM [Cube]

这更靠近您的输出但没有指定的列

SELECT [Measures].[MoneyIn] *
       {TOPCOUNT([Fact].[Year].children,1, [Measures].[MoneyIn]),
        BOTTOMCOUNT([Fact].[Year].children,1, [Measures].[MoneyIn])
       } ON COLUMNS
FROM [Cube]