用FineReport报表工具计算排名报表制作步骤

上图报表分别对进口和国产的产品在第一季度中三个月份的销售量进行了排名
下面我们来看一下上述报表的实现过程:
1.连接数据库FRDemo
2.设计报表
2.1新建报表
2.2表样设计
按照下图设计好报表的基本框架

2.3新建一数据集名为ds1
SQL语句:select * from Sales
2.4绑定数据列

按照下列表格将数据集的字段拖入对应单元格内,并作相应的设置。
| 单元格 | 内容 | 基本属性设置 |
| B5 | ds1.Attributes | 从上到下扩展,居中,其余默认 |
| C6 | ds1.ProductName | 从上到下扩展,居中,其余默认 |
| D6 | ds1.Amount | 数据设置:汇总-求和,居中,其余默认 |
| F6 | ds1.Amount | 数据设置:汇总-求和,居中,其余默认 |
2.5排名
| 通过层次坐标来计算排名
E5中填入公式:” =count(D5[!0]{B5==$B5 && D5>=$D5})” G5中填入公式:” =count(F5[!0]{B5==$B5 && F5>=$F5 && F3==$F3})” 公式说明:count()函数是计算数组或数组区域中所含项的个数,在这里就是指符合条件的单元格的个数。D5[!0]指所有的单元格,”{}”中写的就是所选单元格的条件,” D5[!0]{B5==$B5 && D5>=$D5})”就是指当前格所属D5分组格扩展出来的F5单元格中值大于或等与当前单元格的单元格,所以” count(D5[!0]{B5==$B5 && D5>=$D5})”就是当前单元格在所在父B5中的排名。G5中的公式类似,只是多了一个限制条件:” F3==$F3”,这是对上父格的限制。 |

3.保存预览