Подготовка данных для отображения в области данных табликса (построитель отчетов 2.0)
Область данных табликса отображает данные из набора данных. Существует возможность как просматривать все данные, полученные из набора данных, так и создавать фильтры, позволяющие просматривать подмножество этих данных. Можно также добавить условные выражения для заполнения пустых значений или изменить запрос к набору данных, включив в него столбцы, определяющие порядок сортировки для существующих столбцов.
Работа с пустыми значениями и значениями NULL в полях
Данные коллекции полей набора данных включают все значения, полученные из источника данных во время выполнения, в том числе значения NULL и пустые значения. Обычно эти два значения неотличимы. В большинстве случаев это приемлемо. Например, числовые статистические функции Sum и Avg не учитывают значения NULL. Дополнительные сведения см. в разделе Использование встроенных функций отчета и статистических функций в выражениях (построитель отчетов 2.0).
Если значения NULL необходимо обрабатывать каким-либо иным образом, то можно воспользоваться условными выражениями или пользовательским кодом для замены NULL другим значением. Например, следующее выражение производит подстановку текста Null вместо значений NULL в столбце [Size].
=IIF(Fields!Size.Value IS NOTHING,"Null",Fields!Size.Value)
Дополнительные сведения о замене значений NULL при получении данных из источника данных SQL Server при помощи запросов Transact-SQL см. в разделах «Значения Null» и «Значения и соединения Null» в документации по SQL Server 2008 в электронной документации по SQL Server.
Обработка имен полей со значением NULL
Прекрасным решением будет проверка на значения NULL в выражении, поскольку в таком случае поле будет существовать в результирующем наборе. В пользовательском коде придется во время выполнения проверять, существует ли поле в коллекции полей, возвращенных источником данных. Дополнительные сведения см. в разделе Использование в выражениях ссылок на коллекцию полей набора данных (построитель отчетов 2.0).
Добавление столбца порядка сортировки
По умолчанию значения поля набора данных сортируются по алфавиту. Чтобы сортировка выполнялась в другом порядке, необходимо добавить в набор данных новый столбец, определяющий необходимый порядок сортировки области данных. Например, чтобы выполнить сортировку по полю [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. Дополнительные сведения см. в разделе Как отсортировать данные в области данных (построитель отчетов 2.0).