MDX-запрос с вложенными агрегатами
WITH
MEMBER [Measures].[newCalculatedMeasure] AS
Sum
(
Filter
(
Descendants
(
[Date].[28 Days Month Calendar].CurrentMember
,2
,LEAVES
)
,
[Measures].[mymeasure] * 10
>
Avg
(
Filter
(
Descendants
(
[Date].[28 Days Month Calendar].CurrentMember
,2
,LEAVES
)
,
[Measures].[mymeasure] > 0
)
,[Measures].[mymeasure]
)
)
,[Measures].[mymeasure]
)
SELECT
[Date].[28 Days Month Calendar].MEMBERS ON 0
,[Measures].[newCalculatedMeasure] ON 1
FROM [cube];
Вышеупомянутый запрос не оценивает функцию внутреннего усреднения, в то время как если я заменю ее на фактическое среднее значение, она будет работать нормально
Может кто-нибудь сказать мне, что не так с вышеуказанной мерой..
1 ответ
Решение
Помогает ли разделение меры на именованные множества с этой проблемой контекста?
WITH
SET [MYSET] AS
Descendants
(
[Date].[28 Days Month Calendar].CurrentMember
,2
,LEAVES
)
SET [MYSETFILTERED] AS
Filter
(
[MYSET]
,
[Measures].[mymeasure] > 0
)
MEMBER [Measures].[newCalculatedMeasure] AS
Sum
(
Filter
(
[MYSET]
,
[Measures].[mymeasure] * 10 > Avg([MYSETFILTERED],[Measures].[mymeasure])
)
,[Measures].[mymeasure]
)
SELECT
[Date].[28 Days Month Calendar].MEMBERS ON 0
,[Measures].[newCalculatedMeasure] ON 1
FROM [cube];
Именованные наборы с агрегатами могут иногда влиять на производительность, поэтому, извините, если все вышеперечисленное замедляет все.