Подготовка данных для отображения в области данных табликса (построитель отчетов версии 3.0 и службы SSRS)

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

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

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

Работа с пустыми значениями и значениями NULL в полях

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

Если значения NULL необходимо обрабатывать каким-либо иным образом, то можно воспользоваться условными выражениями или пользовательским кодом для замены NULL другим значением. Например, следующее выражение производит подстановку текста Null вместо значений NULL в столбце [Size].

=IIF(Fields!Size.Value IS NOTHING,"Null",Fields!Size.Value)

Дополнительные сведения о замене значений NULL при получении данных из источника данных SQL Server с использованием запросов Transact-SQL см. в разделах «Значения null» и «Значения и соединения null» в документации по службам SQL Server в электронной документации по SQL Server.

Обработка имен полей со значением NULL

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

Добавление столбца порядка сортировки

По умолчанию значения поля набора данных сортируются по алфавиту. Чтобы сортировка выполнялась в другом порядке, необходимо добавить в набор данных новый столбец, определяющий необходимый порядок сортировки области данных. Например, чтобы выполнить сортировку по полю [Color] таким образом, чтобы сначала шли белые и черные предметы, необходимо добавить столбец [ColorSortOrder], показанный в следующем запросе.

SELECT ProductID, p.Name, Color,
   CASE
      WHEN p.Color = 'White' THEN 1
      WHEN p.Color = 'Black' THEN 2
      WHEN p.Color = 'Blue' THEN 3
      WHEN p.Color = 'Yellow' THEN 4
      ELSE 5
   END As ColorSortOrder
FROM Production.Product p

Чтобы отсортировать область данных таблицы в соответствии с этим порядком сортировки, задайте для группы сведений выражение =Fields!ColorSortOrder.Value. Дополнительные сведения см. в разделе Как сортировать данные в области данных (построитель отчетов версии 3.0 и службы SSRS).