【发布时间】:2015-10-03 07:43:48
【问题描述】:
我正在对我们的客户进行一些分析,并且我有一个现有的列,它按订购日期对每个客户下的订单数量进行“排名”。我的意思是,如果客户在 4 个不同的日期下了 4 个订单,我的“PersistantOrderCount”列将显示如下:
订单ID |订购日期 |客户ID | PersistantOrderCount
101 | 2015 年 1 月 1 日 | 1 | 1
102 | 2012 年 1 月 2 日 | 1 | 2
103 | 2015 年 1 月 3 日 | 1 | 3
104 | 2015 年 1 月 4 日 | 2 | 1
105 | 2015 年 1 月 5 日 | 3 | 1
106 | 2015 年 1 月 6 日 | 1 | 4
正如您希望在此示例中看到的那样,客户订单是根据订单日期排名的,他们的第一个订单为 1,对于客户“1”,他们的最后一个订单为 4。
我使用的公式是:
=
RANKX (
FILTER (
'DataSet',
[CustomerID] = EARLIER ( [CustomerID] )
),
[OrderID],
[OrderID],
1,
DENSE
)
使用此公式不会根据我选择的任何过滤器更改订单排名。
我现在需要的是一个类似的列,但排名基于我应用的过滤器,特别是我需要能够按日期过滤。例如,如果我使用完全相同的数据,但只过滤了 3 月、4 月、5 月、6 月的月份,我希望看到以下内容:
订单ID |订购日期 |客户ID | PersistantOrderCount
103 | 2015 年 1 月 3 日 | 1 | 1
104 | 2015 年 1 月 4 日 | 2 | 1
105 | 2015 年 1 月 5 日 | 3 | 1
106 | 2015 年 1 月 6 日 | 1 | 2
注意顺序 103 和 106,之前分别排名 3 和 4,现在排名1 和 2,因为在选定的日期期间,他们是客户的第一和第二订单。
谁能帮我做这件事?
我尝试重新组织我的公式以使用 CALCULATE() 并考虑使用其上下文敏感过滤器,但这不起作用。这对我来说非常令人沮丧,因此非常感谢您的帮助。
谢谢。
【问题讨论】:
标签: excel powerpivot dax