年复一年的 DAX 排名事件

DAX Ranking events year over year

我有一个 table 的数据,其格式类似于以下内容:

EventID | Event Date
--------------------
   1    | 1/1/2014
   2    | 2/8/2014
   3    | 10/1/2014
   4    | 2/5/2014
   5    | 4/1/2014
   6    | 9/1/2014

我想做的是创建一个 DAX 公式,以按照当年发生的顺序对每个事件进行排名。所以我想结束这样的事情。这样我就可以逐年比较事件,因为事件不会按任何固定的时间表发生。

Event Date | Year | Rank
------------------------
1/1/2014   | 2014 |  1
2/8/2014   | 2014 |  2
10/1/2014  | 2014 |  3
2/5/2015   | 2015 |  1
4/1/2015   | 2015 |  2
9/1/2015   | 2015 |  3

我试图通过创建一个公式来实现这一点,该公式将给出一年中的天数:

Day of Year =(YEARFRAC(CONCATENATE("Jan 1 ", YEAR([Event Date])),[Event Date])*360)+1

然后在此 table 上使用 rankX,但我似乎无法获得正确的结果。也许我不了解 rankX 的使用或以正确的方式处理此问题。

=RANKX(FILTER(Event,EARLIER(Event[Event Year])=Event[Event Year]),Event[Day of Year])

=RANKX(All(Event[Event Year]),[Day of Year],,1,Dense)

如有任何想法,我们将不胜感激!

提前感谢您的帮助!

创建以下措施:

[Year]:=YEAR(LASTDATE(Event[Event Date]))

[Rank]:=RANKX(FILTER(ALL(Event),[Year]=YEAR(MAX(Event[Event Date]))),FIRSTDATE(Event[Event Date]),,1,DENSE)

这是您得到的结果:

注意:我的日期是英国格式,我怀疑你的是美国格式,所以排名似乎与你的例子不符,但它确实有效!