Функция 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 детей.

Другие вопросы по тегам