Crystal reports 一份报告中的前10名和后10名
我希望在一个报告中同时包含前10个和下10个数据记录。我已经开始通过添加组和组排序来获得前10名。但是如何插入第二个组,使buttom 10的值如下所示:Crystal reports 一份报告中的前10名和后10名,crystal-reports,Crystal Reports,我希望在一个报告中同时包含前10个和下10个数据记录。我已经开始通过添加组和组排序来获得前10名。但是如何插入第二个组,使buttom 10的值如下所示: Top 10: Group1 Value1 Group1 Value2 Group1 Value3 .. Group1 Value 10 Buttom 10: Group1 Value1 Group1 Value2 Group1 Value3 .. Group1 Value 10 非常感谢您因为您已经成功地显示了前10条记录,那么您所
Top 10:
Group1 Value1
Group1 Value2
Group1 Value3
..
Group1 Value 10
Buttom 10:
Group1 Value1
Group1 Value2
Group1 Value3
..
Group1 Value 10
非常感谢您因为您已经成功地显示了前10条记录,那么您所需要做的就是显示底部的10条记录。为此,请执行以下步骤
- 在报表页脚或页脚中创建子报表(重要的是,如果将其放在报表页脚上,则必须在该部分的“section expert”中选中“在页面底部打印”)
- 在database expert的子报表中添加与主报表相同的数据源,但只需按其他方式排序(降序)
Shared Numbervar array intarr;
intarr:=intarr+Databasefield;
databasefield
将下面的公式放在组页脚中:
Shared Numbervar array intarr;
Shared Stringvar array firstten;
Shared Stringvar array lastten;
Local Numbervar i;
for i:=1 to 10 do
(
firstten:=firstten+ToText(intarr[i]);
);
for i:=(UBound(intarr)-10) to UBound(intarr) do
(
lastten:=lastten+ToText(intarr[i]);
);
Join(firstten,",")&"-------------"&Join(lastten,",");
//firstten具有前十个值
//lastten具有lastten值
//根据需要使用和显示在第一个组的页脚后插入第二个组如何在cr13中执行此操作?当我按下下面的insert section时,只有两个页脚?你可以使用ArrayS来做。你有这样的例子吗?pls@Simon检查我的答案谢谢你的回答。由于性能问题,无法使用子报表。。。还有其他解决办法吗?数据基于bw查询-因此,使用您的解决方案,查询将执行2次-对吗?如果无法使用子报表,则您应该修改数据源中总共有20条记录的数据,前10条记录得到1列值
top
,最后10条记录得到了列值bottom
,您在报告中对该列进行分组。所以,要么在生成报告之前准备好数据,要么使用子报告。首先,在问题中定义可以做什么和不能做什么。在所有允许你做的事情之后,我可能会为你提供解决方案。我能做什么和不能做什么都很简单:没有子报表,也没有查询修改:)好吧,下次在要求解决方案之前写下有问题的信息