准备要在 Tablix 数据区域中显示的数据 (Report Builder 2.0)

Tablix 数据区域可显示来自数据集的数据。您可以查看从数据集中检索的所有数据,也可以创建筛选器以便仅查看数据子集。还可以添加条件表达式,以便填充 Null 值或修改对数据集的查询,使其包括定义现有列的排序顺序的列。

处理字段值中的 Null 值和空白

数据集中的字段集合的数据包含在运行时从数据源中检索到的所有值,包括 Null 值和空白。通常 Null 值和空白是无法区分的。在大多数情况下,这是所需行为。例如,SumAvg 等数值聚合函数忽略 Null 值。有关详细信息,请参阅在表达式中使用内置报表函数和聚合函数 (Report Builder 2.0)

如果希望以不同方式处理 Null 值,则可以使用条件表达式或自定义代码替换 Null 值的自定义值。例如,只要 [Size] 字段显示 Null 值,以下表达式则替换 Null 文本。

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

有关在使用 Transact-SQL 查询从 SQL Server 数据源检索数据之前在数据中消除 Null 值的详细信息,请参阅位于 SQL Server 联机丛书上的 SQL Server 2008 文档中的“Null 值”和“Null 值和联接”。

处理 Null 字段名称

只要查询结果集中存在 Null 字段自身,就可以在表达式中测试 Null 值。使用自定义代码,可以测试在运行时从数据源返回的集合字段中是否存在字段自身。有关详细信息,请参阅在表达式中使用数据集字段集合引用 (Report Builder 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。有关详细信息,请参阅如何对数据区域中的数据排序 (Report Builder 2.0)