2014-11-28 3 views
0

У меня есть 1 виртуальный куб состоит из 2 кубов. Пример таблицы фактов 1-го куба.MDX: iif условие на величину измерения

id  object_id  time_id  date_id  state 
1  10    2   1    0 
2  11    5   1    0 
3  10    7   1    1 
4  10    3   1    0 
5  11    4   1    0 
6  11    7   1    1 
7  10    8   1    0 
8  11    5   1    0 
9  10    7   1    1 
10  10    9   1    2 

Где Состояние: 0 - Хорошо, 1 - вниз, 2 - Неизвестный

Для этого куба у меня есть одна мера StateCount она должна рассчитывать государства для каждого object_id. Вот, например, мы имеем такой результат:

для 10: 3 раз Ok, 2 раза вниз, 1 раз не указан для 11: 3 раз Ok, 1 раз вниз

Второй куб выглядит следующим образом:

id  object_id  time_id  date_id  status 
1  10    2   1    0 
2  11    5   1    0 
3  10    7   1    1 
4  10    3   1    1 
5  11    4   1    1 

Статус: 0 - out, 1 - in. Я сохраняю это в StatusDim.

В этой таблице хранятся записи, которые не должны учитываться. Если объект имеет статус 1, это означает, что я исключил его из count.

Если мы пересекались эти таблицы и использовать StateCount мы получим этот результат:

для 10: 2 раза Ok, 1 раз вниз, 1 раз Неизвестных

для 11: 2 раза Ok, 1 разы вниз

Насколько я знаю, я должен использовать рассчитанный элемент с условием IIF. В настоящее время я пытаюсь что-то вроде этого.

WITH MEMBER [Measures].[StateTimeCountDown] AS(
    iif(
    [StatusDimDown.DowntimeHierarchy].[DowntimeStatus].CurrentMember.MemberValue 
     <> "in" 
    , [Measures].[StateTimeCount] 
    , null) 

)

+0

Должен ли '[StatusDimDown.DowntimeHierarchy]' иметь дополнительные квадратные скобки '[StatusDimDown]. [DowntimeHierarchy]'? Какова релевантность «в»? – whytheq

ответ

0

многомерный способ сделать это было бы сделать атрибуты из вашего состояния и состояния столбцов (надеюсь с пользователем понятным членов, т. Е. С помощью «Ok», а не «0»). Затем вы можете просто использовать обычную меру счета на таблицах фактов и разрезать эти атрибуты. Нет необходимости в сложных определениях расчетов.

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