События рейтинга 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])

or

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

Будем очень признательны за любые идеи!

Спасибо за любую помощь заранее!


person Yikes_H    schedule 14.07.2015    source источник


Ответы (1)


Создайте следующие меры:

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

а также

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

и вот результат, который вы получите:

введите описание изображения здесь

Примечание. Мои даты указаны в формате для Великобритании, и я подозреваю, что ваши даты были в формате для США, поэтому рейтинг не соответствует вашему примеру, но это работает!

person Gordon K    schedule 15.07.2015