在Power BI中使用Power Query M语言批量替换文本生成标准化表格
Power Query M语言批量文本替换实现方案
前提假设
- 初始表格名为
初始数据,包含待标准化的文本列(示例列名:原始文本) - 替换规则表名为
替换规则,包含两列:原文本(待替换内容)、替换文本(目标内容)
实现代码与说明
核心实现代码
let 源 = 初始数据, // 将替换规则表转换为[原文本, 替换文本]的二维列表 替换规则列表 = Table.ToRows(替换规则), // 遍历规则列表,批量执行文本替换 标准化表格 = List.Accumulate(替换规则列表, 源, (当前表格, 单条规则) => Table.ReplaceValue(当前表格, 单条规则{0}, 单条规则{1}, Replacer.ReplaceText, {"原始文本"}) ) in 标准化表格
关键函数说明
Table.ToRows(替换规则):把规则表转换为二维列表,每一项是一组替换规则的原文本和目标文本List.Accumulate:以初始数据为基础,逐个应用替换规则,逐步更新表格内容Table.ReplaceValue:执行单条文本替换,Replacer.ReplaceText指定为精确文本匹配模式
自定义调整
- 若你的列名不同,将代码中的
"原始文本"、"原文本"、"替换文本"替换为实际列名 - 如需模糊匹配替换,可替换
Replacer.ReplaceText为自定义函数,实现包含匹配:(旧文本 as text, 新文本 as text, 输入文本 as text) => Text.ReplaceAll(输入文本, 旧文本, 新文本)
内容的提问来源于stack exchange,提问作者Luca Giroldi
相关产品推荐
相关产品推荐

