Формирование веб-каналов данных из отчетов (построитель отчетов версии 3.0 и службы SSRS)

Модуль подготовки отчетов служб Службы Reporting Services Atom формирует сервисный документ Atom, в котором перечислены веб-каналы данных, доступные в отчете, а также веб-каналы данных из областей данных в отчете. Этот модуль используется для формирования совместимых с Atom потоков данных, которые допускают чтение и обмен данными с приложениями, которые потребляют потоки данных, формируемые отчетами. Модуль подготовки отчетов Atom можно, например, использовать для формирования потоков данных, которые будут использоваться клиентом SQL Server 2008 R2 PowerPivot.

Служебный документ Atom содержит сведения по меньшей мере об одном потоке данных для каждой области данных отчета. В зависимости от типа области данных и самих данных, которые отображает эта область, Службы Reporting Services может сформировать из нее несколько потоков данных. Несколько потоков данных может породить, к примеру, матрица или диаграмма. Когда модуль подготовки отчетов Atom создает служебный документ Atom, для каждого потока данных создается уникальный идентификатор, который упоминается в URL-адресе для доступа к содержимому потока данных.

Метод формирования модулем подготовки отчетов Atom данных для потока данных аналогичен методу, при помощи которого модуль подготовки отчетов в формате CSV формирует данные для CSV-файла. Как и CSV-файл, поток данных содержит плоское представление данных отчета. Например, таблица с группой строк, которые суммируют продажи в группе, повторяет эту сумму в каждой строке данных. Отдельная строка, содержащая только эту сумму, отсутствует.

Служебные документы и потоки данных Atom можно формировать с помощью диспетчера отчетов, сервера отчетов или узла SharePoint, интегрированного в Службы Reporting Services.

Atom отвечает двум родственным стандартам. Служебный документ Atom соответствует спецификациям протокола публикации RFC 5023 Atom, а потоки данных соответствуют спецификациям протокола формата синдикации RFC 4287 Atom.

Следующие разделы предоставляют дополнительные сведения об использовании модуля подготовки отчетов Atom.

В построителе отчетов и в конструкторе отчетов среды Business Intelligence Development Studio можно создавать и изменять определения отчета (RDL). В каждой среде разработки существуют различные способы создания, открытия и сохранения отчетов и связанных элементов. Дополнительные сведения см. в разделе Разработка отчетов в построителе отчетов и конструкторе отчетов 3.0 (SSRS) на веб-сайте microsoft.com.

В данной статье

Данные отчета как каналы данных

Сервисный документ Atom

Веб-канал данных

Выравнивание данных отчета

Правила подготовки отчетов модулем Atom

Настройки сведений об устройстве

Отчеты как веб-каналы данных

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

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

Дополнительные сведения см. в разделе Как формировать веб-каналы данных из отчета (построитель отчетов версии 3.0 и службы SSRS).

Значок стрелки, используемый со ссылкой «В начало»В начало

Сервисный документ Atom (файл ATOMSVC)

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

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

На следующей иллюстрации показан отчет, содержащий две таблицы и диаграмму.

Отчет с двумя таблицами и диаграммой

Служебный документ Atom, сформированный из этого отчета, включает три потока данных: по одному для каждой таблицы и один для диаграммы.

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

Матричная область данных с одноуровневыми динамическими столбцами

Служебный документ Atom, сформированный из этого отчета, включает два потока данных: по одному для каждого динамического однорангового столбца «Территория» и «Год». Следующая диаграмма показывает содержимое каждого из этих каналов данных.

Канал данных из матрицы с одноуровневыми динамическими столбцами

Значок стрелки, используемый со ссылкой «В начало»В начало

Потоки данных

Канал данных представляет собой XML-файл в согласованном табличном формате, который не меняется со временем, и содержит переменные данные, которые могут изменяться при каждом выполнении отчета. Службы Службы Reporting Services формируют данные в том же формате, что и службы ADO.NET Data Services.

Поток данных содержит два раздела: заголовок и данные. Элементы каждого раздела определяются спецификациями Atom. Заголовок содержит такие сведения, как схема кодирования символов, используемая потоками данных.

Раздел заголовка

