MDX найти в субботу 2 года назад
Я пытаюсь написать заявление, в котором будут приведены сопоставимые даты последней субботы один и два года назад. Так что, если в прошлую субботу было 2018-01-06, мне нужно вернуть 2017-01-07 и 2016-01-09. Код ниже возвращает 2017-01-07 (правильно) и 2016-01-02 (неверно).
Смотрите ниже код:
StrToMember("[Sales Period].[Sales Period].[Week Desc].&
[" + Format(DateAdd("d",
- DatePart("w", DateAdd("yyyy", -2, Now()), 1),
DateAdd("yyyy", -2, Now())),
"yyyy-MM-ddT00:00:00") +
"]")
--returns 2017-01-07
StrToMember("[Sales Period].[Sales Period].[Week Desc].&
[" + Format(DateAdd("d",
- DatePart("w", DateAdd("yyyy", -2, Now()), 1)-7,
DateAdd("yyyy", -2, Now())),
"yyyy-MM-ddT00:00:00") +
"]")
-- returns 2016-01-02
Есть идеи, где проблема? У меня такое ощущение, что я переусердствовал здесь.
Благодарю.
1 ответ
Это было решено с помощью DateAdd("ww", -52, Now())) и DateAdd("ww", -104, Now())), поскольку наше определение сопоставимой субботы основано на скользящих 52 неделях, а не на 1 год.