2016-08-28 6 views
1

У меня есть следующий вычисляемый элемент, который представляет собой количество «затоваривание» продуктов:MDX рассчитано контекст размер члена

WITH 
    MEMBER [Measures].[Overstocked Items Count] AS 
     FILTER(
      [Items].[Item No].CHILDREN, 
      [Measures].[Overstocked Qty] > 0 
     ).COUNT 

Это работает очень хорошо для любого связанного с измерением группы мер для самого измерения Items за исключением и причины очевидны. Есть ли способ создать вычисляемый элемент, который будет уважать контекст, в котором он оценивается? Таким образом, в основном, если этот член оценивается по коду группы элементов, мне нужны элементы, подсчитываемые этими группами, а не все элементы.

+0

Можно ли разместить весь скрипт, включая предложения select и where? – whytheq

+0

Нет сценария как такового - он предназначен для вычисления куба элемента. Однако ключевое слово EXISTING делает трюк. Спасибо большое! – bvv

+0

Имейте в виду, что СУЩЕСТВУЕТ не будет. Я добавлю еще несколько подробностей к моему ответу. – whytheq

ответ

3

EXISTING является полезным ключевое слово, которое может добавить текущий контекст вашей мерке:

WITH 
    MEMBER [Measures].[Overstocked Items Count] AS 
     FILTER(
      EXISTING([Items].[Item No].CHILDREN), 
      [Measures].[Overstocked Qty] > 0 
     ).COUNT 

EXISTING очень хорошо, если вы хотите знать, что присутствующие в другой иерархии в же размерности. например скажем, у вас есть U.S.A, выбранный из иерархии страны (в географическом измерении), и вам нужно подсчитывать элементы состояния/округа из иерархии stateCounty, которая также является частью измерения географии, тогда EXISTING является правильным выбором.

Если вы хотите пройти измерения, скажите, что у вас есть США, и вы хотели бы подсчитать клиента, от измерения клиента, связанного с США, тогда я не думаю, что EXISTING будет работать - вам понадобится для изучения либо EXISTS, либо NONEMPTY.

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