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

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

Отчет содержит три типа полей и отображает их в области данных отчета: поля набора данных, вычисляемые поля набора данных и встроенные поля.

  • Поля набора данных. Метаданные, представляющие коллекцию полей, которые будут возвращены при выполнении запроса набора данных в источнике данных.

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

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

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

Замечание

Определения отчетов (RDL) можно создавать и изменять в построителе отчетов и в конструкторе отчетов в SQL Server Data Tools. Каждая среда разработки предоставляет различные способы создания, открытия и сохранения отчетов и связанных элементов. Дополнительные сведения см. в разделе "Проектирование отчетов" в конструкторе отчетов и построителе отчетов (SSRS) в Интернете в microsoft.com.

Поля и запросы набора данных

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

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

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

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

Вычисляемые поля

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

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

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

Сущности и поля сущностей

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

Использование расширенных свойств поля

Источники данных, поддерживающие многомерные запросы, такие как SQL Server Analysis Services, поддерживают свойства полей в полях. Свойства поля отображаются в результирующем наборе для запроса, но не отображаются в области данных отчета . Они по-прежнему доступны для использования в отчете. Чтобы ссылаться на свойство поля, перетащите поле в отчет и измените свойство Value по умолчанию на имя поля нужного свойства. Например, в кубе служб Analysis Services можно определить форматы значений в ячейках куба. Форматируемое значение доступно с помощью свойства FormattedValueполя. Чтобы использовать значение напрямую вместо того, чтобы использовать значение и задавать свойство форматирования текстового поля, перетащите поле в текстовое поле и измените выражение по умолчанию с =Fields!FieldName.Value на =Fields!FieldName.FormattedValue.

Замечание

Не все Field свойства можно использовать для всех источников данных. Свойства Value и IsMissing определяются для всех источников данных. Другие предопределенные свойства (например Key, UniqueNameи ParentUniqueName для многомерных источников данных) поддерживаются только в том случае, если источник данных предоставляет эти свойства. Пользовательские свойства поддерживаются некоторыми поставщиками данных. Дополнительные сведения см. в конкретных разделах о расширенных свойствах полей для типа источника данных в наборах данных Report Embedded и общих наборах данных (построителе отчетов и SSRS). Например, для источника данных SQL Server Analysis Services см. Расширенные свойства полей для базы данных служб Analysis Services (SSRS).

Общие сведения о выражениях по умолчанию для полей

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

В области данных табликса выражение поля по умолчанию зависит от членства строк и групп текстового поля, к которому добавляется поле. Выражение поля "Продажи" при добавлении в текстовое поле в строке сведений таблицы имеет значение [Sales]. При добавлении того же поля в текстовое поле в заголовке группы выражение (Sum[Sales])по умолчанию, так как заголовок группы отображает сводные значения для группы, а не подробные значения. При запуске отчета обработчик отчетов вычисляет каждое выражение и заменяет результат в отчете.

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

Типы данных поля

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

В источнике данных данные хранятся в типах данных, поддерживаемых источником данных. Например, данные в базе данных SQL Server должны быть одним из поддерживаемых типов данных SQL Server, таких как nvarchar или datetime. При получении данных из источника данных данные передаются через модуль обработки данных или поставщик данных, связанный с типом источника данных. В зависимости от модуля обработки данных данные могут быть преобразованы из типов данных, используемых источником данных, в типы данных, поддерживаемые расширением обработки данных. Службы Reporting Services используют типы данных, поддерживаемые общим языковым средством CLR, установленным вместе с SQL Server Data Tools (SSDT). Поставщик данных сопоставляет каждый столбец результирующий набор из собственного типа данных с типом данных среды CLR .NET Framework.

На каждом этапе данные представлены типами данных, как описано в следующем списке:

  • Источник данных Типы данных, поддерживаемые версией типа источника данных, к которому вы подключаетесь.

    Например, типичные типы данных для источника данных SQL Server включают intи datetimevarchar. Типы данных, представленные в SQL Server 2008, добавили поддержку date, time, datetimetz и datetime2. Дополнительные сведения см. в разделе Типы данных (Transact-SQL).

  • Поставщик данных или модуль обработки данных Типы данных, поддерживаемые версией поставщика данных модуля обработки данных, выбранного при подключении к источнику данных. Поставщики данных на основе .NET Framework используют типы данных, поддерживаемые средой CLR. Дополнительные сведения о типах данных поставщика данных .NET Framework см. в статьях "Сопоставления типов данных" (ADO.NET) и работа с базовыми типами в MSDN.

    Например, типичные типы данных, поддерживаемые .NET Framework, включают Int32 и String. Даты и время календаря поддерживаются структурой DateTime . Платформа .NET Framework 2.0 с пакетом обновления 1 (SP1) представила поддержку DateTimeOffset структуры для дат с смещением часового пояса.

    Замечание

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

  • Обработчик отчетов Типы данных основаны на версии среды CLR, установленной при установке служб Reporting Services.

    Например, типы данных, которые обработчик отчетов использует для новых типов даты и времени, представленных в SQL Server 2008, показаны в следующей таблице:

    Тип данных SQL Тип данных CLR Описание
    Date DateTime Только дата
    Time TimeSpan Только время
    DateTimeTZ DateTimeOffset Дата и время с смещением часового пояса
    DateTime2 DateTime Дата и время с дробными миллисекундами

Дополнительные сведения о типах баз данных SQL Server см. в статьях "Типы данных" (ядро СУБД) и "Типы данных даты и времени" и "Функции" (Transact-SQL).

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

Обнаружение отсутствующих полей во время выполнения

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

См. также

Диалоговое окно "Свойства набора данных", поля (построитель отчетов)
Части отчетов и наборы данных в конструкторе отчетов
Отчет о внедренных наборах данных и общих наборах данных (построитель отчетов и SSRS)