Основные сведения о наборах данных отчета (построитель отчетов 2.0)
Данные для набора данных отчета можно представить как набор строк и столбцов. Должен существовать хотя бы один столбец и нуль или более строк. Во время проектирования создается запрос, который указывает столбцы, извлекаемые из источника данных. Обработка метаданных выполняется во время проектирования, чтобы связать поля набора данных с областями данных и элементами отчета в области конструктора. Во время выполнения обработчик отчета извлекает данные и объединяет их с макетом отчета. Затем отчет передается в модуль подготовки отчетов для просмотра.
При запуске запроса набора данных в конструкторе запросов во время проектирования отображается набор строк из источника данных, которые показывают данные образца. Когда пользователь просматривает отчет во время выполнения, запрос может принести различные значения, так как данные в источнике данных изменились. Каждый раз при обработке отчета могут появляться различные данные.
Основные сведения о наборе данных отчета
Отчет может содержать следующие типы данных:
Набор результатов из реляционной базы данных, которые могут исходить от выполняемых команд базы данных, хранимых процедур и определяемых пользователем функций. Если несколько наборов результатов получаются одним запросом, обрабатывается только первый из них, а все остальные наборы результатов игнорируются. Например, при запуске следующего запроса в текстовом конструкторе запросов только набор результатов для Production.Product отображается в области результата:
SELECT ProductID FROM Production.Product GO SELECT ContactID FROM Person.Contact
Плоский набор строк из многомерных источников данных, которые используют протокол XMLA. Некоторые поставщики данных предоставляют дополнительные свойства измерений и ячеек из источника данных, которые нельзя увидеть в наборе результатов, доступном в отчете.
Плоский набор результатов из источников XML-данных, который включает XML-элементы, их атрибуты и дочерние элементы.
Результирующий набор из любого зарегистрированного и настроенного поставщика данных .NET Framework.
Данные из модели отчета, разработанной для конкретного источника данных, с предопределенными сущностями, связями сущностей и полями. Дополнительные сведения см. в разделе Создание наборов данных отчета для модели отчета (построитель отчетов 2.0).
Если отчет обрабатывается во время выполнения, собственно результирующий набор, возвращаемый для запроса, может содержать нуль или несколько строк. Также возможно, что столбцы, определенные в запросе, могут отсутствовать в источнике данных. Значения NULL из источника данных сопоставляются значению System.DBNull.Value поставщика .NET Framework.
Установка свойств данных
Кроме того, при определении набора данных отчета свойства данных можно задать в запросе или принять свойства по умолчанию, заданные поставщиком данных. Тип данных можно изменить одним из следующих способов:
Перезаписать запрос набора данных, чтобы специально преобразовать поле к другому типу данных.
Изменить поле в наборе данных и предоставить специальный формат.
Создать новое специальное поле на основе поля базы данных и предоставить специальный формат.
Для источников данных, которые поддерживают международные данные может потребоваться настроить свойства набора данных, которые влияют на порядок сортировки, свойства международных символов и следует ли рассматривать символы в верхнем и нижнем регистре как эквивалентные. Эти свойства включают регистр, тип японской азбуки, ширину, использование диакритических знаков и параметры сортировки. Дополнительные сведения см. в разделах «Вопросы международного использования баз данных и приложений компонента Database Engine» и «Работа с параметрами сортировки» электронной документации по SQL Server. Дополнительные сведения о задании этих свойств см. в разделе Диалоговое окно «Свойства набора данных» — «Функции» (построитель отчетов 2.0).
Основные сведения о типах данных в коллекции полей набора данных
Источник данных поддерживает только определенные типы данных. Например, данные в базе данных SQL Server должны принадлежать к одному из поддерживаемых типов данных SQL Server, таким как nvarchar или datetime. При получении данных из источника данных, они поступают в модуль обработки данных или поставщик данных, связанным с этим типом источника данных. В зависимости от модуля обработки данных, данные могут преобразовываться из типа данных, который поддерживается источником данных, в тип данных, поддерживаемый модулем обработки данных. Службы Reporting Services используют типы данных, поддерживаемые средой CLR, установленной с Business Intelligence Development Studio. Поставщик данных преобразует каждый столбец результирующего набора из собственного типа данных .NET Framework в тип данных среды CLR.
На каждом этапе данные представляются типами данных, приведенными в следующем списке.
Источник данных Типы данных, поддерживаемые версией типа источника данных, с которым выполняется соединение.
Например, стандартные типы данных для источника данных SQL Server включают int, datetime и varchar. Типы данных, представленные в 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 2008Reporting Services устанавливают среду CLR, соответствующую платформе .NET Framework 3.5.
Например, типы данных, которые обработчик отчетов использует для новых типов даты и времени, представленных в SQL Server 2008, представлены в следующей таблице.
Тип данных SQL
Тип данных CLR
Описание
Date
DateTime
Только дата.
Time
TimeSpan
Только время.
DateTimeTZ
DateTimeOffset
Дата и время со смещением часового пояса.
DateTime2
DateTime
Дата и время с долями миллисекунд.
Дополнительные сведения о типах баз данных SQL Server см. в разделах Типы данных (компонент Database Engine) и Типы данных и функции даты и времени (Transact-SQL).
Дополнительные сведения о ссылках на поле набора данных из выражения см. в разделе Работа с типами данных в выражениях (построитель отчетов 2.0).
Использование нескольких наборов данных
Обычно объект имеет больше одного набора данных. Следующий список описывает способ использования наборов данных в отчете:
Данные из каждого набора данных отображаются с использованием отдельной области данных. Дополнительные сведения см. в разделе Работа с областями данных (построитель отчетов 2.0).
К одному и тому же набору данных можно привязать несколько областей данных и обеспечить несколько представлений одних и тех же данных. Дополнительные сведения см. в разделе Связывание нескольких областей данных с одним набором данных (построитель отчетов 2.0).
С использованием наборов данных можно предоставить раскрывающийся список допустимых значений по умолчанию для параметра отчета. Дополнительные сведения см. в разделе Добавление параметров к отчету (построитель отчетов 2.0).
Связанные данные из нескольких наборов данных можно объединить, используя параметры с вложенными или детализированными отчетами. Например, отчет о продажах может показывать сводку данных для всех магазинов, а ссылка детализации может указывать идентификатор магазина в качестве параметра отчета с запросом набора данных, который получает сведения об отдельных продажах для определенного магазина. Дополнительные сведения см. в разделах Добавление детализированных отчетов (построитель отчетов 2.0) и Добавление вложенных отчетов (построитель отчетов 2.0).
Нельзя показать подробные данные из нескольких наборов данных в одной области данных. Однако, можно отображать значения статистической или встроенной функции для нескольких наборов данных в области данных. Дополнительные сведения см. в разделе Использование встроенных функций отчета и статистических функций в выражениях (построитель отчетов 2.0). Если нужно объединить подробные данные из нескольких наборов данных в одной области данных, то необходимо переписать запрос, чтобы извлечь данные как один набор данных.
Импорт существующих запросов для набора данных
При создании набора данных можно создать новый запрос или импортировать существующий запрос из файла или другого отчета. Поддерживаются только типы SQL- и RDL-файлов. Запросы многомерных выражений или запросы для получения прогноза на базе интеллектуального анализа данных могут быть сформированы только конструктором запросов Reporting Services, так как результирующий набор должен быть получен как плоский набор строк.
При импорте запроса из другого отчета можно выбрать запрос для импорта из списка наборов данных в отчете.
Отображение сообщения, когда во время выполнения не получены строки данных
Во время обработки отчета, когда выполняется набор данных, результирующий набор может содержать строки. В готовом для просмотра отчете область данных, связанная с пустым набором данных, отображает пустую область данных. Можно указать текст, отображаемый в готовом для просмотра отчете вместо пустой области данных. Можно также задать сообщение для вложенных отчетов, если запросы для всех наборов данных не выдают данных во время выполнения. Дополнительные сведения см. в разделе Как задать сообщение об отсутствии данных для области данных (построитель отчетов 2.0).
Обнаружение отсутствующих полей
Когда отчет обрабатывается, результирующий набор для набора данных может не содержать значений для всех указанных столбцов, так как в источнике данных столбцы более не существуют. Можно использовать свойство поля IsMissing, чтобы выяснить, были ли возвращены значения для поля во время выполнения. Дополнительные сведения см. в разделе Использование в выражениях ссылок на коллекцию полей набора данных (построитель отчетов 2.0).
Отображение скрытых наборов данных
При создании параметризованного запроса для некоторых многомерных источников данных службы Analysis Services автоматически создают наборы данных, чтобы предоставить допустимые значения для параметра. По умолчанию эти наборы данных не отображаются в области «Данные отчета». Дополнительные сведения см. в разделе Как показать скрытые наборы данных (построитель отчетов 2.0).
См. также