1
我有一个度量,销售额。我想按照这个衡量标准按年分级排列客户。我还需要显示该排名作为衡量标准。排名需要每年开始。我能够按部门年份和客户进行客户分类,但我似乎无法弄清楚如何将它们结合起来,以便适当地在两个维度上进行迭代。以下是我在一年中为客户提供的服务。我尝试添加另一个分区集,创建另一个命名集,我使用YearsWithCustomers设置了GENERATE
,使用该新命名集创建了另一个命名集RANK
。我似乎非常接近于搞清楚这一点,但我认为我正在把事情放在错误的地方。我的想法是从Chris Webb的博客located here中迭代一套。多维度排名,每年重新启动
WITH
SET Years AS
TopPercent
(
[Sales and Forecast Date].[Calendar Year].[Year Number].MEMBERS
,100
,[Measures].[Sales Amount]
)
SET Customers AS
Filter
(
[Customer].[Customer Number].[Customer Number].MEMBERS
,
[Measures].[Sales Amount] > 0
)
SET YearsWithCustomers AS
Generate
(
Years
,Union
(
{[Sales and Forecast Date].[Calendar Year].CurrentMember}
,StrToSet
("
Intersect({},
{order(Customers,([Sales Amount],[Sales and Forecast Date].[Calendar Year].CurrentMember),desc)
as CustomerSet"
+
Cstr(Years.CurrentOrdinal)
+ "})"
)
)
,ALL
)
MEMBER [Measures].[Customer Rank] AS
Rank
(
[Customer].[Customer Number].CurrentMember
,StrToSet
("CustomerSet"
+
Cstr
(
Rank
(
[Sales and Forecast Date].[Calendar Year].CurrentMember
,Years
)
)
)
)
SELECT
{
[Customer Rank]
,[Measures].[Sales Amount]
} ON 0
,Order
(
Filter
(
(
YearsWithCustomers
,Customers
)
,
[Sales Amount] > 0
)
,[Sales Amount]
,desc
) ON 1
FROM [OrdersAndBudgets];
这是我现在有。我期望看到Rank等级为1,2,3等。它应该每年重新设置每个部门。
我需要有排名一项措施,以及所有成员排名。 Top X将在报告方面处理,以便他们可以动态选择X是什么。我已经包括一张图片作为例子。 – TTeeple