Функция HEAD внутри функции агрегации SUM
Как мне изменить этот скрипт так, чтобы HEAD
не находится внутри функции агрегирования SUM
?
Причина, по которой я хотел бы сделать это, заключается в том, что меня предупреждают, что:
Внутри функции агрегации была использована функция "Голова" - это отключает режим вычисления блока
WITH
SET [LatestDate] AS
[Date].[Calendar].[Date].&[20060611]
MEMBER [Measures].[Sales] AS
[Measures].[Internet Sales Amount]
MEMBER [Measures].[Sales_EquivMTD] AS
Sum
(
Head
(
[Date].[Calendar].CurrentMember.Children
,11
)
,[Measures].[Sales]
)
SELECT
{
[Measures].[Sales]
,[Measures].[Sales_EquivMTD]
} ON COLUMNS
,NON EMPTY
[Date].[Calendar].[Month].MEMBERS ON ROWS
FROM [Adventure Works];
1 ответ
Решение
Вы могли бы заменить
Head
(
[Date].[Calendar].CurrentMember.Children
,11
)
с выражением диапазона:
[Date].[Calendar].CurrentMember.Children.Item(0) : [Date].[Calendar].CurrentMember.Children.Item(10)
Но я не уверен, помогает ли это в производительности. И это может вызвать ошибку у участников, имеющих менее 11 детей.