CurrentMember (MDX) игнорирует размер слайсера - PullRequest
0 голосов
/ 14 апреля 2009

Я использую функцию CurrentMember в выражении CellData роли, чтобы ограничить доступ к кубу через определенное измерение. Это работает, как и ожидалось, с одним исключением. Даже если измерение среза используется для фильтрации данных, которые роль не имеет права видеть, строка '# N / A' отображается во всех ячейках.

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

Мне кажется, что функция CurrentMember игнорирует измерение среза. Это тот случай? Как мне подойти к этой проблеме?

Ответы [ 2 ]

1 голос
/ 16 июня 2009

Зависит от того, как вы делаете запрос с фильтрами. Если вы генерируете подзапрос (используя верхнюю область фильтра в SSMS или BIDS), то currentMember вернет элемент All - именно так были разработаны подзапросы для работы. Если вы используете нижний запрос в SSMS или BIDS, он будет использовать предложение WHERE, и вы должны увидеть ожидаемые результаты.

И вам может быть лучше использовать вкладку данных измерения вместо данных ячейки, если вы просто фильтруете по элементам измерения.

0 голосов
/ 24 апреля 2009

Мой совет, если серьезно, избегать кубов, требующих ограничения доступа с использованием значений кубов. Будучи там, сделал это, потратил слишком много времени и все еще получал нестабильное решение.

ОПРЕДЕЛЕННО НЕ используйте «роли» в OLAP.

...