二维码
微世推网

扫一扫关注

当前位置: 首页 » 快闻头条 » 科技资讯 » 正文

Text.PositionOf_提取重复值

放大字体  缩小字体 发布日期:2023-05-05 01:01:01    作者:高品阅    浏览次数:339
导读

本期案例对敬请关注码中得重复值进行提取,前后转换效果如下:解题套路1.Text.PositionOf解题思路:对敬请关注码进行拆分去重,再对拆分结果进行遍历查询在原敬请关注码中出现得位置个数,对于个数大于1得,返回敬请

本期案例对敬请关注码中得重复值进行提取,前后转换效果如下:

解题套路

1.Text.PositionOf

解题思路:对敬请关注码进行拆分去重,再对拆分结果进行遍历查询在原敬请关注码中出现得位置个数,对于个数大于1得,返回敬请关注码值,其余得返回Null。最后对结果进行列合并。

Table.AddColumn(源,"重复",each Text.Combine(List.Transform(List.Distinct(Text.Split([敬请关注码],",")),(x)=>if List.Count(Text.PositionOf([敬请关注码],x,2))>1 then x else null),"、"))

这里也专业使用List.PositionOf,只要将拆分后得结果作为函数第壹参数即可。

Table.AddColumn(源,"重复",each let lst=Text.Split([敬请关注码],",") in Text.Combine(List.Transform(List.Distinct(lst),(x)=>if List.Count(List.PositionOf(lst,x,2))>1 then x else null),"、"))

2.Table.Group

解题思路:对敬请关注码进行拆分并转换为表,对敬请关注码进行分组并计算行数,最后筛选行数大于1得部分,进行深化合并。

Table.AddColumn(源,"重复",each Text.Combine(Table.SelectRows(Table.Group(Table.FromValue(Text.Split([敬请关注码],",")),"Value",{"a",Table.RowCount}),each [a]>1)[Value],"、"))

3.List.Accumulate

解题思路:对敬请关注码进行拆分排序,对各项进行逐项类似累加得操作,对于敬请关注码列表个数大于1得保留敬请关注码,其余返回null值。

Table.AddColumn(源,"重复",each Text.Combine(List.Accumulate(List.Sort(Text.Split([敬请关注码],","))&{"A"},{{},{}},(x,y)=>if x{1}={} or not List.Contains(x{1},y) then {x{0}&{if List.Count(x{1})>1 then x{1}{0} else null},{y}} else {x{0},x{1}&{y}}){0},"、"))

4.List.Difference

解题思路:List.Difference用于返回两个列表之间得差异数,但它有个特性,图片重复值。在本案例中,对敬请关注码进行拆分获的列表lst,然后用lst以及去重后得lst作为函数得两个参数,获的最终得结果。

Table.AddColumn(源,"重复",each let lst=Text.Split([敬请关注码],",") in Text.Combine(List.Distinct(List.Difference(lst,List.Distinct(lst))),"、"))

以上是本期内容。

 
(文/高品阅)
打赏
免责声明
• 
本文为高品阅原创作品•作者: 高品阅。欢迎转载,转载请注明原文出处:http://www.udxd.com/news/show-379864.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们邮件:weilaitui@qq.com。
 

Copyright©2015-2023 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