超高效提升水晶报表性能之在服务器上分组的好处 - 示例

类别:.NET开发 点击:0 评论:0 推荐:

以下示例描述了一个典型的制表方案,对于该方案,在服务器上分组可显著减少数据库服务器的不必要的数据传输。

通过在服务器上分组来减少数据传输
打开示例报表 Group.rpt(位于 Feature Examples 文件夹)。
查看 Crystal Reports 窗口的右下角,可以注意到有 269 条记录返回给此报表。

注意:    只有在“视图”菜单中选中“状态栏”选项才会看到此数字。

在“报表”菜单中,单击“节专家”打开“节专家”。
在“节”列表中,选择“详细资料”。
在“公用”选项卡中,选择“隐藏(深化完成)”。这会隐藏报表的“详细资料”节,从而在报表中仅显示组页眉。(在这种情况下,报表按“国家/地区”分组。)
单击“节专家”中的“确定”。“详细资料”记录会从报表中消失。
按 F5 键刷新报表数据(或单击工具栏中的“刷新”按钮)。
可以看到,即使从视图中隐藏“详细资料”记录,仍为报表返回了 269 条记录。

在“数据库”菜单中,单击“在服务器上执行分组”。
现在可以看到仅有 71 条记录返回给报表。(按“国家/地区”)分组已在服务器上执行完毕,这样,传输给报表的记录就更少。

双击报表对某个国家/地区进行深化。
提示:    当可以执行深化时,光标会变成一个放大镜。

Crystal Reports 将根据您的需要检索相应的“详细资料”记录。

例如,如果对澳大利亚进行深化,Crystal Reports 会迅速检索构成该组的七条记录。

通过隐藏此报表的“详细资料”记录,您已为用户创建了易于浏览的汇总报表。每个用户可先定位他或她关注的国家/地区,然后进行深化以检索有价值的详细资料。

此外,通过启用“在服务器上执行分组”选项,您已确保初始处理在数据库服务器上完成。此后,仅为报表传输必要的记录。

有关服务器端处理的更多信息,请参阅服务器端处理。

本文地址:http://com.8s8s.com/it/it45297.htm