Неверный результат параллельного периода () для ДАТЫ в MDX

Я хочу извлечь данные за тот же период прошлого года и прошлого месяца. для этого я использую Parallelperiod(), например,

PARALLELPERIOD([date].[year],1,[date].[date].[20-Sep-2014]) , 

за что я получаю вывод: 21-сен-2014

а также

PARALLELPERIOD([date].[month],1,[date].[date].[20-Sep-2014]) , 

за что я получаю вывод: 16 августа 2014

Та же функция выдаст другую дату для другого месяца

Можете ли вы рассказать о проблеме, где я делаю что-то не так или есть другая альтернатива?

1 ответ

Решение

У вас должны быть некоторые даты, которых нет в кубе.

Что за PARALLELPERIOD Функция делает говорит хорошо, мы 262 членов на [дата] level в 2014 - затем идет в 2013 и находит участника в [дата] level это также 262 члена. Поэтому, если у вас нет полных наборов дат в вашем кубе, эта функция выдаст удивительные результаты.

Поэтому решение состоит в том, чтобы гарантировать, что все исторические даты представлены в кубе. Эти дополнительные даты не должны вызывать дополнительных затрат, поскольку они будут создавать пустое пространство в кубе, с которым очень хорошо справляются SSAS

Другие вопросы по тегам