>小计:是指数字列表的一部分的总和 >横向组内:是指每个横向分组下的小计 [TOC] # 展示效果 预览地址:[https://bootapi.jeecg.com/jmreport/view/1351426064915763200](https://bootapi.jeecg.com/jmreport/view/1351426064915763200) ![](https://img.kancloud.cn/09/74/097492cb418d1238d2639c1fe18159da_1658x832.png) # 设计步骤 ## 方案一、表头不循环 >创建一个学校经费信息表,有八个字段:人员经费、日常经费、人员经费(村投入)、日常公用费用(村投入)、项目经费(村投入)、基建投入(社会捐款)、项目经费(社会捐款)、基础投入(社会捐款)、学校名称、学校类别 ![](https://img.kancloud.cn/71/f6/71f672dcc32ceadd35e6bba316dacb44_1175x275.png) ### 创建一个名为叫做`学校经费统计`的数据报表 #### 1.1 为`学校经费统计`添加SQL数据源 >查询学校经费所有信息 ![](https://img.kancloud.cn/dc/76/dc760a2050ae41dcf67188c2a92d7a70_1902x905.png) >部分数据展示 ![](https://img.kancloud.cn/66/6d/666d7c5cef1c196fccbcc81128fb4016_1905x890.png) #### 1.2 把我们需要的字段拖拽到设计器页面 ![](https://img.kancloud.cn/d3/c0/d3c0b30d02fd9050ffdd78e639bca536_1911x972.png) #### 1.3 重点来了->用`=sum()`进行组内小计 >小计可直接使用`SUM(D7,E7)`或`sum(M7:N7)` >`=sum()`可以写以写成`=sum()`,也可以写成`=SUM()` >`D7`代表D列第7行所在的单元格 >逗号和冒号的区别:逗号仅代表当前所在的列和行对应的单元格,冒号包含中间的列和行所对应的单元格 ![](https://img.kancloud.cn/7e/16/7e16d14095511535f80f6a52b55c807f_1912x904.png) >总计直接写当前列和行即可 ![](https://img.kancloud.cn/d2/1b/d21b0676b45725419d005f747a16ab68_1617x889.png) >保存预览 ![](https://img.kancloud.cn/0c/dc/0cdcd37d8cd851e517df315f25ce251a_1911x980.png) ## 方案二、表头动态循环 ### 创建一个名为`区域销售统计`的数据报表 > 创建一个区域销售表,有七个字段:ID、区域、省、月份、销售额、捐赠、比例 ![](https://img.kancloud.cn/a3/29/a3294978ba19d67d0d700411c0209f87_940x218.png) #### 1.1 为`区域销售统计`创建一个SQL数据集 >查询销售区域所有信息 ![](https://img.kancloud.cn/70/43/7043db02e3d0e38be95bfbb28820e6dd_1906x944.png) >部分数据展示 ![](https://img.kancloud.cn/59/7d/597d7f939340bcb484e5d8406b739b15_1907x927.png) #### 1.2 把我们需要的字段拖拽到设计器页面 ![](https://img.kancloud.cn/b2/0c/b20c3f98ecde7d39241ed6f3b0707c69_1918x922.png) #### 1.3 设置横向分组、纵向分组、动态属性 >[danger]此步骤涉及到`横向纵向组合动态列`和`交叉报表` 横向纵向组合动态列请参考 [横向纵向组合动态列](http://report.jeecg.com/2119057) 交叉报表请参考 [交叉报表](http://report.jeecg.com/2112709) * 将`#{area.region}`、`#{area.province}`设置成纵向分组 * 将`#{area.moth}`设置成横向分组 * 将`#{area.sales}`、`#{area.gift}`、`#{area.proportion}`设置成动态属性 * 将`#{area.sales}`、`#{area.gift}`的数值格式设置成数值类型 ![](https://img.kancloud.cn/71/ec/71ec8ba481ae3383f3a762fdcaab211d_1643x881.png) #### 1.4 重点来了->设置小计 >计算方式可写成:`#{area.compute(sales+gift)}`,支持加减乘除自定义计算,`area`为数据源编码,`sales`、`gift`为数据源下面的字段,`compute` 为固定写法表达式 ![](https://img.kancloud.cn/0c/9a/0c9acfc35f677ddd8895e30b50a35e10_1649x897.png) >保存预览 ![](https://img.kancloud.cn/ba/ca/baca21572bb7913f5e69f7e9608a231a_1911x980.png)