前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Power Query中批量处理列的函数详解

Power Query中批量处理列的函数详解

作者头像
逍遥之
发布2020-07-14 11:30:12
2.5K0
发布2020-07-14 11:30:12
举报
文章被收录于专栏:数据技巧

Table.TransformColumns


Table.TransformColumns(table as table, transformOperations as list, optional defaultTransformation as nullable function, optional missingField as nullable MissingField.Type) as table

  • 第1参数是需要操作的表;
  • 第2参数是需要改变的列及操作(正常情况是由列名和操作函数组成,也可以是空列表);
  • 第3参是去除第2参数中指定后剩余的列所需要进行处理的函数;
  • 第4参数是找不到第2参数指定的列标题时是忽略处理(1)还是返回错误处理(0)。

例1:

此函数的必要参数只有2个,所以我们先用最基础的2个参数来进行操作。

如果要把成绩统一减10分的话,那就在第2参数这里使用列名和对应的操作函数即可。

代码语言:javascript
复制
Table.TransformColumns(源, {"成绩", each _-10})

例2

如果是需要进行多个列的操作,可以在第2参数中使用多次对应的写法,并在最外面用符号{}括起来。

如果除了成绩要减去10,还需要在学科后面加上字符“(上)”。

代码语言:javascript
复制
Table.TransformColumns(源,

                      {

                       {"成绩", each _-10},

                       {"学科",each _&"(上)"}

                      })

例3

第3个参数是一个函数,是在第2参数指定列以外表格中的所有列需要进行的操作。

在前面的操作中,成绩列和学科列都有了操作,那剩余其他列(姓名列)也需要进行操作,那就要使用到第3参数了。

代码语言:javascript
复制
Table.TransformColumns(源,

                        {

                         {"成绩", each _-10},

                         {"学科", each _&"(上)"}

                        },

                        each _&"A"

                      )

例4

第3参数是针对除了第2参数指定的剩余列进行操作,那第4参数就是指定列如果找不到的话,是返回错误还是忽略错误。

如果第2参数的中的学科写错或者定义了其他未在操作表中的列名,则可以通过第4参数来控制返回。

代码语言:javascript
复制
Table.TransformColumns(源,

                        {

                         {"成绩", each _-10},

                         {"班级", each _&"(一)"}

                        },

                        each _&"A",

                        1

                     )

因为指定的列里有 “班级”,但是在原来的表格中不存在,所以会产生错误,但是第4参数有指定1,也就是忽略错误,最终返回的结果如图所示。除了找到的成绩列表外,其余的列数据都在后面添加了个“A”。

如果第4位参数指定的是0,或者省略默认,则会返回错误。

例5

如果是想让所有的列都进行同样的操作,也就是不指定列,使得把所有列都是作为其他列来处理,使用的是第3参数来进行操作的话,此时第2参数可以直接使用空列来表示,也就是不指定列。

代码语言:javascript
复制
Table.TransformColumns(源, {}, each _&"A")

因为使用的文本合并,而成绩是数字格式,所以导致出现错误值。

例6

因为第3参数是针对所有未指定的列来进行操作,如果有些指定列不想操作,只想保留的话,那指定列可以使用each _来进行保留。

代码语言:javascript
复制
Table.TransformColumns(源, {{"成绩", each _-10},{"姓名", each _}}, each _&"A")

如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Table.TransformColumns
    • 例1:
      • 例2
        • 例3
          • 例4
            • 例5
              • 例6
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档