Рассчитывает на основе нескольких условий в OLAP MDX в одном операторе

Я застрял с объединением различных условий MDX в один оператор на MDX-SSAS.

Детали: у меня есть куб (принятие) со следующими данными, как показано ниже:

Uniq_ID        Acceptance_Type        Responsible_Area
   1              Accepted                FrontEnd
   2              Denied                  BackEnd
   3              Accepted                FrontEnd
   4              Accepted                FrontEnd
   5              Denied                  BackEnd
   6              Accepted                BackEnd
   7              Denied                  BackEnd
   8              Accepted                FrontEnd
   9              Accepted                BackEnd

Логика:

(Количество UniqID, где Acceptance_type = 'Accepted' и Responsible_Area = 'FrontEnd' / count(ALL))

На данный момент я создал 3 подсчитанных членов в моей системе SSAS, чтобы получить показатель приемлемости:

1. [Количество принятых] -> Здесь я просто беру количество всех членов, ГДЕ Acceptance_type = "Accepted"

Код: ([AcceptanceType]. [AcceptanceType]. [AcceptanceTypeID]. & [2],[Показатели]. [Количество])

2. [Количество принятых с ответственным интерфейсом области] Здесь я добавляю еще одно условие Responsible_area = FrontEnd

Код: ([AcceptanceType]. [AcceptanceType]. [AcceptanceTypeID]. & [2],[Measures]. [Count of Accepted]) Обратите внимание, что я использую меру, созданную в 1

3. [Уровень приемки]
** Код: IIF ([Показатели]. [Количество] = 0, НЕДЕЙСТВИТЕЛЬНО,[Количество принятых с ответственной областью Frontend] / [Показатели]. [Количество])

Я на самом деле цепочки рассчитанных членов.

Я хочу объединить все пункты 1, 2,3 в один и не могу этого сделать. Я использую Microsoft Visual Studio -SSAS.

1 ответ

Вы можете сделать это в один калькулятор, как это. Обратите внимание, что я составил ссылку на участника Frontend, потому что у вас не было примера в вашем вопросе

DIVIDE(
 ([AcceptanceType].[AcceptanceType].[AcceptanceTypeID].&[2],[ResponsibleArea].[ResponsibleArea].&[Frontend],[Measures].[count]),
 [Measures].[count]
)

Обратите внимание, что DIVIDE это просто ярлык для вашего IIf(count=0,,) код. Это должно работать, если у вас нет более старой версии SSAS.

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