首先展示一下 “提取” 功能点的位置,在 “转换” 菜单和 “添加列” 菜单中都有这个功能,唯一的区别在于:
“转换” 菜单:在选中的当前列进行直接处理;
“添加列” 菜单:在选中列进行处理之后新增一列显示;
这边的 “提取” 功能里面有如下四个功能:
1、长度:相当于 Excel 里面的 Len()函数。
2、首字符:相当于 Excel 里面的 Left()函数。
3、结尾字符:相当于 Excel 里面的 Right()函数。
4、范围:相当于 Excel 里面的 Mid()函数。
其中这个 “范围” 提取与 Mid()函数最大的不同点是:“范围”提取从索引 “0” 开始计数,而 Mid()函数则是从 “1” 开始。
下面讲解一个有趣的例子。
左侧表学生姓名,考试成绩,我们现在的需求是右边的按照等级计算人数以及平均分。
我们约定:
下面为了演示这个精确取数的例子,我们用一种特别的方法进行处理。
新增一列,内容为 “分数 / 10“。
然后我们按照这个小数点进行拆分列。
接着我们再新增一列,名字为” 等级 “,如下图所示:
有 11 位,这样我们其实可以看出端倪来了,目的是为了根据前面的”位置 “进行取数,确定” 等级“。
接下来我们从”0“开始提取一个字符。
聪明的朋友或许已经发现,我们要实现的目的其实就是用” 位置 “去替代”0“。
直接更改上面的公式:
\= Table.AddColumn(已添加自定义 1, “文本范围”, each Text.Middle([等级], [位置], 1), type text)
发现要求已经满足。
最后对”等级 “列进行” 分组依据“。
要求达成。