MDX查询结果所有元素应显示最后一个元组而不是总和

时间:2012-12-21 13:27:50

标签: ssas mdx cube

我想在mdx查询结果的All元素上有不同的值。此值应该是指定维度属性中的最后一个元组的值。例如:

Student     Schoolyear      Grade
Fred        All             B
Fred        2009 / 2010     A
Fred        2010 / 2011     A
Fred        2011 / 2012     B
Wilma       All             C
Wilma       2009 / 2010     B
Wilma       2010 / 2011     C

因此,All元素的值应该是第二列中的最后一个元素,在本例中为“Schoolyear”,但可以是任何维度属性。对于“威尔玛”,它将成为“2010/2011”中的成绩,而“弗雷德”将成为“2011/2012”中的成绩。

我试图将All成员的度量限制为lastChild,但这不起作用。在下面的示例中,我有一个有效的查询,但它不是动态的,因为“Schoolyear”“2010/2011”不是动态的,而是硬编码的。

MEMBER [Measures].[GradeFixed] AS 
Iif( [Dimension School].[Schoolyear].Currentmember IS 
[Dimension School].[Schoolyear].[All], 
[Dimension School].[Schoolyear].[2011 / 2012]
,
[Measures].[Grade] )

有没有人想过动态地将此度量限制为All元素维度中的最后一个元素?

1 个答案:

答案 0 :(得分:1)

Scope ( 
    [Dimension School].[Schoolyear].[All],
    [Measures].[Grade]
);
This = Tail (
    NonEmpty (
        [Dimension School].[Schoolyear].[Schoolyear],
        [Measures].[Grade]
    ), 1
).item(0)