前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Power Query中批量处理操作(1)

Power Query中批量处理操作(1)

作者头像
逍遥之
发布2020-03-23 17:42:00
1.1K0
发布2020-03-23 17:42:00
举报
文章被收录于专栏:数据技巧数据技巧

(一) List.Transform

List.Transform(list as list, transform as function) as list

第1参数为需要进行批量处理的列表,第2参数是一个公式,针对批量处理的步骤;返回的结果也是一个列表。这里需要注意的是,在进行判断转换是,别忘了each或者(x)=>。

1. 批量运算

List.Transform({1..3}, each _*2)

=List.Transform({1..3},(x)=>x*2)

={1*2,2*2,3*2}={2,4,6}

解释:针对列表里每一个数字进行运算,分别乘以2得到最终的结果。其中x代表的就是{1..3}的列表中每一项。

2. 批量转换

List.Transform({1..3}, each Text.From(_))

=List.Transform({1..3},Text.From)

={“1”,”2”,”3”}

解释:针对数字{1,2,3}进行批量转换,转换函数为Text.From,把数字格式转换为文本格式。因为Text.From转换只需要单个参数,在这里可以省略each和_,效果相同。

List.Transform(List.Transform({1..3},Text.From),(x)=>"http://abc.com"&x)

=List.Transform({1..3},each "http//abc.com"&Text.From(_))

=

解释:通常用于批量网址的生成,就可以使用这个方式,x代表的是{1,2,3}列表各项,里面的数字为数值格式。首先通过批量把数字{1,2,3}转换成文本格式{"1","2","3"}才能进行文本之间的合并,随后才能针对文本进行合并生成新的链接网址。

3. 批量判断

List.Transform({1..3}, each _>2)

={1>2,2>2,3>2}

={FALSE,FALSE,TRUE}

解释:数字{1..3}列表,针对每一个数字与2进行比较,批量返回一个逻辑值结果的列表。

List.Transform({"ab","ac","bc"},(x)=>Text.Contains(x,"a"))

={TRUE,TRUE,FALSE}

解释:针对列表中查找是否包含关键词"a"的字符,返回一个逻辑列表结果。

4. 批量操作

List.Transform({"ab","ac","abc"},eachText.Select(_,{"a","c"}))

={"a","ac","ac"}

解释:批量把列表中带有"a"和"c"的挑选出来。

Text.Combine(List.Transform({"ab","ac","abc"},eachText.Select(_,{"a","c"})),"/")

=a/ac/ac

解释:批量把列表中带有"a"和"c"的挑选出来后并通过"/"分割组合成一个文本。"_"代表的是{"ab","ac","abc"}列表中的元素。

List.Combine(List.Transform({{"ab","ac","bc"},{"abc","bcd"}},(x)=>List.FindText(x,"a")))

={"ab","ac","abc"}

解释:在多个列表中进行处理,先批量找到包含"a"字符的列表内容,然后再组合成一个新的结果列表。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据技巧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (一) List.Transform
    • 1. 批量运算
      • 2. 批量转换
        • 3. 批量判断
          • 4. 批量操作
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档