我对MDX很陌生,所以这可能是一件简单的事情......
我有一个维度,其成员类似于'类型A','类型B','类型C','类型D' 。我想为这些创建维度组,以便:
这是我到目前为止所做的:
WITH MEMBER [NewHierarchy].[Type Group].[Type Group Name] AS
CASE
WHEN
[Type Hierarchy].[Types].CurrentMember = [Type Hierarchy].[Types].&[Type A]
THEN
'Type A/B'
WHEN
[Type Hierarchy].[Types].CurrentMember = [Type Hierarchy].[Types].&[Type B]
THEN
'Type A/B'
WHEN
[Type Hierarchy].[Types].CurrentMember = [Type Hierarchy].[Types].&[Type C]
THEN
'Type C'
ELSE
'Other'
END
select
NON EMPTY {
[Measures].[Type Count],
} on COLUMNS,
NON EMPTY {
[NewHierarchy].[Type Group].[Type Group Name] *
[Type Hierarchy].[Types].[Types].AllMembers
} on ROWS
from
[MyCube]
我收到错误:
查询(8,6)维度' [NewHierarchy]'在立方体中找不到 当字符串,[NewHierarchy]。[Type Group]。[Type Group Name]时,是 解析。
如何在MDX查询中完成此操作? 提前谢谢!
答案 0 :(得分:1)
您无法通过MDX生成新的层次结构。但您可以在现有层次结构上定义新成员,如下所示:
WITH Member [Type Hierarchy].[Types].[Type A/B] AS
Aggregate({
[Type Hierarchy].[Types].&[Type A],
[Type Hierarchy].[Types].&[Type B]
})
Member [Type Hierarchy].[Types].[Other] AS
[Type Hierarchy].[Types].&[Type D]
select
NON EMPTY {
[Measures].[Type Count],
} on COLUMNS,
NON EMPTY {
[Type Hierarchy].[Types].[Type A/B],
[Type Hierarchy].[Types].&[Type C],
[Type Hierarchy].[Types].[Other]
} on ROWS
from
[MyCube]
请注意,如果您想拥有一名成员,则需要在集合上应用Aggregate
。
另一个评论:永远不要使用=
来比较"与"是同一个成员。 =
测试当前度量的数值是否相同。您可以使用IS
来比较成员身份。