SELECT
RTrim(Substring(ex.Parameters, Charindex('&CalledBy=',ex.Parameters, 1) + 10, 1000))
as 'User',
ex.Format, ex.TimeStart, cat.Name as 'Report',
CONVERT(varchar(max), ex.TimeStart, 100) AS rundate
FROM ReportServer$MCSQL1.dbo.ExecutionLog AS ex, ReportServer$MCSQL1.dbo.Catalog AS cat
where ex.ReportID = cat.ItemID
Не уверен, работает ли он во всех случаях.По сути, все отчеты, запускаемые с веб-сайта DNN, управляются учетной записью выполнения, поэтому поле «пользователь» отчета об исполнении было бесполезным.Вместо этого мы создали параметр CalledBy и передали ему полное имя из профиля сотрудника, который извлек отчет в DNN.
Э-э, я также считаю, что нарушаю какое-то правило программирования, считаяна тот факт, что CalledBy всегда будет последним параметром в строке ('1000') ..... но мы документируем его, чтобы будущие люди могли следовать за ним.
rtrim (подстрока... приведенный выше код соответствующим образом извлек имя человека, вызывающего отчет, с тех пор, как параметр был введен в действие несколько месяцев назад. (невидимое поле в правом нижнем углу отчета)
Надеюсь, это поможет!