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

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

Существует два типа наборов данных.

  • Общий набор данных. Общий набор данных определяется на сервере отчетов. Можно войти на сервер для создания общего набора данных или для выбора одного из стандартных для добавления в отчет.

  • Внедренный набор данных.   Внедренный набор данных определяется и используется только для отчета, в который он внедрен.

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

Создание наборов данных из внешних источников данных

  1. Наборы данных на панели «Данные отчета». Набор данных появляется на панели данных отчета после создания внедренного набора данных или добавления общего набора данных. Набор данных основан на источнике данных.

  2. Конструктор запросов. При конструировании запроса к набору данных открывается конструктор запросов, связанный с этим типом источника данных.

  3. Команда запроса. Конструктор запросов помогает строить команду запроса. Синтаксис команды определяется поставщиком данных.

  4. Модуль обработки данных/поставщик данных.   Соединение с данными может проходить через несколько уровней доступа к данным.

  5. Внешние источники данных.   Получение данных из реляционных баз данных, многомерных баз данных, списков SharePoint, веб-служб или моделей отчетов.

  6. Результаты запроса. Можно запустить запрос и просмотреть примерный результирующий набор. Для выполнения запроса необходимо наличие учетных данных времени разработки.

  7. **Метаданные из схемы. **Поставщик данных запускает команду запроса к схеме отдельно из запроса, чтобы получить метаданные для коллекции полей набора данных. Например, следующая инструкция Transact-SQLSELECT возвращает имена столбцов для таблицы базы данных. Чтобы развернуть набор данных для просмотра коллекции полей набора данных, воспользуйтесь панелью «Данные отчета». 

Данные также можно включить в отчет при помощи стандартных наборов данных и частей отчетов. Для этих элементов уже имеются необходимые сведения о подключении к данным. Дополнительные сведения см. в разделах Добавление данных в отчет (построитель отчетов версии 3.0 и службы SSRS) и Части отчета (построитель отчетов 3.0).

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

ПримечаниеПримечание

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

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

Общие сведения о наборах данных отчета и запросах

Сравнение и создание общих наборов данных и внедренных наборов данных

Сортировка, группировка и фильтрация данных в наборах данных

Использование параметров и наборов данных

Использование моделей отчетов

Использование наборов данных и карт

Отображение данных из нескольких наборов данных

Отображение сообщения, когда строки данных недоступны

Настройка параметров набора данных

Общие сведения о наборах данных отчета и запросах

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

После добавления наборов данных в отчет надо перетащить поля из их коллекции полей с панели данных отчета в таблицы, диаграммы или другие элементы отчета, используемые в макете. Дополнительные сведения о работе с полями см. в разделе Работа с полями набора данных отчета (построитель отчетов версии 3.0 и службы SSRS).

Основные сведения о данных из набора данных

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

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

    SELECT ProductID FROM Production.Product
    GO
    SELECT ContactID FROM Person.Contact
    
  • Плоский набор строк из многомерных источников данных, которые используют протокол XML для аналитики. Некоторые поставщики данных предоставляют дополнительные свойства измерений и ячеек из источника данных, которые нельзя увидеть в результирующем наборе, доступном в отчете.

  • Плоский результирующий набор из источников XML-данных, который включает XML-элементы, их атрибуты и дочерние элементы.

  • Результирующий набор из любого зарегистрированного и настроенного поставщика данных .NET Framework.

  • Данные из модели отчета, разработанной для конкретного источника данных, со стандартными сущностями, связями сущностей и полями. Дополнительные сведения см. в разделе «Использование моделей отчетов в качестве источников данных» в документации по службам Reporting Services, входящей в состав электронной документации по SQL Server.

Если отчет обрабатывается во время выполнения, фактический результирующий набор, возвращаемый для запроса, может не содержать ни одной строки или содержать несколько строк. Также возможно, что столбцы, определенные в запросе, могут отсутствовать в источнике данных. Значения NULL из источника данных сопоставляются значению System.DBNull.Value поставщика .NET Framework.

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

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

