Получить только используемые данные

<< Click to Display Table of Contents >>

Navigation:  Создание отчетов > Создание отчетов в MasterSCADA 4D > Источники данных, переменные и функции > Источники данных > Прочие источники >

Получить только используемые данные

Иногда бывает достаточно изменить значение одного свойства, чтобы значительно увеличить скорость построения отчета. При работе с шаблоном отчета словарь данных не содержит реальных данных. В словаре расположено лишь описание структуры данных. Выполнение всех запросов и передача данных из хранилища осуществляется в момент построения отчета. При этом происходит заполнение всей структуры словаря реальными данными. Иначе говоря, если в словаре создано 200 источников данных, то во все эти источники передаются реальные данные из хранилища. Чем больше данных необходимо передать из хранилища в словарь, тем дольше время построения отчета. Однако не всегда все источники данных используются в самом отчете. Для того чтобы значительно сократить время построения отчета, получив реальные данные только для используемых источников данных в отчете, следует установить свойство отчета Запрашивать только необходимые данные в значение true.

Рассмотрим пример. Допустим, используется MS SQL база данных, которая содержит таблицы данных, хранимые процедуры и представления:

Каждая таблица данных содержит от одного до множества колонок данных, минимум с одной строкой данных. Допустим, в отчете будет использоваться только источник данных CustomerCustomerDemo.

Свойство отчета Запрашивать только необходимые данные установлено в значение false.
В этом случае при построении отчета данные будут передаваться из базы данных для каждой таблицы в словаре данных, а затем из словаря в сам отчет. Иначе говоря, каждая таблица будет заполняться реальными данными. Далее генератор отчетов выберет данные, используемые в самом отчете, и отобразит их в структурированном виде. Время построения отчета зависит от скорости передачи данных и от их объема. Чем быстрее данные будут переданы, тем быстрее будет построен отчет. На рисунке снизу схематично представлена передача данных, если свойство Запрашивать только необходимые данные установлено в значение false:

Свойство Запрашивать только необходимые данные установлено в значение true.
В этом случае при построении отчета генератор отчетов проанализирует структуру отчета и только для используемых в этом отчете таблиц будут переданы данные. В текущем примере данные будут переданы только для таблицы CustomerCustomerDemo. Время построения отчета при этом будет значительно меньше. Если же в отчете будет использоваться несколько таблиц, то данные будут передаваться только для этих нескольких таблиц. На рисунке снизу схематично представлена передача данных, если свойство Запрашивать только необходимые данные установлено в значение true:

Альтернативным вариантом является удаление из словаря данных неиспользуемых источников данных. Однако иногда необходимо, чтобы присутствовала вся структура. Например, для дальнейшей разработки отчета или, скажем, когда один и тот же словарь используется для множества отчетов.