我想根据这个逻辑创建一个计算成员:
WITH
MEMBER [Measures].[NewMeasures] AS ...
SELECT
NON EMPTY
CrossJoin
(
{[DimensionA].[LevelA].MEMBERS}
,{[Measures].[NewMeasures]}
) ON COLUMNS
,NON EMPTY
NonEmptyCrossJoin
(
{[DimensionB].[LevelB].MEMBERS}
,{[DimensionC].[LevelC].MEMBERS}
) ON ROWS
FROM [MyCube];
我的新措施必须是已经拥有的措施([Measures]。[MyMeasure])和" MyMeasure"之间的区别。 B级和C级成员。
防爆。 MyMeasure = 4 - B级成员的MyMeasure总和= 20 - C级成员的MyMeasure总和= 30
新措施= 4 /(20 + 30)
对不起,如果不是很清楚,但不知道怎么解释。
答案 0 :(得分:1)
呃这样的事情?(我没有检查零或零,但你应该这样做)
WITH
MEMBER
[Measures].[NewMeasures]
AS
[Measures].[MyMeasure] /
SUM(
Crossjoin(
[DimensionB].[LevelB].MEMBERS,
[DimensionC].[LevelC].MEMBERS
)
,[Measures].[MyMeasure])
)