历史版本16 :条件汇总 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

示例一:通过层次坐标,我们还可以进行条件汇总,即对扩展出来的行汇总满足条件的数据信息。如下图所示,汇总订单总额超过2500的月份数量:
 
示例二:如下图所示,可以通过层次坐标计算某一列的特定要求的和、个数、平均值等:
222

2. 思路编辑

占比可以知道,我们可以通过Cell[!0]来获取一个单元格扩展出来的所有数据。
在此基础上我们可以通过Cell[!0]{条件}来获取这个单元格扩展出来的所有值中满足条件的数据。
层次坐标以$Cell表示当前Cell单元格的值。

3. 操作步骤编辑

3.1 示例一
3.1.1 打开报表
打开报表%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\同期比.cpt
修改报表如下,增加一汇总行,A4左父格设置为A3,每年汇总一次:
左父格设置如图,右键A4单元格扩展
222
3.1.2 条件汇总
右击C4单元格,单元格元素>插入公式,写入公式:=count(B3[!0]{A3 = $A3 && C3 >= 2500}):B3扩展出的所有月中,满足属于当前年且总额大于或等于2500的月份个数。
其中B3[!0]表示B3单元格扩展出来的所有数据,不受主格影响,获得2010年下的月与2011年下的月。
{A3 = $A3 && C3 >= 2500},{}里面是筛选条件,A3 = $A3表示在当前A3组内;C3 >= 2500表示总额大于或等于2500。
3. 2示例二
3.2.1 报表设计
新建普通报表,添加数据库查询:select * from STSCORE where CLASSNO="Class4"
如图所示拖入数据列:
222
设置B1数据列扩展方向为橫向扩展;如下图:
222
同理,设置A2、B2单元格为纵向扩展;
3.2.2 条件汇总
在C3单元格中,写入公式:SUM(B2{B2 < 60}),B2扩展出来的列中,满足属于A2的B2小于60的值的和。
其中B2{B2 < 60}表示B2单元格扩展出来的列B2小于60的值。
{B2 < 60},{}里面是筛选条件,B2小于60的值。
D2的公式为:COUNT(B2{B2 >= 60}),表示计算B2中大于60的个数;
E2的公式为:AVERAGE(B2),表示计算B2的平均值。
3.2.3 父格设置
C2、D2、E2单元格的左父格均设置为A2

4. 预览效果编辑

示例一:

示例二:

222

在成绩之后分别列出了每个人科目中小于60分的分数之和;及格科目数;所有科目的平均分。
注:正常点击分页预览会因为列数过多而分页,此时可以如上图所示,在预览模板的URL后增加&__bypagesize__=false

5. 已完成模板编辑

1)示例一
模板效果在线查看请点击条件汇总示例一
已完成模板可参考%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\条件汇总示例一.cpt

2)示例二

模板效果在线查看请点击条件汇总示例二
以完成模板可参考%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\条件汇总示例二.cpt