Повторное использование

В SQL Server 2008 R2 Reporting Services имеется несколько новых функций, поддерживающих повторное использование компонентов. Опытные разработчики отчетов могут создавать общие наборы данных и части отчетов для использования другими. Затем, например, бизнес-пользователь может легко и быстро собрать заранее подготовленные компоненты в собственный отчет, причем для этого не потребуется строить запросы и проектировать матрицы. Чтобы ускорить работу общих наборов данных, можно настроить план обновления кэша, чтобы держать в кэше копию общего набора данных. Наконец, возможность публиковать данные отчета в виде канала Atom расширяет применимость данных, позволяя использовать их не только в исходном отчете.

Общие наборы данных

Общий набор данных позволяет определить запрос для использования в нескольких отчетов аналогично тому, как создается общий источник данных для используемой совместно строки подключения. Наличие общих наборов данных на сервере также помогает пользователям SQL Server 2008 R2 Report Builder 3.0 быстрее создавать отчеты, поскольку запросы к наборам данных при этом доступны пользователям, у которых не хватает навыков создавать запросы самостоятельно. Основное требование при создании общего набора данных — использование общего источника данных. В прочих отношениях настройка общего набора данных аналогична обычным встраиваемым наборам данных, используемым в предыдущих версиях Reporting Services. Сначала определяется запрос, после чего указываются настройки, значения параметров запроса, вычисляемые поля и фильтры. Итоговый файл общего набора данных получает расширение RSD и отправляется на сервер отчетов при развертывании проекта. Свойства проекта при этом включают поле для указания конечной папки общих наборов данных на сервере отчетов.

Примечание Можно продолжать создание встраиваемых наборов данных для отчетов по мере необходимости.Позже их можно преобразовать в общие наборы данных.

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

Рисунок 9-15. Меню общего набора данных.

Обновление кэша

Возможность настройки кэширования отчетов имелась во всех выпусках Reporting Services. Эта функция полезна в ситуациях, когда отчеты выполняются долго, и исходные данные не зафиксированы. Храня отчет в кэше, службы Reporting

Services могут быстрее отреагировать за запрос отчета, и пользователи обычно более довольны системой отчетов. Тем не менее память в кэше ограничена. Периодически срок действия коша кончается, и следующему пользователю, запрашивающему отчет, придется ждать, когда завершится выполнение отчета. Обходной путь в этом случае — создать подписку, использующую поставщик доставки NULL для заполнения кэша перед запросом первого пользователя.

В службах SQL Server 2008 R2 Reporting Services доступно более рациональное решение. Новая функция обновления кэша позволяет задать расписание загрузки отчетов в кэш. Кроме того, при обновлении кэша можно настроить загрузку общих наборов данных в кэш, что позволяет расширить повышение производительности на несколько отчетов. Кэширование общих наборов данных полезно не только для отчетов, но и для всех наборов данных, используемых для заполнения списка значений для параметра. Чтобы настроить расписание обновления кэша, следует задать хранимые учетные данные для источника данных. Затем следует настроить параметры срока действия кэша для общего набора данных и создать новый план обновления кэша, как показано на рис. 9-16.

Рисунок 9-16. Окно плана обновления кэша.

Части отчета

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

Части отчета можно публиковать в Report Builder 3.0 и конструкторе отчетов в Business Intelligence Development Studio. В конструкторе отчетов команда публикации частей отчета есть в меню отчета. В диалоговом окне публикации частей отчета, показанном на рис. 9-17, следует выбрать публикуемые элементы отчета. Также можно заменить имя элемента отчета и задать описание перед публикацией.

Рисунок 9-17. Диалоговое окно публикации частей отчета.

При начальной публикации части отчета службы Reporting Services назначают ей уникальный идентификатор, включаемый во все отчеты, куда эта часть добавляется. Обратите внимание, что в диалоговом окне публикации в конструкторе отчетов (см. рис. 9-15) есть параметр, позволяющий перезаписывать часть отчетов на сервере отчетов при каждом развертывании отчета. В Report Builder имеется другой параметр, позволяющий выбирать, следует ли публиковать элемент отчета в качестве новой копии отчета. Если позже часть отчета изменяется и публикуется, службы Reporting Services могут использовать уникальный идентификатор части отчета, чтобы найти ее в другом отчете, когда другой разработчик открывает отчет для редактирования. В это время автор отчета получает уведомление обизменении и может решить, следует ли его принимать.

Хотя части отчетов можно публиковать в конструкторе отчетов и Report Builder 3.0, для поиска и использования таких частей можно использовать только Report Builder 3.0. Дополнительные сведения о Report Builder 3.0 можно найти ниже в соответствующем разделе.

Канал данных Atom

В составе SQL Server 2008 R2 Reporting Services есть новое расширение отображения, поддерживающее экспорт данных отчетов в документ службы Atom. Документ службы Atom можно использовать в любом приложении, работающем с каналами данных, например SQL Server PowerPivot для Excel. Эту функцию можно использовать в ситуациях, когда клиентские программы, имеющиеся у пользователей, не обеспечивают прямого доступа к данным, или когда структура запросов слишком сложна, и пользователи не могут построить ее самостоятельно. Хотя для доставки данных пользователям можно использовать другие методы, службы Reporting Services обеспечивают нужную гибкость, позволяя использовать обычный механизм безопасности для отчетов и каналов данных, планировать доставку каналов данных и хранить периодически создаваемые снимки отчетов.

Документ службы Atom содержит по меньшей мере один канал данных на каждую область данных в отчете, если автор отчета не отключил это требование. В зависимости от структуры данных матрица с соседними группами, список или диаграмма могут создавать несколько каналов данных. У каждого канала данных есть URL-адрес, используемый для извлечения содержимого.

Чтобы экспортировать отчет в канал данных Atom, нажмите последнюю кнопку на панели инструментов средства просмотра отчетов, как показано на рис. 9-18.

Рисунок 9-18. Канал данных Atom.

Документ службы Atom — это XML-документ, содержащий подключение ко всем каналам данных, определенным как URL-адреса:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<service xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
    <workspace>
    <atom:title>Reseller Sales</atom:title>
    <collection
    href="http://yourserver/ReportServer?%2fExploring+Features%2fReseller+Sales
    &rs%3aCommand=Render&rs%3aFormat=ATOM&rc%3aDataFeed=xAx0x0">
    <atom:title>Tablix1</atom:title>
    </collection>
    </workspace>
</service>