Мне нужно было иметь возможность получить отчет, основанный на том, кто вошел в систему. Например, из группы продавцов, если Боб входит в этот отчет и нажимает на раскрывающийся список Продавца, мне нужно, чтобы он толькобыть в состоянии видеть Боба как доступного продавца, а не кого-либо еще.Я решил эту проблему с помощью функции =User!UserID
в SSRS, и она прекрасно работает.
В настоящее время у меня возникают проблемы с предоставлением этой функции инструкции CASE, позволяющей менеджерам просматривать представление "Администратор"зайди и посмотри на Боба и всех остальных.Мой текущий запрос выглядит следующим образом и работает только для выбора имени этого пользователя в раскрывающемся списке «Продавец»:
select SalesPerson_Name
from Salesperson
where salesperson_id = SUBSTRING(@user,14,20)
Вот чтоЯ пытаюсь использовать, чтобы переопределить и дать представление «Все» для уровня администратора:
select Salesperson_name
from Salesperson
where case
when @user in ('DOMAIN\Brandyj','DOMAIN\jwilson') then 1=1
else SalesPerson_id = SUBSTRING(@user,14,20)
end
Это не нравится тому, что я пытаюсь сделать, и дает мне
Неверный синтаксис рядом с '='.
Возможно, я слишком долго смотрел на это.Может кто-то заметить что-то очевидное?