我使用Excel 2010在指定时间段内按销售额创建前10名供应商的列表。问题是,我只需要考虑属于特定集合的客户。我发现this article帮助我从所有客户那里获得了销售额排名前十的供应商,但我正在努力解决如何只对特定集合的成员进行总结的问题。我尝试了评论中页面下方的Sum / CrossJoin示例,但我无法使其工作。可能我在这方面很陌生,只是不明白哪些部分需要去哪里。这是我到目前为止(我的连接名称在单元格M1中):
所有客户(完美运作):
=CUBESET($M$1,
"TopCount(
[Product].[Brand].Children,
10,
Sum(
[Time].[Calendar].[Calendar Month].&[2011]&[8],
[Measures].[Revenue]
)
)",
"Top 10 Brands"
)
客户的子集(似乎返回正确的集合):
=CUBESET($M$1,
"Intersect(
Intersect(
exists(
[Customer].[Cust Num].Members,
{[Customer].[Is Internal].&[False],[Customer].[Is Internal].[All].UNKNOWNMEMBER}
),
exists(
[Customer].[Cust Num].Members,
[Customer].[Type].&[CAT]
),
ALL
),
exists(
[Customer].[Cust Num].Members,
[Market].[Market ID].[All].Children - [Market].[Market ID].&[3] - [Market].[Market ID].&[4]
),
ALL
)",
"Cust Group"
)
任何帮助和/或指导将不胜感激.....提前感谢!
答案 0 :(得分:3)
你可以试试这样的事情
=CUBESET($M$1,
"TopCount(
[Product].[Brand].Children,
10,
Sum(
(
[Time].[Calendar].[Calendar Month].&[2011]&[8],
[Customer].[Is Internal].&[False],
[Customer].[Type].&[CAT]
),
[Measures].[Revenue]
)
)",
"Top 10 Brands"
)