SSRS 2018含离职人员的员工人数报表开发技术求助
员工人数报表(Headcount Report)开发指南(SSMS/SSRS 2018)
需求概述
需开发基于SSMS和SSRS 2018的员工人数报表,通过@DateFrom和@DateTo两个日期参数统计指定区间内的在职人员数量,规则如下:
- 区间内当前在职的员工需纳入统计
- 已离职但在区间内处于在职状态的员工也需纳入统计
数据集示例
ID Name ContractStart ContractEnd Department status 1 Bob Masters 2013-07-01 2013-07-23 ICT Leaver 1 Bob Masters 2013-07-24 2018-01-02 BIT Leaver 2 Kate Williams 2021-02-01 NULL Stores Active 3 Sam Power 2015-03-02 2016-05-01 ICT Active 3 Sam Power 2016-05-02 2018-03-01 ICT Active 3 Sam Power 2018-03-02 NULL ICT Active 4 Becky Smith 2021-09-10 NULL Finance Active 5 Debbie Glover 2019-11-11 2020-01-01 HR Leaver 5 Debbie Glover 2020-06-07 2022-01-01 HR Leaver 6 Helen Stewart 2020-02-05 NULL ICT Active 6 Helen Stewart 2021-04-09 NULL Stores Active 7 Izzy Andrews 2017-06-10 2022-10-01 HR Active
关键统计规则
- ID 6存在2份有效合同,需按2次统计
- ID 7当前在职且合同结束日期在未来,需正常纳入统计
一、SSRS参数设置
- 打开SSRS报表项目,进入报表数据面板,右键点击「参数」选择「添加参数」
- 创建
@DateFrom参数:- 名称:
@DateFrom - 数据类型:
Date/Time - 提示文本:
起始日期 - 可选默认值:
=DateSerial(Year(Now()), Month(Now()), 1)(当月第一天)
- 名称:
- 创建
@DateTo参数:- 名称:
@DateTo - 数据类型:
Date/Time - 提示文本:
结束日期 - 可选默认值:
=Now()(当前日期)
- 名称:
二、统计逻辑与SQL实现
基础的WHERE date between @datefrom and @dateto无法满足需求,需判断合同时间段与参数区间是否存在重叠,核心逻辑如下:
核心过滤条件
合同在职时段与@DateFrom-@DateTo区间有交集,需同时满足:
- 合同开始日期 ≤
@DateTo(合同在区间结束前已启动) - 合同结束日期 ≥
@DateFromOR 合同结束日期为NULL(合同在区间开始后仍未结束,或当前在职)
完整SQL语句
-- 统计总人数 SELECT COUNT(*) AS TotalHeadcount FROM YourTableName WHERE ContractStart <= @DateTo AND (ContractEnd >= @DateFrom OR ContractEnd IS NULL) -- 按部门分组统计(可选) SELECT Department, COUNT(*) AS DepartmentHeadcount FROM YourTableName WHERE ContractStart <= @DateTo AND (ContractEnd >= @DateFrom OR ContractEnd IS NULL) GROUP BY Department
逻辑验证
- ID 6的两份合同均满足
ContractStart <= @DateTo且ContractEnd IS NULL,会被统计2次 - ID 7的合同结束日期在未来,
ContractEnd >= @DateFrom成立,会被正常统计 - 已离职员工(如ID1、ID5)只要合同时段与参数区间重叠,就会被纳入统计
三、SSRS报表配置
- 在SSMS中测试上述SQL语句,确认结果正确后,将其作为SSRS报表的数据集
- 在报表设计界面添加表格或矩阵,绑定数据集字段(如
TotalHeadcount或按部门分组的统计结果) - 预览报表,通过选择
@DateFrom和@DateTo验证统计结果是否符合预期
内容的提问来源于stack exchange,提问作者Clem_Fandango
相关产品推荐
相关产品推荐

