如何在第三级应用筛选器后获取第一级数据成员(Mondrian MDX)
我有一个名为如何在第三级应用筛选器后获取第一级数据成员(Mondrian MDX),mdx,mondrian,Mdx,Mondrian,我有一个名为PERIOD的维度,有三个级别YEAR、quarty和MONTH 我已筛选出三级数据,如下所示: With SET [*BASE_MEMBERS_Period.Period] AS ' Filter ( [Period.Period].[Month].Members , (NOT( [Period.Period].CurrentMember In { [Period].[All Periods].[FY 2008-2009].[Q4 2008-09].[Mar 2009 ] } )
PERIOD
的维度,有三个级别YEAR
、quarty
和MONTH
我已筛选出三级数据,如下所示:
With SET [*BASE_MEMBERS_Period.Period] AS ' Filter ( [Period.Period].[Month].Members , (NOT( [Period.Period].CurrentMember In { [Period].[All Periods].[FY 2008-2009].[Q4 2008-09].[Mar 2009 ] } ) ) ) '
这意味着,我们需要所有数据,除了[2009年3月]
现在,我必须为以下要求编写查询:
[2008-2009财年]
的值应在排除[2009年3月]
的值之后[2008-09年第4季度]
的值应在排除[2009年3月]
的值之后提前感谢。蒙德里安不太清楚,但如果它符合MDX标准: 首先,您可以使用-运算符写入集合:
With SET [*BASE_MEMBERS_Period.Period] AS '[Period.Period].[Month].Members - [Period].[All Periods].[Mar 2009 ]'
为了获得您想要的行为,您可以使用:
从结果中可以看出,2009年3月的数据已被删除。Subselect不仅适用于事实数据(请参见可视标志),还适用于mdx函数。您可以检查以下语句,其中月份也从members函数中过滤:
Select
[Period.Period].[Month].members on 0 // -> March 2009 is not there
From
(Select
[Period.Period].[Month].Members - [Period].[All Periods].[Mar 2009 ] on 0
from [MyCube] )
不确定Mondrian是否符合MDX标准: 首先,您可以使用-运算符写入集合:
With SET [*BASE_MEMBERS_Period.Period] AS '[Period.Period].[Month].Members - [Period].[All Periods].[Mar 2009 ]'
为了获得您想要的行为,您可以使用:
从结果中可以看出,2009年3月的数据已被删除。Subselect不仅适用于事实数据(请参见可视标志),还适用于mdx函数。您可以检查以下语句,其中月份也从members函数中过滤:
Select
[Period.Period].[Month].members on 0 // -> March 2009 is not there
From
(Select
[Period.Period].[Month].Members - [Period].[All Periods].[Mar 2009 ] on 0
from [MyCube] )
拉姆,答案有用吗?拉姆,答案有用吗?