SSAS MDX Получение атрибута измерения на основе других измерений атрибута и динамической меры - PullRequest
0 голосов
/ 05 сентября 2018

В настоящее время у меня возникла проблема, поскольку мне нужно динамически связать атрибут измерения в моем многомерном кубе на основе вычислений, выполненных для самого куба.

На основании даты, выбранной пользователем, мне необходимо рассчитать количество дней, в течение которых определенный тип материала находится на складе. Затем, основываясь на возвращаемом значении и типе материала и его группе, свяжите атрибут измерения вращения. То есть у меня есть Тип материала, Группа измерений и Вращение. Затем на основе расчета количества дней на складе (этот расчет уже сделан и работает должным образом), тип материала и группа, связанная с определенным атрибутом.

Пример:

Product Prod_Typ    Group
PrdA    ZMA1        SAID

Если мой показатель «количество дней» равен 89, мне нужно связать идентификатор «4» (на основе приведенной ниже таблицы), поскольку мой показатель возвращает значение от 0 (INI) до 90 (END):

ID  MATTYP  GRP   COD_ID    INI  END        DSC
1   ZMA     CONS    1       0    90         TextA
2   ZMA     CONS    2       91   180        TextB
3   ZMA     CONS    3       181  99999      TextC
4   ZMA1    SAID    1       0    90         TextD
5   ZMA1    SAID    2       91   180        TextE
6   ZMA1    SAID    3       181  99999      TextF

1 Ответ

0 голосов
/ 04 декабря 2018

Вам нужно сделать следующее.

  1. Составьте таблицу сопоставления, которую вы показали Факт. Допустим Range_Fact
  2. Подключите Range_Fact к Prod_Typ и Группе. Это будет просто как они уже представлены в виде измерений.
  3. В Fact_Range создайте две меры min (INI) и max (end).
  4. Теперь в вашем запросе вам нужно отфильтровать на основе расчета количество дней между min (ini) и max (end). Ваш запрос будет быть как

    выберите [Меры]. [Количество дней] в столбцах,

    фильтр ( ([DimProduct]. [PrdA]. [Prda], [DimProductType]. [Pod_Typ]. [Pod_Typ], [DimGroup]. [Группа]. [Группа]), [Показатели]. [DayCount]> = [Показатели]. [MinINI] и [Показатели]. [DayCount] <= [Измерения]. [MaxEnd] ) из [MyCube] </p>

...