2013-01-04 30 views
1

我是MDX的新手,並且對SQL有一個簡單的要求,但是我想用MDX來完成此任務。在MDX中結合TOPCOUNT和BOTTOMCOUNT結果集

我想結合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

你可以用幾種不同的方式編寫你的查詢。這使數在一列:

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]