Рассчитывает на основе нескольких условий в 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.