2009-11-26 87 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]} 
)