我有一个关于水晶报表的问题。我有一个现有的报告,其数据取自存储过程。数据可能如下所示:
部门|组级别 1|组级别 2 |组级别 3|值 --------+-------------+-------+-------- ------+-------- IT |资产 |流动资产 |现金 |100 公司 |资产 |流动资产 |现金 |200 IT |资产 |流动资产 |应收账款 |300 公司 |资产 |流动资产 |应收账款 |400 IT |资产 |固定资产 |土地 |500 公司 |资产 |固定资产 |土地 |600 IT |负债 |流动负债|工资 |100 公司 |负债 |流动负债|工资 |200 IT |负债 |流动负债|税收 |100 公司 |负债 |流动负债|税收 |100 IT |负债 |长期 |债券 |300 公司 |负债 |长期 |债券 |400
实际数据可能有更多的划分(不仅仅是两个)。在新报告中,我希望报告如下所示:
| 资讯科技 | 公司 流动资产 现金 | 100 | 200 应收账款 | 300 | 400 流动资产总额 | 400 | 600 固定资产 土地 | 500 | 600 固定资产总额 | 500 | 600 总资产 | 900 | 1200 流动负债 工资 | 100 | 200 税收 | 100 | 100 流动负债总额 | 200 | 300 长期 债券 | 300 | 400 总长期 | 300 | 400 总负债 | 500 | 700
因此,报表将根据分区数向右扩展。假设一页最多可以容纳 10 个分区。那么如果有15个分区,那么第一页显示1到10分区,第二页显示11到15分区。第一页和第二页显示的项目相同,只是分区不同。分区的数量是灵活的。而且项目很多(可能有很多流动资产、负债等)。
现在,我尝试在存储过程中进行一些格式化,因此返回的数据将如下所示:
页码 | 组 1 级 | 组 2 级 | 组 3 级 | 第 1 部分 | 值 1 | 第 2 部分 | 价值 2 --------+----------------+---------------+--------- ------+-------+---------+--------+-------- 1 | 资产 | 流动资产 | 现金 | 资讯科技 | 100 | 公司 | 200 1 | 资产 | 流动资产 | 应收账款 | 资讯科技 | 300 | 公司 | 400
等等。对于 11 到 15 分区,我将页码设置为 2。然后在水晶报表中,我将按:页码、组级别 1、组级别 2 和组级别 3 进行分组。所以水晶报表将显示所有内容在基于页码的页面上。
问题是:
- 如果有很多项目,那么它也可能不适合一页。例如,假设一页最多可以容纳 30 行,那么如果我有 40 行,则 10 行将显示在第二页中。但是我希望第二页仍然显示第 11-15 部分的前 30 个项目,第三页将显示第 1-10 部分的最后 10 行,第四页将显示第 11-15 部分的最后 10 行.
- 每次更改组时,都会重置 Crystal Report 中的运行总计。假设我有 40 个资产。然后在第三页和第四页上的 40 个资产之后,它应该显示资产的总数。如何计算运行总数以使其正确显示?(考虑到我不能直接总结,因为第三页和第四页应该显示不同部门的总数)。
有没有解决这个问题或更好的方法来格式化数据?
谢谢。