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

如何在SSRS中合并两个数据集工时字段并按EmployeeID汇总?

嘿,刚好我之前帮别人处理过类似的工时汇总需求,给你几个不同工具场景下的解决方案,你可以对着自己用的工具来选:

方案1:用SQL直接合并汇总(如果数据集存在数据库中)

这是最直接的方式,先把两个数据集的工时数据统一结构,再按员工ID分组求和:

SELECT 
    EmployeeID,
    SUM(TotalHours) AS TotalWorkHours
FROM (
    -- 提取工单表的员工ID和工时
    SELECT EmployeeID, WorkOrderHours AS TotalHours
    FROM WorkOrderDataset
    UNION ALL
    -- 提取服务请求表的员工ID和工时
    SELECT EmployeeID, ServiceRequestHours AS TotalHours
    FROM ServiceRequestDataset
) CombinedHours
GROUP BY EmployeeID
ORDER BY TotalWorkHours DESC;

这里用UNION ALL而不是UNION,是为了保留所有原始记录(避免因为重复行丢失数据),外层的GROUP BY会自动把同一个员工的所有工时加总。

方案2:Power BI中实现合并与展示

如果是用Power BI做报表,步骤很清晰:

  • 先把两个数据集导入Power Query编辑器,确保两个表的工时字段可以对应(比如一个叫工单工时,一个叫服务请求工时,可以先重命名成统一的工时)
  • 在Power Query里用「追加查询」功能,把两个表合并成一张新的组合表
  • 返回数据视图,新建一个度量值:
    总工时 = SUM(组合表[工时])
    
  • 最后在报表画布上拖入表格/矩阵,把EmployeeID放到行区域,把「总工时」度量值放到值区域,就能直接看到每个员工的总工时了
方案3:Excel里快速汇总

如果是Excel格式的数据集:

  • 先把两个表整理成结构一致的格式(比如都有EmployeeID和工时列),可以放在同一个工作表的不同区域,或者不同工作表
  • 选中两个表的所有数据(按住Ctrl可以跨表多选),插入数据透视表
  • 在数据透视表字段面板里,把EmployeeID拖到「行」区域,把工时拖到「值」区域,然后把值字段设置为「求和」,这样就自动汇总好了

几个要注意的小细节:

  • 务必保证两个数据集里的EmployeeID格式完全一致,比如都是纯数字、或者都是带前缀的文本,不然会出现同一个员工被分成两行的情况
  • 如果某个员工只有工单或者只有服务请求的记录,上面的所有方案都能正常识别并汇总,不会漏掉数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:11:32