SSAS OLAP да / нет Измерение, включая все строки в опции да

Мне нужно добавить новое измерение в мой куб OLAP, чтобы отфильтровать некоторые rows,

По сути, если пользователи выбирают "yes" должно появиться все строки. Если пользователи выбирают "no" должны появиться идентифицированные строки.

у меня есть column в моей фактической таблице с 0 а также 1 (no/yes)..

Моя проблема в том, что мне нужно "ignore" этот столбец, если пользователи выбирают "да" и ищут его только в случае выбора "нет".

Я думал об измерении мусора, но для этого мне нужно иметь два атрибута.

Какие-либо предложения

Спасибо

2 ответа

Решение

Под "фильтрацией некоторых строк в кубе" вы подразумеваете применить фильтр, если в вашем измерении выбран элемент [Нет], правильно? В противном случае показать все меры, как будто нет фильтра.

Можно ли использовать перенаправление SCOPE на участника [All], если выбрано [Да]?

SCOPE([YourDimension].[Yes]);
THIS=[YourDimension].[All];
END SCOPE;

Это должно работать для каждого измерения в кубе.

Более того, даже если куб ALTER не разрешен, вы можете достичь его в два этапа:

  1. Создать меру для ВСЕГО (нефильтрованного) значения.
  2. Показывать это только для определенных участников.

Например, [CY 2013] = ваш [Да]:

with
member [2013 is ALL] as ([Measures].[Order Count],[Date].[Calendar Year].[All])

member [2013] as
 iif([Date].[Calendar Year].CurrentMember is [Date].[Calendar Year].&[2013]
  or [Date].[Calendar Year].CurrentMember is [Date].[Calendar Year].[All Periods]
  ,[2013 is ALL],[Measures].[Order Count])

select {[Measures].[Order Count],[2013 is ALL],[2013]} on 0
,[Date].[Calendar Year].members on 1
from [Adventure Works]

ALL_for_member

Но, пожалуйста, попробуйте SCOPE как первый. Потому что это может быть применено к любой мере, даже не создано.

Нет способа создать такое измерение. Вы должны справиться с этим в приложении, где пользователи выбирают да / нет.

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