Я использовал несколько методов для решения подобных проблем: сначала создайте внутренний параметр для отчета, который будет содержать идентификатор пользователя."= User! UserID" Далее вам нужно объединить разрешения. Это проще всего, если у вас есть пользователь для сопоставления групп / разрешений где-то в SQL.Тогда это просто SQL-соединение.
В противном случае вы можете настроить Active Directory «Связанный сервер», который может запрашивать AD для членов группы.Это может занять некоторое терпение и устранение неполадок.После настройки вы можете присоединиться к членству в каждой группе.
Если бы я создавал то, что вы описываете, я бы запрограммировал экспорт данных AD в SQL для регулярного запуска (.NET .exe),поддержание таблицы SQL в актуальном состоянии с разрешениями.Это было бы проще в настройке и более надежно, чем связанный сервер SQL-> AD.
Я могу найти ссылки на подход со связанным сервером, если это будет полезно ...