2009-05-18 4 views
4

У меня есть отчет с параметром, который заполняется списком торговых представителей, возвращаемых запросом. Я хочу отфильтровать этот список на основе прав безопасности пользователя, выполняющего отчет.Reporting Services 2008: Использование user! Userid в параметрах

Для того, чтобы выполнить запрос, мне нужно передать user! UserID в db. Я пытался что-то вроде этого:

... где UserName = пользователь UserID ...

Но это не нравится синтаксис.

ответ

10

Изменить запрос:

where UserName = @user 

... и на вкладке "Параметры", "назначить пользователя UserID!" В параметре "@user".

+0

Когда я пытаюсь, я получаю следующую ошибку. Параметр отчета «UserName» имеет значение DefaultValue или ValidValue, которое зависит от параметра отчета «пользователь». Неверные зависимостей. – Jeff

+0

Действительно? Я делаю именно то, что я описываю здесь, в нескольких своих собственных отчетах. Вы делаете что-то другое, кроме описанных выше шагов? –

+1

Наконец понял. Переместил параметр «user» в список, чтобы он был выше моего параметра «UserName». Таким образом, он находится в памяти, когда заполняется набор данных для «userName». Спасибо за уверенность, что это сработает. Я очень ценю помощь. – Jeff

2

Просто хочу поделиться своим опытом, если какая-нибудь бедная душа блуждает вокруг, как я, без всякой подсказки. Я обнаружил, что мой параметр @user должен был быть первым в списке, чтобы мое раскрывающееся меню было заполнено, что зависело от этого. Я не знаю, почему.

+0

Да, я тоже видел это поведение. Когда вы добавляете выражения к значениям параметров (например = User! UserID), SSRS рассматривает это как каскадный параметр. Если он не первый в списке, он будет заполняться так же, как заполняется каскадный параметр. Другие тоже видели это: http://blog.summitcloud.com/2009/12/fix-refresh-of-parameters-in-ssrs/ – neblinc1

0

Да, я могу подтвердить, что заказ имеет важное значение при использовании идентификатора пользователя в запросе для установки значения по умолчанию для другого параметра. Мне пришлось удалять и воссоздавать параметры, чтобы заставить его работать. Я не мог видеть способ перемещения порядка параметров