转换考勤系统中的数据(Power Query)
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
添加姓名列 = Table.AddColumn(源, "姓名", each if not Text.Contains([11], ":") or [11] = null then [11] else null),
向下填充 = Table.FillDown(添加姓名列,{"姓名"}),
删除非时间数据行 = Table.SelectRows(向下填充, each ([1] <> "工 号:")),
逆透视的其他列 = Table.UnpivotOtherColumns(删除非时间数据行, {"姓名"}, " 日期", "打卡时间"),
用位置分列 = Table.SplitColumn(逆透视的其他列, "打卡时间", Splitter.SplitTextByRepeatedLengths(5), {"打卡时间.1", "打卡时间.2", "打卡时间.3", "打卡时间.4", "打卡时间.5", "打卡时间.6", "打卡时间.7", "打卡时间.8", "打卡时间.9", "打卡时间.10", "打卡时间.11", "打卡时间.12", "打卡时间.13", "打卡时间.14"}),
更改的类型 = Table.TransformColumnTypes(用位置分列,{{"打卡时间.1", type time}, {"打卡时间.2", type time}, {"打卡时间.3", type time}, {"打卡时间.4", type time}, {"打卡时间.5", type time}, {"打卡时间.6", type time}, {"打卡时间.7", type time}, {"打卡时间.8", type time}, {"打卡时间.9", type time}, {"打卡时间.10", type time}, {"打卡时间.11", type time}, {"打卡时间.12", type time}, {"打卡时间.13", type time}, {"打卡时间.14", type time}})
in
更改的类型