跨多月故障工单的指定月份故障时长统计及工单计数需求
Excel Power Query 跨月故障工单统计方案(指定月份)
针对你用Excel内置Power Query处理跨月故障工单统计的需求,给你一套适合基础用户的分步方案,无需安装PowerBI:
步骤1:将工单数据导入Power Query
- 打开包含工单数据的Excel表格,选中数据区域(确保首行是表头,比如
故障开始时间、故障结束时间等) - 点击菜单栏「数据」→「自表格/区域」,确认数据范围后进入Power Query编辑器
步骤2:创建目标月份参数(方便后续切换月份)
- 点击「主页」→「管理参数」→「新建参数」,创建两个参数:
目标年份:类型选「整数」,默认值填2023,允许用户编辑目标月份:类型选「整数」,默认值填4,允许用户编辑
- 确定后参数会出现在编辑器右侧面板
步骤3:添加辅助列计算关键指标
在「添加列」菜单下选「自定义列」,依次添加以下两个列:
列1:判断工单是否涉及目标月份
输入M语言公式:
= [故障开始时间] <= Date.EndOfMonth(#date(目标年份, 目标月份, 1)) and [故障结束时间] >= #date(目标年份, 目标月份, 1)
将列名改为是否涉及目标月份,结果为True的行就是该月需统计的工单
列2:计算目标月份内的故障时长(以小时为单位)
输入M语言公式:
= let 实际开始 = List.Max({[故障开始时间], #date(目标年份, 目标月份, 1)}), 实际结束 = List.Min({[故障结束时间], Date.EndOfMonth(#date(目标年份, 目标月份, 1))}) in Duration.TotalHours(实际结束 - 实际开始)
将列名改为目标月份故障时长(小时),若需分钟/秒,替换Duration.TotalHours为Duration.TotalMinutes或Duration.TotalSeconds即可
步骤4:筛选并统计结果
- 点击
是否涉及目标月份列的筛选按钮,只勾选True过滤无关工单 - 点击「转换」→「分组依据」:
- 分组依据选「无」,添加两个聚合项:
工单数量:操作选「计数行」故障时长总和(小时):操作选「求和」,列选目标月份故障时长(小时)
- 分组依据选「无」,添加两个聚合项:
- 确定后即可得到目标月份的统计结果
步骤5:加载回Excel并切换月份
- 点击「主页」→「关闭并上载」,将统计结果加载到新工作表
- 后续切换月份时,点击「数据」→「编辑查询」→「管理参数」,修改
目标年份和目标月份的值,再刷新数据即可
内容的提问来源于stack exchange,提问作者Noddy
相关产品推荐
相关产品推荐

