热点评!List.Accumulate 批量替换案例
本期案例案例要求是把空值和大于6的数据,都替换成前一列对应行的数据,前后转换效果如下:
解题套路
1.Table.ToList
(相关资料图)
解题思路:结合ACC函数对行的每一项数据进行循环转换。
Table.FromRows(Table.ToList(源,each List.Accumulate(_,{{},""},(x,y)=>if y=null or y>=6 then {x{0}&{x{1}},x{1}} else {x{0}&{y},y}){0}),Table.ColumnNames(源))
这个题其实隐含了一个条件,就是第一列肯定是满足要求的,不然后续就无法进行传递操作。
2.Table.ReplaceValue
解题思路:这里搭配ACC使用应该是最优的组合方式,针对Table.ReplaceValue的第二参数的获得,这里有个取巧的成分。
针对第二列,字段名中包含数字2,而它需要取值当前行的索引位置是0,因此这里可以使用2-2获得。当然,这里也可以使用位置函数进行判断,或者让字段与序列组合使用。
List.Accumulate(Table.ColumnNames(源),源,(s,c)=>Table.ReplaceValue(s,each Record.ToList(_){Number.From(Text.Select(c,{"0".."9"}))-2},0,(x,y,z)=>if x=null or x>=6 then y else x,{c}))
使用List.PositionOf函数:
List.Accumulate(Table.ColumnNames(源),源,(s,c)=>Table.ReplaceValue(s,each Record.ToList(_){List.PositionOf(Table.ColumnNames(源),c)-1},0,(x,y,z)=>if x=null or x>=6 then y else x,{c}))
这里不需要考虑第一列对应字段获取的错误值,因为Table.ReplaceValue有个容错机制,对应错误值会自动判断没有进行替换。
以上是本期内容。
关键词:
推荐阅读
pvc是什么 生产pvc的上市公司都有哪些?
pvc是什么pvc中文名是聚氯乙烯,曾是世界上产量最大的通用塑料,在建筑材料、日用品、管材等领域应用,市场十分广泛。那么,A股市场中生产p 【详细】
搜狗正式并入腾讯 搜狗公司简介
搜狗正式并入腾讯前段时间,一直有消息传出,腾讯即将收购搜狗,近日,搜狗正式并入腾讯的消息冲上了热搜榜单,吸引了众多网友关注,具体是 【详细】
中国古代十大名刀是什么 中国古代十大名刀简介
中国几乎所有的朝代都有记载名刀诞生的记录。从初唐大一统战争到盛唐的一切内外战争都出现过冷兵器——唐刀,史上对后世影响很大。中国古代 【详细】
动力天文台最新拍摄到一个超级日冕洞 日冕出现在哪里?
动力天文台最新拍摄到一个超级日冕洞据国外媒体报道,天文学家观测到的日冕洞犹如太阳表面蔓延一个巨大的深坑,10月15日,美国宇航局太阳动 【详细】
鲁班发明了什么东西 什么是鲁班发明的?
鲁班发明了什么东西?在鲁班之前,木匠只用斧子和刀子来平整他们建筑用的木材,即使干的很好,也难让人满意。后来通过长期实践,鲁班发现使 【详细】
相关新闻
- 热点评!List.Accumulate 批量替换案例
- 天天微速讯:MIUI14稳定版内测推送达4GB,小米10及10 Pro已可升级
- 盘点Vue3.2的一些常用的setup语法糖
- 世界观察:库克都来了,马云什么时候能回来?
- 春节送礼送什么(春节送礼一般送什么)
- 注意防御!刚刚,东莞发布分镇暴雨橙色预警! 天天热头条
- 行走的小电热水壶啦~~就是这款集米暖行杯!_世界观察
- 轻办公又轻娱乐!坚果无线TNT实用性超强! 全球独家
- 现在的一加手机怎样?使用的人为什么不多
- 全球今头条!三星S9/S9+惊险触摸屏失灵 三星承认此问题 原因仍在调查中
- 还记得战狼2吗?吴京同款手机的升级版——AGM X3来啦!
- 全球快看点丨推荐的第37个小程序,9个无线电实用工具
- 工信部通报!这55款APP(SDK)存在侵害用户权益行为 实时焦点
- 雨水节气的诗词 24节气雨水古诗赏析大全_全球热闻
- 湖北电价(湖北鄂州2023年工业用电峰谷平时间段及电费?)
- 德赛电池怎么样(德赛电池耐用吗)_热讯
- 焦点滚动:滴滴推出智能驾驶安全平台:用语音图像GPS分析驾驶行为
- 魅蓝metal的操作系统有何特色-天天百事通
- 乐班护腰塑形坐垫:小米有品带来“久坐一族”的健康使者!_环球热点评
- 技嘉Z390 AORUS PRO WIFI电竞主板|每日热点