Power Query转换中任意列操作是Power Query数据处理中的重要部分,Power Query与Power Pivot的最小运算单位都是列,所以任意列的各项操作一定要熟练掌握才行。

power query如何添加自定义列(PowerQuery转换之任意列操作)(1)

在Power Query的编辑器中,这些按钮是这样排列的:

power query如何添加自定义列(PowerQuery转换之任意列操作)(2)

这些都是最常用到的功能,我们一个一个过一下:

数据类型:

Power Query的数据类型与Excel不太一样,Power Query对数据类型的要求非常严格,不同数据类型的数据之间不能直接运算,如果要运算必须通过函数转换数据类型之后再运算。下图中左边是Excel数据格式,右边是Power Query数据类型。

power query如何添加自定义列(PowerQuery转换之任意列操作)(3)

Power Query对数据类型敏感,是因为Power Query后台是M语言,编程语言都对数据类型要求严格。

power query如何添加自定义列(PowerQuery转换之任意列操作)(4)

M语言中,在计算过程中使用各种数据类型时,以下几种现需要这样书写,加前缀“#”

基础操作这些暂时用不上,自定义列和自定义函数时可能会用到,先做个知识储备。

检测数据类型:

这个功能是自动检测整列的数据类型,更改数据类型,操作也很简单,直接选中列,按这个按钮就行,不过不要过于依赖这个自动检测,有时给出的结果并不是你需要的数据类型,还是需要手动更正。

重命名:

其实实际操作中,

power query如何添加自定义列(PowerQuery转换之任意列操作)(5)

替换值:

power query如何添加自定义列(PowerQuery转换之任意列操作)(6)

power query如何添加自定义列(PowerQuery转换之任意列操作)(7)

填充:

填充功能像Excel中打散合并单元格后,选中整列按F5键定位空值,公式栏里输入=第一个非空该单元格,然后按CTRL ENTER,进行的空白填充操作。在Power Query中变得更加简单了,直接按以下按钮就自动填充好了。

透视列:

透视列产生的结果就和使用数据透视表时产生的数据透视功能一样,将其中一列的内容变成列标签,数据行数减少,列数增加。

power query如何添加自定义列(PowerQuery转换之任意列操作)(8)

数据透视的结果有几种,与Excel数据透视表相近,聚合类型有8种,最后一个不要聚合,是比较特殊的功能,结果不进行运算,生成多个表。

逆透视列:

逆透视列是将矩阵结构的表格转换成以为表格的操作,也叫降维操作,Excel中也有类似的操作,ALT D P进行的逆透视,Power Query中更加简单方便。

移动:

这个功能也非常有用,在调整列与列之间的位置时非常方便,如果列数有限,直接鼠标拖动即可,如果非常多的列,用这些按钮操作会更方便,这些按钮右键菜单中也有。

power query如何添加自定义列(PowerQuery转换之任意列操作)(9)

转换为列表:

这个解释起来有些拗口,Power Query中除了开始讲的那些基础数据类型以外,还有结构数据类型:

power query如何添加自定义列(PowerQuery转换之任意列操作)(10)

那么这里的转换成列表的意思,就是转换成List,大家知道这个意思就行,实际操作也很简单,选中列,按下按钮就行了,这个功能是方便提取查询中的唯一值列表。

power query如何添加自定义列(PowerQuery转换之任意列操作)(11)

转换为列表后,就会给出列表工具,里面就有删除重复项功能。

这一篇的内容比较多,主要是关于数据类型的内容,大家可以参考:

Expressions, values, and let expression - PowerQuery M | Microsoft Docs

,