2013-04-30 6 views
1

Я знаю конечный результат этого MDX, в основном это будет SUM Amount measure по всем предыдущим периодам в Calendar Hierarchy включительно текущего периода.Что это означает mdx

SUM({null:[Date].[Calendar Hierarchy].CurrentMember},[Measures].[Amount]) 

Я хотел бы знать, как это работает, можете ли вы объяснить, что делает MDX.

ответ

1

Я не уверен, что вы спрашиваете о синтаксисе MDX или о том, как это обрабатывается в кубе, но позвольте мне ответить на вопрос MDX.

Итак, у вас есть определенный расчет, который будет SUM измерять через набор элементов.

SUM(
    {null : [Date].[Calendar Hierarchy].CurrentMember}, 
    [Measures].[Amount] 
) 

: является оператором диапазона. Он определяет набор в естественном порядке иерархии между начальным и конечным элементом: start : end. Если start имеет значение NULL, набор начинается с первого члена уровня, на котором включен конечный элемент. Посмотреть документы здесь: http://technet.microsoft.com/en-us/library/ms146001.aspx

Предположительно это используется в запросе, в котором вы выбираете, [Date] на одной оси с, и вы хотите, чтобы увидеть работает всего:

WITH MEMBER total AS 
    SUM({null:[Date].[Calendar Hierarchy].CurrentMember},[Measures].[Amount]) 
SELECT 
    total ON COLUMNS, 
    [Date].[Calendar Hierarchy].Members ON ROWS 
FROM [Your Cube] 

Расчет оценивается для каждого строка (член в [Date].[Calendar Hierarchy]), и для каждого из них набор, определенный {null : [Date].[Calendar Hierarchy].CurrentMember}, является всеми членами до и включая текущий.

Смежные вопросы