Ошибка с безопасностью на уровне динамических строк в многомерном OLAP

#sql-server #ssas #mdx #row-level-security #multidimensional-cube

Вопрос:

Я попытался запустить многомерный проект с динамическим RLS. Я использовал образец для его реализации.

В моем примере сценария у меня есть детеныш, как показано ниже :

введите описание изображения здесь

Я попытался написать правильный многомерный запрос для результата тестирования разрешения пользователей.

 SELECT {[Measures].[Point Transaction Count],[Measures].[Amount],[Measures].[Balance]} ON 0,
NonEmpty ([Club].[Club].[Club].MEMBERS,([Users].[User Name].amp;[[MyDomain]a.ghasemi],[Measures].[User Permission Count])) ON 1
FROM [DynamicPointTransaction]
GO
 
Количество транзакций по Точкам Сумма Баланс
ТестКлуб 30 34151 99210

Этот результат верен, и когда я меняю имя пользователя, он хорошо работает в редакторе запросов SSMS.

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

Атрибут «Клуб» в измерении «Клуб» содержит сгенерированное выражение безопасности измерения, которое недопустимо.

Я создал роль с помощью DimesionData с разрешенным набором участников, как показано ниже :

 NonEmpty (
[Club].[Club Id].[Club Id].Members,
(
StrToMember ("[Users].[User Name].amp;["   UserName ()   "]"),
[Measures].[User Permission Count]
)
)
 

Add membership, add read permission for cub and dimensions.

When browse with Role or users raise this error :

Choice user

Error

No different between Role and Users… error is stable.
When choice Admin users, I don’t have any error.