SSAS Cube: разные расчеты только для одной компании - PullRequest
0 голосов
/ 28 ноября 2018

Вот моя проблема: у меня есть куб SSAS для нескольких производственных компаний.Данные компании являются частью измерения "машина":

[Machine].[Company code]

Тогда у меня есть две меры:

[Measures].[OEE] and [Measures].[OEE for company X]

В этом случае я должен использовать вторую меру для компании X ипервая мера для всех других компаний.

Есть ли способ сделать одну меру, которая бы отображала одну меру для компании X и другую меру для других компаний?

1 Ответ

0 голосов
/ 28 ноября 2018

Возможны несколько сценариев (на основе источников, базовой логики и т. Д.)

  1. Для физических мер на основе столбцов.Создайте вычисляемый столбец в представлении источника данных с T-SQL: case when {company X} then {column for this company} else {columns for other companies} end.Используйте его как физическую меру в кубе.

  2. Для физических и расчетных мер.Скрыть существующие показатели, создать новый вычисляемый показатель с помощью MDX: IIF([Machine].[Company code].CurrentMember is [Machine].[Company code].&[X],[Measures].[OEE for company X],[Measures].[OEE]).

  3. Если для обоих разрешено только имя [OEE].Переименуйте существующий [OEE], скройте оба, создайте новую вычисляемую меру как [Measures].[OEE] as IIF([Machine].[Company code].CurrentMember is... из # 2 выше.

  4. Используйте инструкцию SCOPE.SCOPE([Machine].[Company code].&[X],[Measures].[OEE]); THIS=[Measures].[OEE for company X]; END SCOPE;

  5. Используйте прямой путь: ([Machine].[Company code].&[X],[Measures].[OEE])=[Measures].[OEE for company X];

Пожалуйста, используйте любой из них или обновите свой вопрос с более подробной информацией.

...