Запрос набора данных

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

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

В конструкторе запросов можно выполнить следующие действия.

  • Переключаться между графическим и текстовым представлениями запроса. Использовать графический вид для просмотра схем, таблиц, представлений и хранимых процедур для источника данных. Использовать текстовый вид для ввода, вставки или просмотра существующих запросов, что в основном используется для построения сложных запросов, которые не могут быть представлены в графическом конструкторе запросов. Например, можно импортировать запрос из файла Transact-SQL (SQL), из другого отчета с сервера отчетов или из определения отчета в RDL-файле из общей папки.

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

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

  • Импортировать существующий запрос из другого отчета.

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

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

  • Перезаписать запрос набора данных, чтобы специально преобразовать поле к другому типу данных.

  • Изменить поле в наборе данных и предоставить специальный формат.

  • Создать новое специальное поле на основе поля базы данных и предоставить специальный формат.

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

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

Импорт существующих запросов для набора данных

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

Поддерживаются только типы SQL- и RDL-файлов. Запросы с многомерными выражениями (MDX), запросы прогноза интеллектуального анализа данных (DMX) и модельные запросы (SMQL) могут быть созданы только соответствующим конструктором запросов.

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

Сравнение и создание общих наборов данных и внедренных наборов данных

Внедренные наборы данных определяются в отчете или в опубликованной части отчета. Изменения во внедренных наборах данных влияют только на такие отчеты или на части отчетов.

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

При добавлении общего набора данных в отчет коллекция полей набора данных обновляется с учетом текущего определения на сервере отчетов. Пользователь не получает уведомлений об обновлениях, сделанных на сервере отчетов. Для синхронизации локальной копии коллекции полей со сделанными изменениями в определении общего набора данных на сервере отчетов необходимо обновить локальную коллекцию полей. Дополнительные сведения см. в разделе Как добавлять, изменять, обновлять поля в области данных отчета (построитель отчетов 3.0 и службы SSRS).

Опубликованные элементы отчета содержат внедренные или общие наборы данных, от которых они зависят. Дополнительные сведения см. в разделе Работа с частями и наборами данных отчета в построителе отчетов 3.0.

Дополнительные сведения о создании наборов данных см. в разделе Как создать общий или внедренный набор данных (построитель отчетов версии 3.0 и службы SSRS). Дополнительные сведения об управлении общими наборами данных после их сохранения на сервере отчетов см. в разделе Управление общими наборами данныхдокументации по службам Reporting Services, входящим в состав электронной документации по SQL Server.

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

Фильтрация, сортировка и группирование данных в наборе данных

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

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

Фильтрация данных в наборе данных

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

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

Можно установить дополнительные фильтры для области данных или группы областей данных. Также можно использовать сочетание параметров и фильтров, позволяющее пользователям выбирать данные, которые должны отображаться в отчете. Дополнительные сведения см. в разделе Параметры (построитель отчетов версии 3.0 и службы SSRS).

Сортировка данных в наборе данных

В наборах данных порядок данных определяется порядком их извлечения из внешнего источника данных. Этот же порядок указывается при выполнении запроса в конструкторе запросов. Если синтаксис команд запроса поддерживает сортировку, то можно изменять порядок сортировки данных для источника до того, как эти данные будут извлечены в отчет. Например, для запроса Transact-SQL порядком сортировки управляет инструкция ORDER BY.

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

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

Группирование данных в наборе данных

Сгруппировать данные в наборе данных нельзя. Для агрегации данных в наборе данных можно изменить команду запроса для вычисления статистических значений до извлечения данных в отчет. Они известны как серверные статистические значения. В выражениях для обозначения таких значений в качестве заранее вычисленных статистических значений используется агрегатная функция. Дополнительные сведения см. в разделе Агрегатная функция (построитель отчетов версии 3.0 и службы SSRS).

Использование параметров и наборов данных

