美文网首页数据分析
Power Query中批量处理操作(1)

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

作者: Data_Skill | 来源:发表于2019-01-31 15:36 被阅读5次

    (一)        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"字符的列表内容,然后再组合成一个新的结果列表。

    如果有用,动动你的小手进行转发。

    相关文章

      网友评论

        本文标题:Power Query中批量处理操作(1)

        本文链接:https://www.haomeiwen.com/subject/qoaksqtx.html