如何在Crystal Report中配置多组多列实现指定薪资数据展示?
Crystal Report配置步骤(实现员工薪资分组汇总展示)
一、确认数据源结构
你的数据源表结构如下:
| emp_Id | salary_type | salary_value |
|---|---|---|
| e-001 | addition | 2.00 |
| e-001 | addition | 0.50 |
| e-001 | deduction | -0.10 |
| e-002 | addition | 2.50 |
| e-002 | addition | 1.50 |
| e-002 | deduction | 0.00 |
| e-003 | addition | 4.00 |
| e-003 | deduction | -0.50 |
| e-003 | deduction | -0.25 |
确保Crystal Report已正确连接该数据源。
二、设置分组层级
- 一级分组(员工):右键报表空白处 → 选择「插入」→「组」,选中
emp_Id作为分组字段,设置排序方式(升序/降序均可),生成员工组头(Group Header 1)和组尾(Group Footer 1)。 - 二级分组(薪资类型):在员工分组范围内,再次插入组,选中
salary_type作为分组字段,设置排序方式,生成薪资类型组头(Group Header 2)和组尾(Group Footer 2)。
三、设计报表内容布局
- 组头区域:
- 在员工组头放置
emp_Id字段,作为员工唯一标识; - 在薪资类型组头放置
salary_type字段,展示薪资类别(addition/deduction)。
- 在员工组头放置
- 详细资料区域:
- 放入
salary_value字段,展示单条薪资明细数据。
- 放入
- 组尾区域:
- 在薪资类型组尾插入汇总字段:右键空白处 →「插入」→「汇总」,选择
salary_value,汇总函数选「求和」,生成对应薪资类型的总额; - 在员工组尾插入净薪资汇总:用公式计算
Sum({表名.salary_value}, {表名.emp_Id}),或者分别汇总addition和deduction后相加,得到员工最终净薪资。
- 在薪资类型组尾插入汇总字段:右键空白处 →「插入」→「汇总」,选择
四、格式优化
- 隐藏不需要的系统区域(如默认报表页眉/页脚,若无需展示);
- 设置数值格式:右键
salary_value及所有汇总字段 →「设置字段格式」→「数字」标签,配置为两位小数的数值格式; - 调整边框、字体样式,让报表布局与目标展示效果匹配(员工下分两类薪资明细,对应类别汇总,最后显示员工净工资)。
五、预览验证
预览报表,确认每个员工的薪资明细按类型分组展示,汇总数值计算准确,净薪资为addition总和与deduction总和的合计结果。
内容的提问来源于stack exchange,提问作者Pramono
相关产品推荐
相关产品推荐

