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)
發現要求已經滿足。
最后對”等級“列進行”分組依據“。
要求達成。
總結
以上是生活随笔為你收集整理的22、Power Query-文本字符的精确提取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 21、Power Query-列文本格式
- 下一篇: 23、Power Query-XML与J