SSAS многомерного динамического измерения безопасности MDX
Я пытаюсь реализовать динамическую защиту измерений в многомерной модели SSAS 2012. Я немного разбираюсь в этом, потому что уже реализовал безопасность на уровне строк в SSAS Tabular с использованием DAX.
То, что я сделал в Tabular, точно такое же, как описано в msdn. http://msdn.microsoft.com/en-in/library/hh479759.aspx
DAX, который я использовал в таблице
='Organization'[Project Id]=LOOKUPVALUE('Безопасность сотрудника' [Идентификатор проекта], 'Безопасность сотрудника' [Идентификатор входа], USERNAME(), 'Безопасность сотрудника' [Идентификатор проекта], 'Организация' [Идентификатор проекта])
- Организация - Таблица измерений, по которой должна выполняться динамическая фильтрация (на основе идентификатора проекта).
- Безопасность сотрудников - Таблица размеров с логином Идентификаторы пользователей сохраняются
Мне также необходимо реализовать ту же функциональную динамическую защиту в многомерной модели.
Может ли кто-нибудь помочь мне с MDX и шагами, которые следует использовать здесь, чтобы добиться того же?
Если вы хотите больше разъяснений по моему требованию, пожалуйста, спросите то же самое.
Заранее спасибо.
1 ответ
В многомерной модели вам необходимо иметь измерение, которое содержит все идентификаторы пользователей (которые объединены с идентификаторами проекта). Затем создайте роль и используйте функцию StrToMember, чтобы динамически перехватить идентификатор пользователя и преобразовать его в член из измерения безопасности.
{StrToMember ("Dim.Users. & [" + UserName () + "]")}
Подробнее об этой теме можно прочитать здесь: http://richardlees.blogspot.se/2010/10/ssas-dynamic-security.html