Для внедренного запроса к набору данных, который содержит переменные, параметры запроса и соответствующие параметры отчета создаются автоматически. При выполнении отчета значение параметра отчета связывается с параметром запроса к набору данных. Таким образом, команда запроса, выполненная на внешнем источнике данных, включает значения, указанные в параметрах отчета. Параметры отчета позволяют пользователям выбрать необходимые данные для отображения в отчете. Дополнительные сведения о связи параметров запроса и параметров отчета см. в разделе Диалоговое окно «Свойства набора данных» — «Параметры» (построитель отчетов 3.0).

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

  • Может быть основано на выражении.

  • Может включать значения по умолчанию.

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

  • Не может включать ссылки на встроенную коллекцию Parameters, представляющую параметры отчета.

Чтобы настроить значения параметров запроса для общего набора данных, в режиме конструктора наборов данных откройте общий набор данных на сервере отчетов и задайте параметры на странице Диалоговое окно «Свойства набора данных» — «Параметры» (построитель отчетов 3.0). Дополнительные сведения см. в разделе Как создать общий или внедренный набор данных (построитель отчетов версии 3.0 и службы SSRS).

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

Параметры отчета, связанные с параметрами запроса, помогают фильтровать данные до их извлечения в отчет из внешнего источника данных. Также можно фильтровать данные в отчете с помощью фильтров, являющихся частью определения отчета. Дополнительные сведения см. в разделе Фильтрация, группирование и сортировка данных (построитель отчетов версии 3.0 и службы SSRS).

Отображение скрытых наборов данных

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

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

Использование моделей отчетов

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

Модели отчетов содержат стандартные поля и связи данных, называемые сущностями и ролями, которые отображаются на панели данных. Эти элементы можно использовать аналогично использованию полей наборов данных: путем перетаскивания их в область конструктора во время разработки отчета. Дополнительные сведения см. в разделе Пользовательский интерфейс конструктора запросов моделей отчетов (построитель отчетов 3.0).

Дополнительные сведения о создании моделей отчетов см. в разделе «Работа с конструктором моделей» документации по службам Reporting Services, входящей в состав электронной документации по SQL Server. Дополнительные сведения о разработке нерегламентированных отчетов см. в разделе Проектирование и реализация отчетов с помощью построителя отчетов 1.0 на msdn.microsoft.com.

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

Использование карт и наборов данных

При включении карты в отчет необходимо предоставить пространственные данные. Пространственные данные могут извлекаться из наборов данных, из карты в галерее карт или из шейп-файла ESRI. Пространственные данные из отчета или из шейп-файла ESRI не появляются в качестве набора данных на панели «Данные отчета». Дополнительные сведения см. в разделе Карты (построитель отчетов версии 3.0 и службы SSRS).

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

Отображение данных из нескольких наборов данных

Обычно объект имеет больше одного набора данных. Следующий список описывает способ использования наборов данных в отчете:

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

Отображение сообщения, когда строки данных недоступны

Во время обработки отчета, когда выполняется набор данных, результирующий набор может содержать строки. В готовом для просмотра отчете область данных, связанная с пустым набором данных, отображает пустую область данных. Можно указать текст, отображаемый в готовом для просмотра отчете вместо пустой области данных. Можно также задать сообщение для вложенных отчетов, если запросы для всех наборов данных не выдают данных во время выполнения. Дополнительные сведения см. в разделе Как задать сообщение об отсутствии данных для области данных (построитель отчетов версии 3.0 и службы SSRS).

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

Настройка параметров набора данных

Для источников данных, которые поддерживают данные на разных языках, может потребоваться настроить свойства набора данных, которые влияют на порядок сортировки, свойства символов разных языков и чувствительности к регистру. В числе этих свойств — регистр, тип каны (японского алфавита), ширина, использование диакритических знаков и параметры сортировки. Дополнительные сведения см. в разделах «Вопросы международного использования баз данных и приложений компонента Database Engine» и «Работа с параметрами сортировки» электронной документации по SQL Server. Дополнительные сведения о задании этих свойств см. в разделе Диалоговое окно «Свойства набора данных» — «Параметры» (построитель отчетов 3.0).

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