MDX topcount与';其他';过期维度
使用mondrian获得一个月内前2名成员的列表,并将“其他”分组为单个成员。这在这里已经讨论过了,但是蒙德里安没有现有的功能 我提出的查询(缺少topcount成员,但这只是在GENERATE中向交叉连接添加一个联合的问题)是: 但是,此查询返回月份总数,不排除topcount成员。单独查询ExceptSet似乎给出了正确的解决方案,当然,这些成员没有分组到单个“(其他)”成员中 以下是制作AdvWrks版本的尝试:MDX topcount与';其他';过期维度,mdx,olap,mondrian,Mdx,Olap,Mondrian,使用mondrian获得一个月内前2名成员的列表,并将“其他”分组为单个成员。这在这里已经讨论过了,但是蒙德里安没有现有的功能 我提出的查询(缺少topcount成员,但这只是在GENERATE中向交叉连接添加一个联合的问题)是: 但是,此查询返回月份总数,不排除topcount成员。单独查询ExceptSet似乎给出了正确的解决方案,当然,这些成员没有分组到单个“(其他)”成员中 以下是制作AdvWrks版本的尝试: WITH SET ExceptSet AS EXCEPT( [Emplo
WITH SET ExceptSet AS
EXCEPT(
[Employee].[Employee].[Employee].MEMBERS ,
TOPCOUNT(
CROSSJOIN(
[Date].[Calendar].CurrentMember,
[Employee].[Employee].[Employee].MEMBERS
),
2,
[Measures].[Reseller Sales Amount]
)
)
MEMBER [Employee].[Employee].[Others] AS
AGGREGATE(ExceptSet, [Measures].[Reseller Sales Amount])
SELECT NON EMPTY {[Measures].[Reseller Sales Amount]} ON 0,
NON EMPTY GENERATE({[Date].[Calendar Year].[CY 2006], [Date].[Calendar Year].[CY 2007]},
CROSSJOIN([Date].[Calendar].CurrentMember, {[Employee].[Employee].[Others]})
)
ON 1 FROM [Adventure Works]
自定义集通常不支持上下文。
我的意思是在
例外集内
您有:
...
`[Date].[Calendar].CurrentMember`
...
不幸的是,这可能是解析为All成员,而不是解析行上的。因此,在您引用的解决方案中,使用EXISTING
将上下文带入所有WITH
子句中
如何在不使用现有的情况下实现一个简单的解决方案我不确定。这是一个相对复杂的问题-你能转换成AdvWrks
让我们都可以玩吗?@whytheq完成了,希望它能起作用,因为我无法测试它。很好的一个:我以后会玩;请您的dba
安装AdvWrks
-msdn
上的所有mdx
示例都是针对此多维数据集的,因此它是一个很好的示例
...
`[Date].[Calendar].CurrentMember`
...