MDX Получите продажи, начиная с 2 лет назад и до сегодняшнего дня

Я пытаюсь сделать динамический отчет, в котором продажи тянутся с первого дня финансового года 2 года назад до сегодняшнего дня и перекатываются вперед с каждым новым финансовым годом. Наши финансовые годы не совпадают с календарными годами. У меня мало опыта работы с MDX, и я все еще учусь.

Таким образом, он должен посмотреть на сегодняшнюю дату, получить текущий финансовый год, вычесть из него 2 года, а затем вывести продажи, начиная с этого года, до сегодняшнего дня.

У меня были некоторые трудности с попыткой заставить дату работать правильно, так как я получал ошибки, однако приведенный ниже запрос теперь выводит для меня вчерашние продажи. Я предполагаю, что мне также нужно ссылаться на [Date].[Year], но я не знаю, как его использовать для получения желаемых результатов.

SELECT 
NON EMPTY 
{ [Measures].[Gross Margin Percentage], 
[Measures].[Gross Margin Value], 
[Measures].[Sales Value], 
[Measures].[Sales Units] } 
ON COLUMNS

FROM IMR

Where     
{StrToMember("[Date].[Date].&" + Format(CDate(now()-1), "[yyyy-MM-ddT00:00:00]"))}

person GigaFluxx    schedule 10.03.2021    source источник


Ответы (1)


Если вы хотите, чтобы результаты отображались в диапазоне дат, попробуйте StrToSet в своем предложении WHERE и сконструируйте аналогично тому, что вы делаете.

В настоящее время у вас есть это:

Where     
{StrToMember("[Date].[Date].&" + Format(CDate(now()-1), "[yyyy-MM-ddT00:00:00]"))}

Вот пример на 2 дня, который вы можете адаптировать под свои нужды:

Where     
{StrToSet(
   "[Date].[Date].&" + Format(CDate(now()-3), "[yyyy-MM-ddT00:00:00]")
   + ":"
   "[Date].[Date].&" + Format(CDate(now()-1), "[yyyy-MM-ddT00:00:00]")
 )}
person whytheq    schedule 20.03.2021