Под «фильтрацией некоторых строк в кубе» вы подразумеваете применение фильтра, если в вашем измерении выбран элемент [Нет], правильно?В противном случае показывайте все меры, как если бы не было фильтра.
Можно ли использовать перенаправление SCOPE на элемент [Все], когда выбрано [Да]?
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 в первую очередь.Потому что это может быть применено к любой мере, даже не созданной.