年复一年的 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)
这是您得到的结果:
注意:我的日期是英国格式,我怀疑你的是美国格式,所以排名似乎与你的例子不符,但它确实有效!
我有一个 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)
这是您得到的结果:
注意:我的日期是英国格式,我怀疑你的是美国格式,所以排名似乎与你的例子不符,但它确实有效!