2009-11-26 118 views
2

如果我有一個簡單的MDX查詢,如:傳遞多個參數爲MDX查詢的WHERE子句

SELECT 
NON EMPTY { [Measures].[Amount] } ON COLUMNS, 
NON EMPTY { [Date].[Date].[Date] } 
ON ROWS FROM [MyCube] 

而且我想通過ID的另一個層面,這是很容易對其進行過濾。

SELECT 
NON EMPTY { [Measures].[Amount] } ON COLUMNS, 
NON EMPTY { [Date].[Date].[Date] } 
ON ROWS FROM [MyCube] 
WHERE (Asset].[Id].&[123]) 

但如果我有多個Id的有沒有什麼辦法可以傳遞這些在沒有動態建立MDX查詢?

回答

2

我不是100%肯定你的意思不是動態建立MDX查詢什麼,而是你要查詢的形式是這樣的:

SELECT 
    NON EMPTY { [Measures].[Amount] } ON COLUMNS, 
    NON EMPTY { [Date].[Date].[Date] } ON ROWS 
FROM [MyCube] 
WHERE (
    [Asset].[Id].&[123], 
    [OtherDim].[Foo].&[3919] 
) 

...所以我想,需要一些有活力的建築,但沒有太大的壓力。

3

試試這個:

SELECT 
    NON EMPTY { [Measures].[Amount] } ON COLUMNS, 
    NON EMPTY { [Date].[Date].[Date] } ON ROWS 
FROM [MyCube] 
WHERE (
    { [Asset].[Id].&[123],[Asset].[Id].&[124]} 
)