22、Power Query-文本字符的精确提取
首先展示一下“提取”功能點(diǎn)的位置,在“轉(zhuǎn)換”菜單和“添加列”菜單中都有這個(gè)功能,唯一的區(qū)別在于:
“轉(zhuǎn)換”菜單:在選中的當(dāng)前列進(jìn)行直接處理;
“添加列”菜單:在選中列進(jìn)行處理之后新增一列顯示;
這邊的“提取”功能里面有如下四個(gè)功能:
1、長(zhǎng)度:相當(dāng)于Excel里面的Len()函數(shù)。
2、首字符:相當(dāng)于Excel里面的Left()函數(shù)。
3、結(jié)尾字符:相當(dāng)于Excel里面的Right()函數(shù)。
4、范圍:相當(dāng)于Excel里面的Mid()函數(shù)。
其中這個(gè)“范圍”提取與Mid()函數(shù)最大的不同點(diǎn)是:“范圍”提取從索引“0”開(kāi)始計(jì)數(shù),而Mid()函數(shù)則是從“1”開(kāi)始。
下面講解一個(gè)有趣的例子。
左側(cè)表學(xué)生姓名,考試成績(jī),我們現(xiàn)在的需求是右邊的按照等級(jí)計(jì)算人數(shù)以及平均分。
我們約定:
| >=90? 優(yōu) |
| >=80? 良 |
| >=60? 中 |
| <60 ? ?差 |
下面為了演示這個(gè)精確取數(shù)的例子,我們用一種特別的方法進(jìn)行處理。
新增一列,內(nèi)容為“分?jǐn)?shù)/10“。
然后我們按照這個(gè)小數(shù)點(diǎn)進(jìn)行拆分列。
接著我們?cè)傩略鲆涣?#xff0c;名字為”等級(jí)“,如下圖所示:
有11位,這樣我們其實(shí)可以看出端倪來(lái)了,目的是為了根據(jù)前面的”位置“進(jìn)行取數(shù),確定”等級(jí)“。
接下來(lái)我們從”0“開(kāi)始提取一個(gè)字符。
聰明的朋友或許已經(jīng)發(fā)現(xiàn),我們要實(shí)現(xiàn)的目的其實(shí)就是用”位置“去替代”0“。
直接更改上面的公式:
= Table.AddColumn(已添加自定義1, "文本范圍", each Text.Middle([等級(jí)], [位置], 1), type text)
發(fā)現(xiàn)要求已經(jīng)滿足。
最后對(duì)”等級(jí)“列進(jìn)行”分組依據(jù)“。
要求達(dá)成。
總結(jié)
以上是生活随笔為你收集整理的22、Power Query-文本字符的精确提取的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 21、Power Query-列文本格式
- 下一篇: 24、Power Query-数学运算的