Power BI优化团队排班转在岗热力图的数据处理流程咨询
优化Power BI团队排班表转热力图的低资源方案(替换步骤1-4)
核心优化思路
替代“为每位人员建单独表格再合并”的高资源操作,改用Power Query的**逆透视(Unpivot)**功能一次性把所有人员的排班记录规整为行式结构,减少中间表格的资源消耗。
优化后的步骤1-4:
步骤1:拆分时间列(保留原逻辑但提前整合)
假设主排班表中,每个人员列的内容是类似9:00 - 18:00的排班时间,先选中所有人员列,用Split Column by Delimiter,选择分隔符-,拆分为Start和End两列,自动生成类似人员1.1(Start)、人员1.2(End)的列名。若原表已经是每行对应一个日期+人员的结构,直接拆分时间列即可跳过后续逆透视步骤。
步骤2:逆透视人员相关列
选中Date和Day列,右键选择Unpivot Other Columns,将所有人员的Start/End列转换为行记录,此时表结构变为:Date, Day, Attribute, Value,其中Attribute会显示人员1.1、人员1.2这类字段,Value是对应的时间值。步骤3:拆分Attribute列并规整时间字段
对Attribute列按分隔符.拆分,得到人员姓名和时间类型(Start/End)两列;接着用Pivot Column功能,以时间类型为列名、Value为值,最终得到每行对应Date, Day, 人员姓名, Start, End的标准结构。步骤4:移除空值
直接筛选Start或End列中的非空值,删除无排班记录的行即可,无需处理多表格合并操作。
性能优势
- 避免创建N个独立人员表格,大幅降低Power BI内存占用
- 全程在单一查询内完成数据规整,减少中间计算环节
- 逆透视+透视是Power Query原生高效操作,性能远优于多表合并
内容的提问来源于stack exchange,提问作者Matthew Smith
相关产品推荐
相关产品推荐

