22、Power Query-文本字符的精确提取

首先展示一下“提取”功能点的位置,在“转换”菜单和“添加列”菜单中都有这个功能,唯一的区别在于:

“转换”菜单:在选中的当前列进行直接处理;

“添加列”菜单:在选中列进行处理之后新增一列显示;


这边的“提取”功能里面有如下四个功能:

1、长度:相当于Excel里面的Len()函数。

2、首字符:相当于Excel里面的Left()函数。

3、结尾字符:相当于Excel里面的Right()函数。

4、范围:相当于Excel里面的Mid()函数。

其中这个“范围”提取与Mid()函数最大的不同点是:“范围”提取从索引“0”开始计数,而Mid()函数则是从“1”开始。

下面讲解一个有趣的例子。


左侧表学生姓名,考试成绩,我们现在的需求是右边的按照等级计算人数以及平均分。

我们约定:

>=90  优
>=80  良
>=60  中
<60    差

下面为了演示这个精确取数的例子,我们用一种特别的方法进行处理。

新增一列,内容为“分数/10“。

然后我们按照这个小数点进行拆分列。

接着我们再新增一列,名字为”等级“,如下图所示:

有11位,这样我们其实可以看出端倪来了,目的是为了根据前面的”位置“进行取数,确定”等级“。

接下来我们从”0“开始提取一个字符。


聪明的朋友或许已经发现,我们要实现的目的其实就是用”位置“去替代”0“。

直接更改上面的公式:

= Table.AddColumn(已添加自定义1, "文本范围", each Text.Middle([等级], [位置], 1), type text)

发现要求已经满足。


最后对”等级“列进行”分组依据“。


要求达成。



  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP剑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值