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

目录:

1. 概述编辑

本文的学习视频如下,如果您需要由浅入深地学习层次坐标可以使用:层次坐标专题

[helpvideo]1639[/helpvideo]

1.1 应用场景

条件汇总:统计满足某些条件的数据个数。

例如下图示例,统计每年应付金额大于2500的月份个数。

Snag_3fa8ef.png

1.2 实现思路

通过 count() 函数结合层次坐标条件表达式实现。

2. 示例编辑

2.1 准备数据

新建数据集 ds1,SQL 语句为:

SELECT STRFTIME('%Y',订购日期) AS 年份,STRFTIME('%m',订购日期) AS 月份,应付金额

FROM 订单

WHERE STRFTIME('%Y',订购日期) IN ('2010','2011')

2.2 设计表格

如下图设计表格,将 ds1 中的字段拖到 A2、B2、C2 单元格,C3单元格用于计算条件汇总,统计每年应付金额大于2500的月份个数。

Snag_541a74.png

C3 条件汇总公式为:COUNT(C2[!0]{A2 = $A2 && C2 > 2500}),公式拆解后的说明如下表所示:

公式拆解说明
COUNT( )统计括号里面所有数据的个数
C2[!0]{ }输出满足大括号里面条件的所有数据
A2 = $A2条件表达式一部分,将计算限定在每个分组内,即每个年份各自统计自己的
C2 > 2500条件表达式一部分,应付金额需要大于 2500

2.3 效果预览

保存报表,分页预览后的效果如下图所示:

Snag_5d02da.png

支持 App 端和 HTML5 端预览,效果如下图所示:

1622689369689664.jpg

3. 模板下载编辑

已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\demo\NewbieGuide\条件汇总.cpt

点击下载模板:条件汇总.cpt

4. 注意事项编辑

普通报表跨 sheet 和决策报表跨报表块时,不支持实现条件汇总。

因为当涉及跨 sheet 或跨报表块时,如果公式中包含了{}这种大括号的条件,则公式无效。详情参见文档:跨sheet或跨报表块使用条件过滤无效