Excel formula DAX年度排名活动

Excel formula DAX年度排名活动,excel-formula,powerpivot,dax,Excel Formula,Powerpivot,Dax,我有一个数据表,其格式类似于以下内容: 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公式,按照一年中发生的顺序对每个事件进行排序。所以我想以这样的方式结束。通过这种方式,我可以比较一年比一年的事件,因为这

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

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
然后在这张桌子上使用rankX,但我似乎无法得到正确的结果。也许我不理解rankX的用法,或者没有正确的方法

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

任何想法都将不胜感激


提前谢谢你的帮助

创建以下度量:

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

这就是你得到的结果:

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

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