2010-08-27 3 views
2

Службы SQL Server Reporting Services (SSRS) 2008 R2Кэшированный общий набор данных: ExecutionTime?

Я создал общий набор данных, для выполнения которого требуется несколько минут. Он делится между тремя отчетами и является основными данными для этих отчетов. (Некоторые другие наборы данные существуют в отчетах для населения параметров.)

Я включил кэширование набора данных, и хотел бы добавить время выполнения набора данных в колонтитулы В отчетах. Я полагаю, я мог бы добавить столбец в набор данных с текущим временем в SQL, но есть ли какая-либо функция SSRS, которая даст мне это?

ответ

1

Я не мог найти чистый метод SSRS, чтобы получить это, так, как упоминалось в моем первоначальном сообщении, я добавил поле/столбец в общий запрос набора данных. Теперь начинается с:

SELECT 
GETDATE() AS DataSetExecutionTime, 
... 
... 

Тогда в сноске доклада у меня есть

=First(Fields!DataSetExecutionTime.Value, "DataSetName") 

Спасибо за помощь Daytona ...

JF

+0

Это единственный способ Я нашел, чтобы получить возраст данных, когда набор данных был кэширован, но отчета не было. – TomG

1

Вы можете добавить что-то вроде этого в сноске:

="Render Duration: " + 
IIf(System.DateTime.Now.Subtract(Globals!ExecutionTime).TotalSeconds < 1, "0 seconds", 
(
IIf(System.DateTime.Now.Subtract(Globals!ExecutionTime).Minutes > 0, System.DateTime.Now.Subtract(Globals!ExecutionTime).Minutes & " minute(s), ", "") + 
IIf(System.DateTime.Now.Subtract(Globals!ExecutionTime).Seconds > 0, System.DateTime.Now.Subtract(Globals!ExecutionTime).Seconds & " second(s)", "")) 
) 

Так основное время рендеринга, я знаю, это еще не совсем то, что ищете, но единственный способ я знаю, получать время извлечения данных из таблицу выполнения отчета в базе данных сервера отчетов.

Смежные вопросы