Crystal Report中如何正确生成分组小计与总计?
解决Crystal Report分组小计累计求和问题
嘿,你这问题明显是用错了字段类型——你现在的分组小计用了运行总计字段(Running Total Field),它默认是全程累加不重置的,所以才会出现22000、44000这种累计值。咱们换成专门的**摘要字段(Summary Field)**来做分组小计就能搞定,具体操作步骤如下:
1. 先清理掉有问题的累计小计字段
把当前用来显示分组sub_Total的那个运行总计字段删掉,它就是麻烦的根源。
2. 创建分组专属的小计字段
- 打开报表的字段资源管理器,找到你用来计算金额的目标字段——要么是原始的
{DTtablesales.Amount},要么是你写的转换公式tonumber({DTtablesales.Amount}) - 右键点击这个字段,选择「插入 > 摘要」
- 在弹出的配置框里:
- 摘要函数选求和
- 「计算此摘要的位置」选择你的分组字段(比如你是按什么维度分组的,就选那个分组)
- 点击确定后,Crystal会自动把这个小计字段放到对应的分组页脚区域
3. 优化GrandTotal(可选)
你现在的GrandTotal用运行总计做的sum(Amount)其实也能用,但换成摘要字段更稳妥:同样插入摘要,计算位置选报表,这样就能自动算出所有分组的总和,避免运行总计可能的重置异常。
额外提醒
- 先确认分组设置没问题:在「报表 > 分组专家」里,检查分组字段和分组规则是不是你预期的,别分组维度错了导致结果不对
- 如果用的是转换后的公式字段,创建摘要时直接选这个公式字段就行,Crystal会自动识别数值类型并正确求和
这么设置之后,每个分组的sub_Total就会是该组单独的金额总和(比如都是22000),GrandTotal也会正确显示所有组的总和(66000),完全符合你的需求~
内容的提问来源于stack exchange,提问作者mantics
相关产品推荐
相关产品推荐

