Как я могу фильтровать значения из двух измерений в MDX?
Требуемый результат должен включать записи, в которых [Purchase Date].[Date]
соответствует сегодняшнему дню минус количество лет, прошедших с [Accounting Date].[Year]
. Таким образом, результат должен включать записи в годовом исчислении за сегодняшний день на основе [Purchase Date].[Date]
для каждого [Accounting Date].[Year]
участника.
Я хотел бы что-то вроде следующего:
SELECT NON EMPTY [Measures].[Amount] ON 0,
NON EMPTY [Accounting Date].[Year].[Year].ALLMEMBERS ON 1
FROM [Tabular_Model]
WHERE (
NULL :
STRTOMEMBER("[Purchase Date].[Date].&["+ Format(DateAdd("YYYY", [Accounting Date].[Year].CURRENTMEMBER.MEMBER_VALUE - 2020, Now()),"yyyy-MM-ddT00:00:00") + "]")
)
Но происходит сбой с ошибкой: выполнение управляемой хранимой процедуры DateAdd завершилось сбоем со следующей ошибкой: Microsoft::AnalysisServices::AdomdServer::AdomdException. Синтаксис для «Все» неверен. (Все).
Почему CURRENTMEMBER.MEMBER_VALUE работает для HAVING, но не в моем предложении WHERE? Каков правильный путь?