优化性能的设计选择

在设计报表,尤其是设计用于 Web 的报表时,应该允许报表用户操纵其所查看的数据。即,显示汇总信息,以便每个用户可以快速地浏览报表,然后向下钻取以访问其他数据。采用此方法,由于仅从数据库服务器传输用户所请求的数据,所以最大限度地降低了 Web 流量并缩短了响应时间。

下面只是设计用户驱动报表的几点优势:

  • 报表用户可以对其在 Web 上查看的信息类型和数量进行交互控制。
  • 因为只从数据库服务器返回用户所请求的信息,所以数据传输和网络流量减少。
  • 当用户需要通过 Web 根据实时数据制作报表时,面向用户的报表响应迅速,并能有效地与数据库服务器通讯。
  • 报表变得更有用,原因在于每个用户均可自定义报表的内容,从而创建针对其需要决策的特定问题的报表解决方案。

汇总报表

设计和分发汇总报表是确保用户可以在 Web 上快速查找所需数据的一种相对简便的方法。汇总报表可以包含的数据与其他任何报表一样多。但是,通过隐藏汇总报表的“详细资料”节,可以避免用户淹没在其可能并不直接需要的数据中。

当“详细资料”节隐藏时,用户首先通过浏览“组”树来找到所需数据。然后,可以通过在报表中向下钻取来请求特定数据,即可在不带不必要记录的情况下快速返回所需数据。这对于改善较长汇总报表的浏览尤其重要,较长的汇总报表可能包含几百页、几千页甚至几万页。

按需显示子报表

如果报表有处理大量记录的节,则可以将该节放入按需显示子报表中。按需显示子报表在主报表中以超级链接的形式出现。在打开主报表时,不会检索按需显示子报表的任何数据,直到向下钻取相应的超级链接才检索所需数据。

例如,在设计报表显示每个雇员的每种产品和每种产品类型的季度销售额时,可能还希望通过包含每周销售信息来跟踪每个雇员的进展情况。但是,查看该报表的很多用户可能不会对此类额外的数据感兴趣。在此类情况下,可将报表的每周销售部分提取出来,将其作为按需显示子报表附加到报表中。仅当用户在该按需显示子报表上向下钻取时,才会从数据库检索有关每周销售情况的详细信息。

很多报表对象(如大型交叉表和高级图表)都是可以包含到按需显示子报表中的理想候选对象,以使对象在向下钻取之前不会被处理。

也可以将此类报表对象放入使用“在服务器上执行分组”选项的报表的隐藏“详细资料”节中。采用此做法时,数据库服务器执行多数处理,只将一个记录子集从服务器传输到本地计算机。

链接表而不是链接子报表

只要有可能,请使用“可视链接专家”将数据库表链接到主报表来协调报表数据,而不要将常规子报表(即不是按需显示子报表的子报表)链接到主报表。因为每个子报表都是作为单独的报表运行,所以链接的表常常有性能优势。

请参见