SSAS OLAP да / нет Измерение, включая все строки в опции да
Мне нужно добавить новое измерение в мой куб OLAP, чтобы отфильтровать некоторые rows
,
По сути, если пользователи выбирают "yes"
должно появиться все строки. Если пользователи выбирают "no"
должны появиться идентифицированные строки.
у меня есть column
в моей фактической таблице с 0
а также 1
(no
/yes
)..
Моя проблема в том, что мне нужно "ignore"
этот столбец, если пользователи выбирают "да" и ищут его только в случае выбора "нет".
Я думал об измерении мусора, но для этого мне нужно иметь два атрибута.
Какие-либо предложения
Спасибо
2 ответа
Под "фильтрацией некоторых строк в кубе" вы подразумеваете применить фильтр, если в вашем измерении выбран элемент [Нет], правильно? В противном случае показать все меры, как будто нет фильтра.
Можно ли использовать перенаправление SCOPE на участника [All], если выбрано [Да]?
SCOPE([YourDimension].[Yes]);
THIS=[YourDimension].[All];
END SCOPE;
Это должно работать для каждого измерения в кубе.
Более того, даже если куб ALTER не разрешен, вы можете достичь его в два этапа:
- Создать меру для ВСЕГО (нефильтрованного) значения.
- Показывать это только для определенных участников.
Например, [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]
Но, пожалуйста, попробуйте SCOPE как первый. Потому что это может быть применено к любой мере, даже не создано.
Нет способа создать такое измерение. Вы должны справиться с этим в приложении, где пользователи выбирают да / нет.