所以我想说我有这个MDX查询:
select
NON EMPTY {([Dim 1].[Member 1].[Member 1])} on columns
,NON EMPTY {([Dim 2].[Member 2].[Member 1])} on rows
from [Cube 1]
where
{(
[Dim 3].[Hierarchy 3].[Member 3].&[Value 3]
,[Measures].[Measure 1]
)}
但现在我也需要过滤,就像我使用 [Dim 3]。[Hierarchy 3]。[Member 3]。& [Value 3] ,但有几个成员值来自不同维度的层次结构,让我们调用它们:
[Dim 4].[Hierarchy 4].[Member 4].&[Value 2]
[Dim 4].[Hierarchy 4].[Member 4].&[Value 4]
[Dim 4].[Hierarchy 4].[Member 4].&[Value 8]
我试过这个:
select
NON EMPTY {([Dim 1].[Member 1].[Member 1])} on columns
,NON EMPTY {([Dim 2].[Member 2].[Member 1])} on rows
from [Cube 1]
where
{(
[Dim 3].[Hierarchy 3].[Member 3].&[Value 3]
,[Dim 4].[Hierarchy 4].[Member 4].&[Value 2]
,[Dim 4].[Hierarchy 4].[Member 4].&[Value 4]
,[Dim 4].[Hierarchy 4].[Member 4].&[Value 8]
,[Measures].[Measure 1]
)}
得到了这个:
The 'Hierarchy 4' hierarchy appears more than once in the tuple.
也试过这个(我知道,这里没什么意义):
select
NON EMPTY {([Dim 1].[Member 1].[Member 1])} on columns
,NON EMPTY {([Dim 2].[Member 2].[Member 1])} on rows
from [Cube 1]
where
{(
[Dim 3].[Hierarchy 3].[Member 3].&[Value 3]
,[Dim 4].[Hierarchy 4].[Member 4].&[Value 2]
:[Dim 4].[Hierarchy 4].[Member 4].&[Value 4]
:[Dim 4].[Hierarchy 4].[Member 4].&[Value 8]
,[Measures].[Measure 1]
)}
得到了这个:
The : function expects a member expression for the 2 argument. A tuple set expression was used.
我对MDX相当陌生(在T-SQL方面更有经验),甚至不知道究竟是什么谷歌,因为我的愚蠢。
欢迎任何帮助。
先谢谢。
答案 0 :(得分:4)
得到它:http://msdn.microsoft.com/en-us/library/ms146047.aspx
如果要使用同一层次结构中的多个成员,则需要 在WHERE子句中包含一个集合
另一件事,在我的例子中Dim 2 = Dim 3,所以为了得到我希望我需要的结果:
select
NON EMPTY {([Dim 1].[Member 1].[Member 1])} on columns
,NON EMPTY
{(
[Dim 2].[Hierarchy 3].[Member 3].&[Value 3]
,[Dim 2].[Member 2].[Member 1]
)} on rows
from [Cube 1]
where
(
{
[Dim 4].[Hierarchy 4].[Member 4].&[Value 2]
,[Dim 4].[Hierarchy 4].[Member 4].&[Value 4]
,[Dim 4].[Hierarchy 4].[Member 4].&[Value 8]
}
,([Measures].[Measure 1])
)
答案 1 :(得分:2)