Предоставление полномочий членам измерения через родительское измерение в иерархии

В базе данных SSAS я использую измерения «агентства» и «кампании». Есть около десяти агентств и около 2000-5000 кампаний на каждое агентство. Требование состоит в том, чтобы разрешить пользователям на уровне агентства. Когда пользователь находится в роли, которая разрешена только для агентства 1, он не должен иметь возможности просматривать какие-либо другие кампании, кроме кампаний агентства 1.

Конечно, это можно сделать, просто предоставив роли доступ к членам кампании, принадлежащим агентству 1. Для этого потребуется очень длинный оператор MDX. Тем не менее, я думаю, что сценарий довольно распространен, и я заметил несколько подходов, но я не знаю, какой из них является хорошей практикой:

  • Использование фальшивых фактов между агентствами и кампаниями (кажется излишним, так как в таблице кампаний есть agengyID)
  • Использование оператора MDX в разрешениях кампании, который выбирает кампании через членов родительского агентства.
  • Настройте иерархию между агентством и кампанией (на самом деле я пытался это сделать, и это кажется логичным, но иерархии, похоже, вообще не связаны с разрешениями)
  • Может что-то совсем другое?

person TvdH    schedule 07.12.2014    source источник
comment
Почему вы говорите, что иерархии не имеют отношения к разрешениям? См. вкладку «Данные измерений» для любой роли в VS.   -  person Tab Alleman    schedule 08.12.2014
comment
Спасибо, Tab, вы правы, я допустил ошибку при тестировании (на самом деле иерархия не требуется, но отношения атрибутов обязательны). Если вы не против добавить свой комментарий в качестве ответа, я могу принять ваш ответ.   -  person TvdH    schedule 09.12.2014


Ответы (1)


Вы можете установить разрешения для иерархий измерений, открыв роль в Visual Studio и перейдя на вкладку Данные измерений. Будет раскрывающийся список для выбора измерения, а затем еще один для выбора иерархии, а затем вы можете указать, какие данные может видеть эта роль.

person Tab Alleman    schedule 09.12.2014