对数据进行分组和排序 (Report Builder 1.0)

使用组可以对数据进行组织,以便以可视化层次结构显示报表以及获取小计。对数据进行分组后,可以按升序或降序顺序对各个组中的数据进行排序,以便可以方便地查找数据。例如,假设创建一个销售报表,其中包含客户、这些客户所在的销售区域、每个销售区域的销售人员以及销售额的有关信息。可以先按“销售区域”再按“客户”对数据进行分组,以查看每个区域和每个客户的总销售额。对销售区域和销售人员字段进行排序将使数据更易于阅读。报表生成器在与客户相应的销售区域中按字母顺序列出客户并提供总销售额。可以按字母顺序对销售区域组中的数据进行排序,然后对其他组中的数据进行排序使其也以字母顺序显示。此外,也可以按总计进行排序。例如,可以按每个区域的总销售额对区域进行排序。

对数据分组

在将字段和实体拖至设计区域中时,也会将数据组织到相应的组中。在报表生成器中,使用组选项卡来表示组,组选项卡通常沿报表布局的上边缘显示。通常,范围最大的组沿报表外边缘放置,随着阅读报表的逐步深入,数据也将变得越来越具体。使用上面的示例,对于报表中显示的数据,范围最大的组是“销售区域”,最具体的数据是客户和销售额。

将创建两种类型的组:值组和实体组。值组是基于字段的组。字段名称显示在值组选项卡中。在运行报表时,值组将为每个非重复值返回组的单个实例。例如,假设向报表中添加“国家/地区名称”字段。则国家/地区名称仅在报表中显示一次。实体组是基于实体的组。实体名称显示在实体组选项卡中。在运行报表时,实体组将返回实体的单个实例。例如,如果您有一个“区域”组,则每个区域仅在报表中列出一次。

“组头”选项卡

对数据进行分组时,请注意以下几个方面:

  • 您可以根据需要在报表布局模板中创建任意数目的组。

  • 若要向组中添加项或更改当前分组,请将该字段放至组选项卡上。

  • 通过将组选项卡拖放到报表布局中的另一个组选项卡上,可以重新排列组。

  • 如果组是某个字段的实体组,将该字段放至报表布局模板的右侧时,该字段将添加到此组中。如果不存在实体组,则将为该字段创建新组。

  • 将字段添加到报表布局模板的左侧时会为该字段创建新组。如果该字段是实体的标识字段,在将该字段添加到报表布局模板的左侧时将创建实体组。

  • 向设计区域中添加实体时,报表生成器将创建使用该实体名称的组。将实体中的多个字段添加到设计区域中也会使用该实体名称对这些字段进行分组。

  • 将相关实体的单值字段添加到报表布局模板的右侧时,该字段将作为附加详细信息添加到现有组中。

  • 向报表布局模板中添加聚合字段(包含一组值的总计的字段)时,该字段将成为所添加到的组的附加详细信息。

  • 如果两个实体之间存在一对多关系,当您向设计区域中添加主实体并添加辅助实体后,“资源管理器”窗格中的主实体将发生更改。例如,如果向设计区域中添加“客户”实体,则“客户”实体将成为“资源管理器”窗格中的主实体。如果向设计区域中添加“销售订单”实体,则“资源管理器”窗格中的主实体将更改为“销售订单”。

  • 若要在特定字段中创建值组,请选择该字段并将其拖至原始组的左侧。将创建按该字段命名的新组。

  • 如果向报表布局模板中添加一个或多个聚合字段,并且没有可用于与该聚合关联的组,则将创建总计组。

  • 向仅包含单个总计组的查询中添加值组或实体组时,将删除该总计组并将聚合字段添加到值组或实体组中。如果从报表布局中删除所有的值组或实体组,则聚合字段将恢复为总计组。

对数据进行排序

可以根据组中的任意字段或根据显示小计的字段对每个组中的数据进行排序。可以根据多个字段对每个组进行排序。例如,假设报表在“客户姓名”组中包含“名字”和“姓氏”字段。如果按从 A 到 Z 的顺序对“姓氏”进行排序,则在报表中具有相同姓氏的客户将分组在一起显示,但是他们将按照报表生成器检索数据的顺序列出。如果对“名字”也按从 A 到 Z 的顺序进行排序,则在报表中具有相同姓氏的客户将分组在一起显示,但是他们也将按名字的字母顺序进行排序。

若要对报表中的数据进行排序,请使用**“排序和分组”对话框。选择包含要进行排序的数据的组,然后使用“排序依据”“辅助依据”**下拉列表为该组中每个字段指定排序顺序。

允许读者对报表中的数据进行排序

默认情况下,在运行报表后阅读报表的人员可以更改数据的排序方式。在运行报表后,阅读报表的人员可以使用显示在各个列名旁边的上箭头和下箭头对特定字段进行排序。单击一次排序箭头可以根据该字段对包含组按升序排序。再次单击该图标可以按降序排序。在按住 Shift 键的同时单击排序图标,报表查看者可以对所呈现报表的多个字段进行排序。若要禁用此功能,可以清除**“报表属性”对话框中的“允许用户在查看报表数据时对其进行排序”**复选框。