2015-05-26 2 views
1

У меня есть показатель, который содержит выделенное значение для каждого элемента на уровне иерархии. Можете ли вы мне помочь, как я могу спроектировать эту меру, чтобы избежать скопления для каждого элемента во всех дочерних элементах?Не агрегируемая мера, на которую ссылается иерархия

Я попытался сделать что-то подобное, но я сделал что-то неправильно, потому что функция Generate в этом случае возвращает слишком много элементов.

SCOPE 
    (
    [Measures].[Test] 
    ,[Organization Structure].[Parent Id].MEMBERS 
); 
    This = 
     [Measures].[Core Totals Target] 
    - 
     Sum 
     (
     Generate 
     (
      (EXISTING 
      [Organization Structure].[Parent Id].MEMBERS) 
     ,Descendants 
      (
      [Organization Structure].[Parent Id].CurrentMember 
      ,1 
      ,SELF 
     ) 
     ) 
     ,[Measures].[Core Totals Target] 
    ); 
END SCOPE; 

У вас есть идея, как решить эту проблему?

+0

вы добавили тег 'mdx' - пожалуйста, добавьте свой mdx. – whytheq

+0

Mdx добавил - Спасибо – wbargiel

+0

Почему Generate требуется в этом скрипте? Вы просто генерируете потомков иерархии X, в иерархии X. – whytheq

ответ

0

Не слишком уверен в цели генерации в вашем скрипте. Похоже, он делает то же самое:

SCOPE 
    (
    [Measures].[Test] 
    ,[Organization Structure].[Parent Id].MEMBERS 
); 
    This = 
     [Measures].[Core Totals Target] 
    - 
     Sum 
     (
     Descendants 
      (
      [Organization Structure].[Parent Id].CurrentMember 
      ,1 
      ,SELF 
     ) 
     ,[Measures].[Core Totals Target] 
    ); 
END SCOPE; 
+0

Благодарим за ответ, но ваш пример будет работать для одного выбора, но в моем случае он должен работать для набора. Например, если вы будете использовать набор членов [Organization Structure]. [Parent Id], произойдет ошибка, потому что CurrentMember не будет существовать. Это причина, по которой я пытался использовать функцию Generate – wbargiel

+0

хорошую точку. Я оставлю свой «ответ», поскольку он может помочь другим: по крайней мере, знать, что не делать. К сожалению, мой опыт 'scope' внутри' cube scripts' очень ограничен, извините, что я больше не помогаю. – whytheq

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