1

我从事教育工作,我试图找到学生毕业的学期——或者使用大学的术语,被授予。

如果我使用以下 MDX,我会得到正确的结果,恰好是去年的秋天。

select 
filter(
    [Term].[Term].[Term],
    (
        [Student].[Student].[Student Dimension Type].&[Student].&[123456],
        [Measures].[Degree Conferred Count]
    ) > 0
) on 0
from [Enrollment Analytics]

如果我用 currentmember 交换显式学生成员,并将 student 扔到另一个轴上,我会得到过去 2 年的 Fall、Summer 和 Spring。

select 
    filter(
        [Term].[Term].[Term],
        (
            [Student].[Student].currentmember,
            [Measures].[Degree Conferred Count]
        ) > 0
    ) on 0,
    [Student].[Student].[Student Dimension Type].&[Student].&[123456] on 1
from [Enrollment Analytics]

如果有人有时间,您能解释一下这两条语句的处理方式有何不同吗?谢谢!

4

1 回答 1

1

在处理 Axis 0 时,我猜还有 [Student].currentMember,因此将使用此层次结构的 .defaultMember;所以你会得到一个基于该默认成员值的过滤器集。

我认为添加一个 where 子句(即定义当前成员):

where [Student].[Student].[Student Dimension Type].&[Student].&[123456]

就是你要找的。

于 2013-06-20T23:01:38.040 回答