找回密码
 立即注册
搜索

求大神帮转下考情表格式

4
回复
341
查看
[复制链接]

2

主题

5

帖子

3

幻币

初入江湖

Rank: 1

积分
11
2021-11-8 13:08:00 显示全部楼层 |阅读模式
求大神帮从把考勤原始表标识数据调整生成新的格式
考勤表调整格式.rar (7.31 KB, 下载次数: 73)
PPT学习论坛
回复

使用道具 举报

1

主题

5

帖子

1

幻币

初入江湖

Rank: 1

积分
4
2021-11-13 08:17:00 显示全部楼层
用函数会比较复杂,改用PQ做了一个。let
  源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
  删除的顶端行 = Table.Skip(源,1),
  提升的标题 = Table.PromoteHeaders(删除的顶端行, [PromoteAllScalars=true]),
  逆透视的其他列 = Table.UnpivotOtherColumns(提升的标题, {"姓名"}, "属性", "值"),
  按分隔符拆分列 = Table.SplitColumn(Table.TransformColumnTypes(逆透视的其他列, {{"值", type text}}, "zh-CN"), "值", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv), {"值.1", "值.2", "值.3", "值.4"}),
  更改的类型1 = Table.TransformColumnTypes(按分隔符拆分列,{{"值.1", type time}, {"值.2", type time}, {"值.3", type time}, {"值.4", type time}, {"属性", type datetime}}),
  逆透视的其他列1 = Table.UnpivotOtherColumns(更改的类型1, {"姓名", "属性"}, "属性.1", "值"),
  删除的列 = Table.RemoveColumns(逆透视的其他列1,{"属性.1"}),
  更改的类型 = Table.TransformColumnTypes(删除的列,{{"属性", type date}}),
  合并的列 = Table.CombineColumns(Table.TransformColumnTypes(更改的类型, {{"属性", type text}, {"值", type text}}, "zh-CN"),{"属性", "值"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"时间")
in
  合并的列

考勤表调整格式.rar (16.83 KB, 下载次数: 81)
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

幻币

初入江湖

Rank: 1

积分
4
2021-12-1 13:36:19 显示全部楼层
acb16686f1ac11a10ac06702a0729219.png
同PQ
let
  源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
  逆透视的其他列 = Table.UnpivotOtherColumns(源, {"姓名"}, "属性", "值"),
  按分隔符拆分列 = Table.ExpandListColumn(Table.TransformColumns(逆透视的其他列, {{"值", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.None), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "值"),
  合并的列 = Table.CombineColumns(Table.TransformColumnTypes(按分隔符拆分列, {{"值", type text}}, "zh-CN"),{"属性", "值"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"打卡时间"),
  更改的类型1 = Table.TransformColumnTypes(合并的列,{{"打卡时间", type datetime}})
in
  更改的类型1
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

7

帖子

-3

幻币

东方不败

积分
-2
2022-1-1 06:34:40 显示全部楼层
非常感谢帮忙!请问代码怎么复制和使用的,之前没用过PQ,感谢指导
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

-1

幻币

初入江湖

Rank: 1

积分
4
2022-1-26 05:31:29 显示全部楼层
let
  源 = Excel.Workbook(File.Contents("D:\下载\考勤表调整格式.xlsx"), null, true),
  表1_Table = 源{[Item="表1",Kind="Table"]}[Data],
  逆透视的其他列 = Table.UnpivotOtherColumns(表1_Table, {"姓名"}, "属性", "值"),
  按分隔符拆分列 = Table.ExpandListColumn(Table.TransformColumns(逆透视的其他列, {{"值", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "值"),
  更改的类型 = Table.TransformColumnTypes(按分隔符拆分列,{{"值", type time}, {"姓名", type text}, {"属性", type date}}),
  重命名的列 = Table.RenameColumns(更改的类型,{{"属性", "日期"}, {"值", "时间"}})
in
  重命名的列
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册