Получить только используемые данные
Иногда бывает достаточно изменить значение одного свойства, чтобы значительно увеличить скорость построения отчета. При работе с шаблоном отчета, словарь данных не содержит реальных данных. В словаре расположено лишь описание структуры данных. Выполнение всех запросов и передача данных из хранилища осуществляется в момент построения отчета. При этом, происходит заполнение всей структуры словаря реальными данными. Иначе говоря, если в словаре создано 200 источников данных, то во все эти источники передаются реальные данные из хранилища. Чем больше данных необходимо передать из хранилища в словарь, тем дольше время построения отчета. Однако, не всегда все источники данных используются в самом отчете. Для того чтобы значительно сократить время построения отчета, получив реальные данные только для используемых источников данных в отчете, следует установить свойство отчета Получить только используемые данные (Retrieve Only Used Data) в значение да (true).
Рассмотрим пример. Допустим, используется MS SQL база данных, которая содержит таблицы данных, хранимые процедуры и представления. На рисунке снизу представлена структура словаря данных:
Каждая таблица данных содержит от одного до множества колонок данных, минимум с одной строкой данных. Допустим, в отчете будет использоваться только источник данных CustomerCustomerDemo.
Свойство отчета Получить только используемые данные установлено в значение нет (false)
В этом случае, при построении отчета, данные будут передаваться из базы данных для каждой таблицы в словаре данных, а затем из словаря в сам отчет. Иначе говоря, каждая таблица будет заполняться реальными данными. Далее, генератор отчетов, выберет данные используемые в самом отчете и отобразит их в структурированном виде. Время построения отчета зависит от скорости передачи данных и от их объема. Чем быстрее данные будут переданы, тем быстрее будет построен отчет.
Свойство Получить только используемые данные установлено в значение да
В этом случае, при построении отчета, генератор отчетов проанализирует структуру отчета и только для используемых в этом отчете таблиц, будут переданы данные. В текущем примере, данные будут переданы только для таблицы CustomerCustomerDemo. Время построения отчета, при этом будет значительно меньше. Если же в отчете будет использоваться несколько таблиц, то данные будут передаваться только для этих нескольких таблиц.
Информация |
Альтернативный вариант является способ удаления из словаря данных неиспользуемые источники данных. Однако, иногда необходимо, чтобы присутствовала вся структура. Например, для дальнейшей разработки отчета или, скажем, когда один и тот же словарь используется для множества отчетов.
|