Следующий код XML иллюстрирует раздел заголовка канала данных.

<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns:d="https://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="https://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">

<title type="text"></title>

<id>uuid:1795992c-a6f3-40ec-9243-fbfd0b1a5be3;id=166321</id>

<updated>2009-05-08T23:09:58Z</updated>

Раздел данных

Раздел данных потоков данных содержит по одному элементу <entry> для каждой строки плоского набора строк, сформированного модулем подготовки отчетов Atom.

На следующей иллюстрации показан отчет, содержащий группы и итоговые значения.

Сводный отчет по продажам продукта со значениями в кружках

Следующий код XML показывает элемент <entry> из этого отчета в потоке данных. Обратите внимание, что элемент <entry> включает итоговые значения по продажам и заказам для группы и итоговые значения по продажам и заказам для всех групп. Элемент <entry> включает все значения отчета.

<entry><id>uuid:1795992c-a6f3-40ec-9243-fbfd0b1a5be3;id=166322</id><title type="text"></title><updated>2009-05-08T23:09:58Z</updated><author /><content type="application/xml"><m:properties>

<d:ProductCategory_Value>Accessories</d:ProductCategory_Value>

<d:OrderYear_Value m:type="Edm.Int32">2001</d:OrderYear_Value>

<d:SumLineTotal_Value m:type="Edm.Decimal">20235.364608</d:SumLineTotal_Value>

<d:SumOrderQty_Value m:type="Edm.Int32">1003</d:SumOrderQty_Value>

<d:SumLineTotal_Total_2_1 m:type="Edm.Decimal">1272072.883926</d:SumLineTotal_Total_2_1>

<d:SumOrderQty_Total_2_1 m:type="Edm.Double">61932</d:SumOrderQty_Total_2_1>

<d:SumLineTotal_Total_2_2 m:type="Edm.Decimal">109846381.399888</d:SumLineTotal_Total_2_2>

<d:SumOrderQty_Total_2_2 m:type="Edm.Double">274914</d:SumOrderQty_Total_2_2></m:properties></content>

</entry>

Работа с потоками данных

Все потоки данных, формируемые отчетом, включают элементы отчета, находящиеся в области видимости родительского элемента области данных, породившей потоки данных. . Представьте, что отчет содержит несколько таблиц и одну диаграмму. Текстовые поля в теле отчета содержат описания каждой области данных. Каждая запись в каждом канале данных, формируемом отчетом, включает значение такого текстового поля. Например, если задан текст «Диаграмма отображает средние ежемесячные продажи по региону продаж», то этот текст будет включен в каждую строку всех трех потоков данных.

Если макет отчета содержит иерархические отношения между данными, например, вложенные области данных, эти отношения будут включены в плоский набор строк данных отчета.

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

Когда модуль подготовки отчетов Atom создает сервисный документ Atom, для канала данных создается уникальный идентификатор, который упоминается в URL-адресе для доступа к содержимому канала данных. Образец служебного документа Atom, показанный выше, включает URL-адрес «https://ServerName/ReportServer?%2fProduct+Sales+Summary&rs%3aCommand=Render&rs%3aFormat=ATOM&rc%3aDataFeed=xAx0x1». Этот URL-адрес идентифицирует отчет (Product Sales Summary), формат подготовки отчета Atom (ATOM) и название потока данных (xAx0x1).

Имена элементов отчета по умолчанию совпадают с именами элементов языка определения отчетов (RDL) для элементов отчета, поэтому зачастую они неинтуитивны и трудны для запоминания. Например, первая матрица, помещенная в отчет, будет по умолчанию названа Tablix 1. Потоки данных также будут использовать эти имена.

Для упрощения работы с потоком данных можно воспользоваться свойством DataElementName области данных для выбора понятных имен. Если свойству DataElementName задано значение, его же будет использовать и подэлемент потока данных <d> вместо имени области данных по умолчанию. Например, если по умолчанию области данных имеют имя Tablix1, а свойству DataElementName задано значение «SalesByTerritoryYear», то <d> потока данных использует значение «SalesByTerritoryYear». Если области данных содержат два потока данных (как в случае с матричным отчетом, описанным выше), потоки данных будут иметь имена SalesByTerritoryYear _Territory и SalesByTerritoryYear _Year.

