2017-02-06 5 views
0

У меня есть куб SSAS с данными о продажах. Одним из аспектов, называется Департамент и выглядит следующим образом: Уровень 1: ДепартаментИзмерение безопасности в SSAS

Уровень 2: МВЗ

Другое измерение выглядит следующим образом: Уровень 1: Клиент

Уровень 2: AccountNo

Уровень 3: Счет-фактура

Некоторые пользователи могут видеть только конкретный МВЗ. Это я решил с созданием роли и ограниченным доступом к размерным данным для отдела измерений. Пока это хорошо.

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

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

Мне нужны некоторые данные о моих вариантах здесь. Будет ли какой-то субкуб опцией, или новый куб (немного звучит поверх)? Другим вариантом будет создание другой иерархии в измерении Клиента, который использует МВЗ, учетную запись и счет-фактуру. Это должно было бы устранить уровень клиента, поскольку клиент может иметь несколько учетных записей, принадлежащих разным МВЗ.

Любой вход прием, мне не нужно точных решений, но и руководство ...

ответ

0

Хорошая новость заключается в том, что вы можете сделать это в измерение безопасности.

Вы должны настроить роль для этих пользователей. На вкладке «Данные измерений» роли в VS есть вкладка «Дополнительно». Здесь вы можете ввести MDX, который возвращает набор элементов измерения, которые пользователи могут видеть.

Есть довольно много раздражающих подводные камней с безопасностью измерения:

  1. Убедитесь, что вы установите безопасность в кубы размеров, а не в базах данных размеров (они оба будут перечислены в раскрывающемся списке наверху, поэтому очень просто выбрать неправильный экземпляр).
  2. В выражении MDX используйте только иерархии атрибутов, а не иерархии пользователей. В противном случае вы получите странные ошибки.

Ваш «Allowed набор элементов» выражение для измерения Клиенты должны быть что-то вроде этого:

EXISTS([Client].[An attribute hierarchy].Members, 
{A set of cost centers the user is allowed to see}, 
"Name of a measure group that will have a non-NULL value if the client has 
had dealings with the cost centre") 

В качестве примера, то выражение, которое я придумал, чтобы проверить это на кубе я работаю (ограничение клиентов для тех, кто приобрел конкретный бренд):

EXISTS([Customer].[Customer Key].Members,[Product].[Brand].&[MH],"OrderItems") 
+0

Это работает! Благодаря! – user88139