PQ-批量“替换值”一次完成多个数值的“替换“

2022-10-31 15:24:47 浏览数 (1)

问题:在整理数据中出现这样一个问题

我想要整理学科一列有许多要点击“替换值”

现在在这么多

一种情况一次操作,要做许多个步骤哦

思考:能不能用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"})

  1. 把原来的表的所有列提出来(表转列表)
  2. 再原来的表的标题提出来
  3. 列表转表

----------代码如下-----

let

源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],

学科 = List.ReplaceMatchingItems(源[学科],{

{"品德与社会","品德"}

,{"品德与生活","品德"}

,{"思想品德","品德"}

,{"品德思想","品德"}

,{"心理健康","心理"}

,{"心理与健康","心理"}}),

标题 = Table.ColumnNames(源)&{"新学科"},

列表 = Table.ToColumns(源)&{学科},

自定义1 = Table.FromColumns(列表,标题)

in

自定义

----------代码完-----

完成

也不知有没有更好的方法,先保存吧

0 人点赞