【问题】有两个表,我要比较出重复的数据、表1未出现在表2中的数据、表2未出现在表1中的数据,怎么样。
【代码】如下
------------处理表1---------
let
源 = Excel.CurrentWorkbook(){[Name="表2"]}[Content],
更改的类型 = Table.TransformColumnTypes(源,{{"单位", type text}, {"班别", type text}, {"姓名", type text}}),
已添加自定义 = Table.AddColumn(更改的类型, "合并", each Text.Combine(Record.ToList(_),"@"))
in
已添加自定义
-------处理表2--------
let
源 = Excel.CurrentWorkbook(){[Name="表3"]}[Content],
更改的类型 = Table.TransformColumnTypes(源,{{"单位", type text}, {"班别", type text}, {"姓名", type text}}),
已添加自定义 = Table.AddColumn(更改的类型, "合并", each Text.Combine(Record.ToList(_),"@"))
in
已添加自定义
-------重复的数据--------
let
源 = List.Intersect({表1[合并],表2[合并]}),
转换为表 = Table.FromList(源, Splitter.SplitTextByDelimiter("@"), null, null, ExtraValues.Error),
更改的类型 = Table.TransformColumnTypes(转换为表,{{"Column1", type text}, {"Column2", Int64.Type}, {"Column3", type text}}),
重命名的列 = Table.RenameColumns(更改的类型,{{"Column1", "单位"}, {"Column2", "班别"}, {"Column3", "姓名"}})
in
重命名的列
-------表1未出现在表2中的数据--------
let
源 = List.Difference(表1[合并],表2[合并]),
转换为表 = Table.FromList(源, Splitter.SplitTextByDelimiter("@"), null, null, ExtraValues.Error),
更改的类型 = Table.TransformColumnTypes(转换为表,{{"Column1", type text}, {"Column2", Int64.Type}, {"Column3", type text}}),
重命名的列 = Table.RenameColumns(更改的类型,{{"Column1", "单位"}, {"Column2", "班别"}, {"Column3", "姓名"}})
in
重命名的列
------表2未出现在表1中的数据---------
let
源 = List.Difference(表2[合并],表1[合并]),
转换为表 = Table.FromList(源, Splitter.SplitTextByDelimiter("@"), null, null, ExtraValues.Error),
更改的类型 = Table.TransformColumnTypes(转换为表,{{"Column1", type text}, {"Column2", Int64.Type}, {"Column3", type text}}),
重命名的列 = Table.RenameColumns(更改的类型,{{"Column1", "单位"}, {"Column2", "班别"}, {"Column3", "姓名"}})
in
重命名的列
【结果】
扫码关注腾讯云开发者
领取腾讯云代金券
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. 腾讯云 版权所有