原表:
目标表:
案例模拟文件下载 http://gofile.me/4KHV7/SUo5ywXxC
我们来分享下不同思路的处理方式。 先展示一下网友蜗牛给的答案。
Table.AddColumn(源, "自定义", each if Text.Contains([列1],"班") then [列1] else null)
Table.FillDown(已添加自定义,{"自定义"})
Table.Group(向下填充,
{"自定义"},
{"计数", each Table.UnpivotOtherColumns( //逆透视
Table.PromoteHeaders( //提升标题
Table.TransformColumns( //转换
Table.Transpose( //转置
Table.RemoveColumns(_,"自定义") //去除标题
),
{"Column1",each try DateTime.ToText(_) otherwise "日期"} //判断是否为日期,非日期的改为标题日期
)
),
{"日期"},
"属性",
"值"
)
}
)
我们对整个过程从内向外进行一下分解。针对单个分组我们来一步一步看。
Table.RemoveColumns(_,"自定义")
Table.Transpose([去除自定义])
Table.TransformColumns([转置],{"Column1",each
try DateTime.ToText(_)
otherwise "日期"
}
)
Table.PromoteHeaders([判断日期列并重命名])
Table.UnpivotOtherColumns([提升标题],
{"日期"},
"属性",
"值"
)
到这一步,分组内的计算完成。
Table.Pivot(更改的类型, List.Distinct(更改的类型[属性]), "属性", "值"
再来看下简化的操作。
Table.PromoteHeaders([转置])
Table.TransformColumnNames([自定义.1], each
if Text.Contains(_,"班") then
Replacer.ReplaceText(_,_,"时间")
else _)
如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有