Передача параметра в XMLA

У меня есть следующий сценарий XMLA для добавления пользователей домена к определенной роли членства в SSAS. Он отлично работает, но мне нужно работать в цикле. Таблица со всеми пользователями будет заполнена с Active Directory. Вопрос в том, как я могу создать вкладку <Member> </Member> для каждого пользователя, существующего в моем SQL Table или SSAS Dimension? Или как я могу разобрать каждое имя пользователя из таблицы как параметр в этом XMLA-Tab?

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


person Pirvu Georgian    schedule 20.11.2015    source источник


Ответы (1)


Я создал сценарий T-SQL здесь, который определяет текущих пользователей и добавляет через связанный сервер к службам SSAS. Нетрудно присоединиться к вашему столу и использовать его в качестве источника участников. Вам может не понадобиться ASSP, если вам все равно, какие члены роли в настоящее время.

Вот шаги по настройке связанного сервера: http://www.mssqltips.com/sqlservertip/2790/dynamic-xmla-using-tsql-for-sql-server-analysis-services/

Если вы не хотите настраивать связанный сервер и устанавливать ASSP для выполнения описанных выше действий, вы можете написать некоторый код C#, который использует библиотеку AMO для поддержки участников.

person GregGalloway    schedule 20.11.2015
comment
Я создал связанный сервер с именем SSAS и хранимую процедуру для сценария xaml для анализа имени пользователя. Я попытался использовать ваш сценарий с @members, чтобы добавить следующего члена к старому, но когда я выполняю EXECUTE('CALL ASSP.DiscoverXmlMetadata("\MISystem\Roles\PowerUsers\Members\Member")') at [SSAS] , где MISystem — это база данных SSAS, а PowerUsers — это имя роли, я получаю следующее сообщение: Невозможно обработать объект РУЧЕЙ. Поставщик OLE DB STREAM для связанного сервера (null) указывает, что объект не имеет столбцов . Я уже установил ASSP. - person Pirvu Georgian; 23.11.2015
comment
Я проверил, где может быть проблема, и мне кажется, что это проблема с разрешением. Мой пользователь уже является администратором. Связанный сервер SSAS был создан для приема RPC, а поставщик MSOLAP включил параметр Разрешить выполнение. - person Pirvu Georgian; 23.11.2015
comment
Наконец, я один раз сгенерировал один xaml-скрипт для всех пользователей и проанализировал переменную в вашей хранимой процедуре. Это работает нормально. Кстати, хороший блог @GregGalloway - person Pirvu Georgian; 23.11.2015