Я работаю в инструменте BI для самообслуживания (если это помогает), что позволяет использовать пользовательские элементы, используя MDX.MDX Calculated Member Третий параметр
Я пытаюсь найти меру, связанную с другим измерением (Прогнозная сумма привязана к Неделе прогноза) на основе значения, выбранного в выбранном измерении, Дата текущего заказа.
Функция linkmember - это то, что я думал об использовании и, кстати, в настоящее время используется. Парень, который работал до меня, придумал этот запрос для вычисляемого элемента:
<code>
(
LINKMEMBER
(
[Order Date].[Order Calendar].[[email protected] Order [email protected]!].PARENT
, [Forecast Date].[Order Calendar]
)
,[Measures].[Forecast Amount]
,[Order Date].[Order Calendar].[All]
)
</code>
Я сейчас поставлена задача сделать больше изменений в этом запросе (различные меры и размеры и т.д.)
Мой вопрос был связанный с третьим аргументом/параметром в вышеприведенном общем запросе, [Order Date]. [Order Calendar. [All], (а не бит linkmember, который я знаю, как он работает).
Моя интерпретация вышеуказанного утверждения в псевдо-английском языке была «для члена или набора членов, сгенерированных первым аргументом (оператор LINKMEMBER), возвращает соответствующую сумму меры (Прогноз)), но для жизни меня , Я не могу понять, что делает третий аргумент и является ли он лишним. Запрос работает в его текущей форме, так что, если я его отброшу или нет, я хотел бы знать, почему я это делаю.
Я попытался выполнить поиск, чтобы увидеть, связано ли это с областью действия запроса, но не содержит ключевое слово SCOPE и не найдено результатов поиска по «третьему параметру» и т. Д. Насколько мне известно, этот не относится к субкубам и т. д., но я рад, что исправлен.
Любые входы или указатели на то, что я должен искать, будут высоко оценены.
(извинения, если я пропустил некоторые другие критерии поиска)
Спасибо, S
Редактировать добавлено добавить пример во время тестирования ответа FrankPI в
Благодаря FrankPI. Понадобилось время, чтобы переварить, но получил его в конце концов, прочитав ваш комментарий и придумав пример.
Если я правильно понял, без третьего параметра, измерение, возвращаемое в результате первых двух аргументов, затем подмножается (/ нарезано) тем, что отображается в текущей строке, как показано ниже. Если между ними существует взаимосвязь, то это прекрасно.
<code>
with
member [measures].[x1] as
(
LINKMEMBER
(
[Order Date].[Order Calendar].[Trading Week].&[2014]&[47]
, [Forecast Date].[Order Calendar]
)
,
[Measures].[Forecast Amount]
)
select
{
[measures].[x1]
}
on 0,
{
[Forecast Date].[Order Calendar].[Trading Week].&[2014]&[47]
}
on 1
from [Cube]
</code>
Но когда внизу не происходит (никакого отношения), то возвращается Null, если контекст не установлен, как так
<code>
with
member [measures].[y1] as
sum
(
LINKMEMBER
(
[Order Date].[Order Calendar].currentmember
, [Forecast Date].[Order Calendar]
)
,
[Measures].[Forecast Amount]
)
member [measures].[y2] as
(
LINKMEMBER
(
[Order Date].[Order Calendar].currentmember
, [Forecast Date].[Order Calendar]
)
,
[Measures].[Forecast Amount]
,
[Order Date].[Order Calendar].[All]
)
select
{
[measures].[y1] // returns null
,
[measures].[y2] // returns value
}
on 0,
{
[Order Date].[Order Calendar].[Trading Week].&[2014]&[47]
}
on 1
from [Cube]
</code>
Спасибо за ответ!
Спасибо за ваш ответ. Оригинальный вопрос, отредактированный выше, чтобы проиллюстрировать пример, если кто-то останавливается. –