Кэшированный общий набор данных: время выполнения? - PullRequest
2 голосов
/ 27 августа 2010

Службы отчетов SQL Server (SSRS) 2008 R2

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

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

Ответы [ 2 ]

1 голос
/ 01 сентября 2010

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

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

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

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

Спасибо за помощь Дайтона ...

JF

1 голос
/ 01 сентября 2010

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

="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)", ""))
)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...