Правильно ли использовать этот способ для получения значения меры из временного интервала в MDX, перераспределяемого на другой год? - PullRequest
0 голосов
/ 17 июня 2019

У меня запрос MDX, целью которого является чтение моего куба, чтобы сообщать мне некоторые данные за раз, скажем, Year, Month и Starting Day и Ending Day в качестве интервала.

Этот запрос (упрощенный):

WITH 
MEMBER [Measures].[N Tiendas AA] AS ( STRTOMEMBER( @pPrevAno, CONSTRAINED ) , [Measures].[N Tiendas] )

SELECT NON EMPTY {
[Measures].[N Tiendas],
[Measures].[N Tiendas AA]} ON COLUMNS, 

NON EMPTY { [Tiempo].[Meses].[Mes] } 

ON ROWS FROM ( ... ) 

ON COLUMNS FROM ( SELECT ( STRTOSET(@pEjercicio, CONSTRAINED) ) 
ON COLUMNS FROM ( SELECT ( STRTOSET(@pMes, CONSTRAINED) ) 
ON COLUMNS FROM ( SELECT STRTOMEMBER(@pDiaInicio, CONSTRAINED):STRTOMEMBER(@pDiaFin, CONSTRAINED)
ON COLUMNS FROM [Transacciones]))))

Как видите, я фильтрую в конце между pDiaInicio и pDiaFin мои дни начала и окончания в течениемесяц.

Кажется, все в порядке.Но проблема в том, что, как вы можете видеть в заявленных членах в начале, я пытаюсь переместить это, чтобы также фильтровать те же дни и месяцы, что и в предыдущем году.

Для этого я в основномсозданные члены, использующие предыдущий год @pPrevAno для запроса той же меры.

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

Просто чтобы прояснить мой вопрос:

Будет [Меры].[N Tiendas AA] имеют значение за период времени, переоцененный до pPrevAno года?Если нет, то как этого достичь?

PS.Я тоже пробовал с PARALLELPERIOD, но цифры сошли с ума.Это было что-то вроде:

MEMBER [Measures].[N Tiendas AA 2] AS ( PARALLELPERIOD( [Tiempo].[Periodos].[Ano] , 1 , STRTOMEMBER( @pPrevAno, CONSTRAINED ) ),[Measures].[N Tiendas]  )
...