Если сравнить данные каждого из отчетов с данными потока данных, можно заметить определенные отличия. Отчеты часто отображают отформатированные числовые значения и значения даты/времени, в то время как каналы данных содержат неформатированные данные.

Канал данных сохраняется в файле с расширением .atom. Для просмотра структуры и содержимого такого файла можно использовать любой редактор текста или XML, например «Блокнот » или XML Editor.

Значок стрелки, используемый со ссылкой «В начало»В начало

Выравнивание данных отчета

Модуль подготовки отчетов Atom представляет данные отчета в виде плоских наборов строк в формате XML. Правила выравнивания таблиц данных совпадают с правилами, которые использует модуль подготовки отчетов в формате CSV, со следующими исключениями.

  • Элементы в области видимости выравниваются до детального уровня. В отличие от модуля подготовки отчетов в формате CSV, текстовые поля верхнего уровня появляются в каждой записи потока данных.

  • Значения параметров отчета включаются в каждую выходную строку.

Иерархические и сгруппированные данные должны быть переведены в плоский формат, чтобы их можно было представить в формате модуля Atom. Модуль подготовки отчетов делает отчет плоским, преобразуя его в древовидную структуру, отображающую вложенные группы области данных. Формирование плоского отчета происходит следующим образом.

  • Сначала делается плоской иерархия строк, затем — иерархия столбцов.

  • Сначала в канале данных отображаются элементы иерархии строк, затем элементы иерархии столбцов.

  • Столбцы упорядочены следующим образом: текстовые поля в теле отчета — слева направо, сверху вниз, а затем области данных — слева направо, сверху вниз.

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

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

Дополнительные сведения см. в разделе Таблицы, матрицы и списки (построитель отчетов версии 3.0 и службы SSRS).

Значок стрелки, используемый со ссылкой «В начало»В начало

Правила подготовки отчетов модулем Atom

Модуль подготовки отчетов Atom не учитывает следующие сведения при подготовке каналов данных.

  • Форматирование и макет

  • Верхний колонтитул страницы

  • Нижний колонтитул страницы

  • Пользовательские элементы отчета

  • Прямоугольники

  • Линии

  • Изображения

  • Автоматические подытоги

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

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

Элемент

Поведение при подготовке к просмотру

Таблица

Подготовка путем развертывания таблицы и создания строки и столбца для каждых строки и столбца на самом низком уровне детализации. Строки и столбцы подытогов не имеют заголовков строки или столбца. Детализированные отчеты не поддерживаются.

Матрица

Подготовка с развертыванием таблицы и созданием строки и столбца для каждых строки и столбца на самом низком уровне детализации. Строки и столбцы подытогов не имеют заголовков строки или столбца.

Список

Подготовка записи для каждой отдельной строки или экземпляра в списке.

Вложенный отчет

Родительский элемент повторяется для каждого экземпляра содержимого.

Диаграмма

Подготовка записи со всеми метками диаграммы для каждого значения диаграммы. Метки для рядов и категорий в иерархиях приводятся к плоскому формату и включаются в строку для значения диаграммы.

Гистограмма

Отображается как диаграмма. Как правило, гистограмма не содержит иерархии или метки.

Спарклайн

Отображается как диаграмма Как правило, спарклайн не содержит иерархии или метки.

Датчик

Подготавливает единственную запись с минимальным и максимальным значениями линейной шкалы, начальным и конечным значениями диапазона и значением указателя.

Индикатор

Готовится к просмотру как единственная запись с названием активного состояния, состояний доступности и значений данных.

Карта

Создается канал данных для каждой области данных карты. Если для одной области карты используется несколько слоев карты, то они все включаются в канал данных. Веб-канал данных включает запись с метками и значениями для всех элементов карты слоя карты.

Значок стрелки, используемый со ссылкой «В начало»В начало

Настройки сведений об устройстве

Можно изменить некоторые параметры по умолчанию для этого модуля подготовки отчетов, например используемую схему кодирования. Дополнительные сведения см. в разделе Настройки сведений об устройстве ATOM.

Значок стрелки, используемый со ссылкой «В начало»В начало