历史版本29 :条件计数 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
注:11.0.4 及之后版本支持使用层次坐标函数 COUNTIFS-条件计数 实现条件计数。
1.1 应用场景
条件计数,即统计满足某些条件的数据个数。
例如,统计每年应付金额大于 2500 的月份个数。如下图所示:
1.2 实现思路
通过 count() 函数结合层次坐标条件表达式实现。
2. 示例编辑
2.1 新建模板
新建一张普通报表,如下图所示:
2.2 准备数据
新建数据库查询 ds1 ,输入 SQL语句:
SELECT STRFTIME('%Y',订购日期) AS 年份,STRFTIME('%m',订购日期) AS 月份,应付金额
FROM 订单
WHERE STRFTIME('%Y',订购日期) IN ('2010','2011')
表示从订单表中筛选 2010 年或 2011 年的年份(从 订购日期 字段中提取年份部分,命名为 年份 )、月份(从 订购日期 字段中提取月份部分,命名为 月份 )、应付金额,步骤如下图所示:
2.3 设计报表
1)A1~C1 单元格输入文本,合并 A2、A3 单元格,A2~C2 单元格拖入相应数据列,并将 C2 单元格的数据设置选择为「汇总>求和」,如下图所示:
2)B3 单元格输入文本,C3 单元格插入层次坐标公式:COUNT(C2[!0]{A2 = $A2 && C2 > 2500}),如下图所示:
3)公式说明如下表所示:
公式拆解 | 说明 |
---|---|
COUNT( ) | 统计括号里面所有数据的个数 |
C2[!0]{ } | 返回单元格 C2 扩展出来的满足 { } 内条件表达式的单元格数据 |
A2 = $A2 | 条件表达式的一部分,将计算限定在每个分组内,即每个年份各自统计自己的 |
C2 > 2500 | 条件表达式的一部分,应付金额需要大于 2500 |
2.4 效果预览
1)PC端
保存模板,点击「分页预览」,效果如下图所示:
2)移动端
支持 App 和 HTML5 端预览,效果如下图所示:
3. 模板下载编辑
点击下载已完成模板:条件计数.cpt
4. 注意事项编辑
普通报表跨 sheet 时、FVS可视化看板或决策报表跨表格组件时,不支持使用此方法实现条件计数。
因为当涉及跨 sheet 或跨表格组件时,如果公式中包含了{}这种大括号的条件,则公式无效。
详情参见文档:跨sheet或跨报表块使用条件过滤无效