Power Query M语言中的 List.ReplaceMatchingItems 函数用于在列表中替换与指定值匹配的所有元素。该函数的基本语法结构如下:
基本语法结构
List.ReplaceMatchingItems(list as list, replacements as list, optional equationCriteria as any) as list
- list:需要处理的输入列表。
- replacements:一个列表,其中每个元素是一个由原始值和新值组成的列表(即{旧值, 新值})。
- equationCriteria(可选):用于比较的等式标准。
示例1:在列表中替换指定的数字
假设我们有一个包含数字的列表,并希望将列表中的所有3替换为7。
代码
let
// 定义一个包含数字的原始列表
originalList = {1, 2, 3, 4, 3, 5},
// 定义替换规则列表,将3替换为7
replacements = {{3, 7}},
// 使用 List.ReplaceMatchingItems 函数进行替换
result = List.ReplaceMatchingItems(originalList, replacements)
in
// 返回结果
result
结果
替换后的列表 |
1 |
2 |
7 |
4 |
7 |
5 |
示例2:在列表中替换多个字符串
假设我们有一个包含字符串的列表,并希望将列表中的 "Apple" 替换为 "Apricot","Banana" 替换为 "Blueberry"。
代码
let
// 定义一个包含字符串的原始列表
originalList = {"Apple", "Banana", "Cherry", "Apple"},
// 定义替换规则列表,将 "Apple" 替换为 "Apricot",将 "Banana" 替换为 "Blueberry"
replacements = {{"Apple", "Apricot"}, {"Banana", "Blueberry"}},
// 使用 List.ReplaceMatchingItems 函数进行替换
result = List.ReplaceMatchingItems(originalList, replacements)
in
// 返回结果
result
结果
替换后的列表 |
Apricot |
Blueberry |
Cherry |
Apricot |
示例3:在列表中替换布尔值
假设我们有一个包含布尔值的列表,并希望将列表中的 true 替换为 false,false 替换为 true。
代码
let
// 定义一个包含布尔值的原始列表
originalList = {true, false, true, false},
// 定义替换规则列表,将 true 替换为 false,将 false 替换为 true
replacements = {{true, false}, {false, true}},
// 使用 List.ReplaceMatchingItems 函数进行替换
result = List.ReplaceMatchingItems(originalList, replacements)
in
// 返回结果
result
结果
替换后的列表 |
false |
true |
false |
true |
代码生成的表格示例总结
- 在列表中替换指定的数字:使用 List.ReplaceMatchingItems 函数将列表中的所有3替换为7。
- 在列表中替换多个字符串:使用 List.ReplaceMatchingItems 函数将多个指定的字符串替换为新字符串。
- 在列表中替换布尔值:使用 List.ReplaceMatchingItems 函数将列表中的布尔值进行互换。
通过 List.ReplaceMatchingItems 函数,可以灵活地在列表中替换与指定值匹配的所有元素,满足不同的数据处理需求。这个函数特别适用于需要批量替换列表中元素的场景,充分发挥了Power Query的强大数据处理能力。