You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSRS报表分组统计成年/未成年人数问题求助

解决SSRS组内年龄统计问题

问题分析

你需要在SSRS报表中按组统计成年人(≥18岁)和未成年人数量,但当前使用COUNT的表达式导致每组统计结果都为1,核心原因是聚合函数的用法错误。

正确表达式

在对应组的文本框中使用以下表达式:

  • 统计成年人数量:
    =SUM(IIF(Fields!RptAge.Value >= 18, 1, 0))
    
  • 统计未成年人数量:
    =SUM(IIF(Fields!RptAge.Value < 18, 1, 0))
    

错误原因说明

  • 你之前使用的COUNT(IIF(Fields!RptAge.Value>=18,1,Nothing)),COUNT会统计所有非空值的数量,但这里IIF返回的1是单个值,若作用域设置不当会错误计数为1。
  • SUM(COUNT(...))属于嵌套聚合,SSRS中组内统计无需嵌套,直接用SUM累加符合条件的标识值(1或0)即可准确统计数量。

验证示例

针对你提供的示例数据:

  • Blue组:30岁(符合成年)+1,12岁(符合未成年)+1,最终Adult=1,Juvenile=1
  • Black组:50岁(符合成年)+1,无未成年数据,最终Adult=1,Juvenile=0
  • Orange组:17岁(符合未成年)+1,无成年数据,最终Adult=0,Juvenile=1

完全匹配你的期望结果。

内容的提问来源于stack exchange,提问作者Kevin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 15:57:09