如何统计并展示报表中VOID字段下的非null记录数量
VOID字段非空记录汇总统计实现方案
数据源层(SQL查询)实现(通用优先方案)
直接在生成报表的原始查询逻辑中完成统计,不受报表工具限制:
- 利用
COUNT()函数原生特性:COUNT(字段名)执行统计时会自动过滤该字段为NULL的记录,直接编写语句COUNT(VOID) AS void_non_null_count即可得到非空记录计数 - 如需同时兼容空字符串场景或者做更灵活的条件判断,可使用条件计数写法:
部分数据库支持简化写法SELECT -- 原有维度字段,比如日期、业务线等 COUNT(CASE WHEN VOID IS NOT NULL AND VOID != '' THEN 1 END) AS void_non_null_count, COUNT(*) AS total_record_count FROM 你的业务表 -- 原有查询过滤条件 GROUP BY 你需要分组的维度字段COUNT_IF(VOID IS NOT NULL),可直接替换上面的条件计数语句。
报表工具层实现(无需修改数据源场景)
如果无法调整原始查询,可直接在报表中新增计算度量完成统计:
- 方法一:给报表组件添加过滤规则,筛选
VOID IS NOT NULL的记录后,直接对记录数做汇总 - 方法二:新增计算度量,通用逻辑为统计满足
VOID不为空的记录数,主流工具写法参考:- Tableau:
SUM(IF NOT ISNULL([VOID]) THEN 1 ELSE 0 END)或者去重计数用COUNTD([VOID]) - Power BI:
CALCULATE(COUNTROWS('表名'), '表名'[VOID] <> BLANK()) - 帆软等国产报表工具:
COUNT(VOID, VOID != null)
- Tableau:
注意事项
- 提前确认字段空值类型:如果VOID字段的空值是空白字符串而非数据库NULL,判断条件需要补充
VOID != ''的逻辑 - 确认统计范围:如果现有报表默认隐藏了VOID为NULL的记录,需要先确认你需要的统计范围是全量数据集还是当前展示的数据集
内容的提问来源于stack exchange,提问作者pithhelmet
相关产品推荐
相关产品推荐

