2

我收到 SSAS 错误“函数中指定的两个集合具有不同的维度”。

我实际上使用相同的维度,相同的层次结构(隐式),在一个集合中我使用“All”成员,而在另一个集合中我正在使用叶成员。如果我更改成员标识符以显式引用(单个)层次结构,那么错误就会消失。

这是为什么?

这是我如何收到错误的示例:

{Crossjoin( [Measures].[Measure1], [Event].[Category1] ),
Crossjoin( [Measures].[Measure2], [Event].[All] )}

这基本上是我摆脱它的方法(添加显式层次结构参考):

{Crossjoin( [Measures].[Measure1], [Event].[ByCategory].[Category1] ),
Crossjoin( [Measures].[Measure2], [Event].[ByCategory].[All] )}

任何更正解释都将帮助我更好地理解整体的 mdx 语法。

在此先感谢您的帮助。

4

2 回答 2

2

我不是 SSAS 的专家,但要确保这两个成员属于同一层次结构,您可以尝试以下操作:

with
  member x as [Event].[Category1].dimension.name
  member y as [Event].[All].dimension.name
select { x , y } on 0 from [your-cube]
于 2013-04-19T14:08:08.387 回答
1

你能请显示你的查询的其余部分吗?

我试图做类似的事情,但它工作正常..

select {crossjoin( [Measures].[Internet Sales Amount],
[Product].[Bikes]),
crossjoin([Measures].[Reseller Sales Amount],
[Product].[All])} on columns
from cube

结果

于 2013-04-26T19:52:07.060 回答