问题:在整理数据中出现这样一个问题
我想要整理学科一列有许多要点击“替换值”
现在在这么多
一种情况一次操作,要做许多个步骤哦
思考:能不能用M函数批量操作,我要批量操作
寻找中……
知识点
List.ReplaceMatchingItems【对列表指定多个元素替换】
例如
= List.ReplaceMatchingItems({1..10},{{1,"a"},{3,"c"}})
我可以这样的
= List.ReplaceMatchingItems(源[学科],{
{"品德与社会","品德"}
,{"品德与生活","品德"}
,{"思想品德","品德"}
,{"品德思想","品德"}
,{"心理健康","心理"}
,{"心理与健康","心理"}})
思路:
先把源数据的学科一列转成列表,再用List函数批量替换
接下来是要把完成的一个列表横向拼接到表格中
Table.FromColumns(列表,标题)
例子:Table.FromColumns({{1,2,3},{4,5,6},{7,8,9,10}},{"A","B","C"})
- 把原来的表的所有列提出来(表转列表)
- 再原来的表的标题提出来
- 列表转表
----------代码如下-----
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
学科 = List.ReplaceMatchingItems(源[学科],{
{"品德与社会","品德"}
,{"品德与生活","品德"}
,{"思想品德","品德"}
,{"品德思想","品德"}
,{"心理健康","心理"}
,{"心理与健康","心理"}}),
标题 = Table.ColumnNames(源)&{"新学科"},
列表 = Table.ToColumns(源)&{学科},
自定义1 = Table.FromColumns(列表,标题)
in
自定义
----------代码完-----
完成
也不知有没有更好的方法,先保存吧