PowerBI跨月份工时数据合并:保留人员项目维度的月度汇总方案
PowerBI跨月工时数据重塑与汇总解决方案
核心问题分析
你当前的数据是宽表结构(同一行包含两个月份的工时信息),导致可视化时月份与工时错误关联。解决关键是将宽表转换为窄表结构(每行对应「人员-项目-月份-工时」的单一维度),再进行汇总。
方案一:基于现有跨月拆分数据的重塑(Power Query操作)
如果已经完成跨月工时拆分,按以下步骤将数据转换为标准结构:
步骤1:拆分两组月份工时数据
- 进入PowerBI的「数据」视图,选中你的工时表,点击顶部「转换数据」进入Power Query编辑器。
- 提取第一组数据(Month1/Month1 Hours):
- 右键点击表名,选择「复制」,重命名为「工时_第一组」。
- 删除「Month 2」「Month 2 Hours」列,仅保留「Person」「Project」「Month 1」「Month 1 Hours」。
- 重命名列:将「Month 1」改为「Month」,「Month 1 Hours」改为「Hours」。
- (可选)筛选掉「Hours=0」的行,减少无效数据。
- 提取第二组数据(Month2/Month2 Hours):
- 回到原表,再次复制并重命名为「工时_第二组」。
- 删除「Month 1」「Month 1 Hours」列,仅保留「Person」「Project」「Month 2」「Month 2 Hours」。
- 重命名列:将「Month 2」改为「Month」,「Month 2 Hours」改为「Hours」。
- (可选)筛选掉「Hours=0」的行。
步骤2:合并两组数据
- 在Power Query编辑器中,点击顶部「追加查询」→「追加查询作为新查询」。
- 选择「两个表」,分别选中「工时_第一组」和「工时_第二组」,点击确定。
- 新生成的表就是标准的窄表结构:每行对应一个人员、一个项目、一个月份的工时。
步骤3:汇总与可视化
- 关闭Power Query编辑器并应用更改。
- 创建可视化:
- 若要查看每人每月各项目总工时,选择「矩阵」可视化:行字段添加「Person」「Project」,列字段添加「Month」,值字段添加「Sum(Hours)」。
- 若要做趋势分析,选择「柱状图」:X轴添加「Month」,Y轴添加「Sum(Hours)」,图例添加「Person」或「Project」,即可正确关联月份与工时。
方案二:从每日原始数据直接计算(更高效)
如果你的工时表保留了每日数据(如「2024-01-29 Mon」这类日期标识),可以跳过跨月拆分,直接从原始数据生成汇总:
步骤1:添加月份计算列
在PowerBI的「数据」视图中,选中原始工时表,点击顶部「新建列」,输入DAX公式:
Month = FORMAT([日期列], "MMM-YY")
(将「日期列」替换为你实际的日期字段,若该列不是日期格式,可先用DATEVALUE()函数转换)
步骤2:直接汇总
使用「矩阵」或「卡片图」等可视化,按「Person」「Project」「Month」维度对「Hours」进行求和即可,无需额外处理跨月周的问题。
内容的提问来源于stack exchange,提问作者Chris Cox
相关产品推荐
相关产品推荐

