如何在Power Query中提取列文本至新列且保留原列内容?
简化Power Query提取文本到新列的方法
当然有更简洁的方式!你之前的操作需要三步(复制列→重命名→提取文本),其实用Table.AddColumn就能一步完成直接从原列生成新提取列,完全不需要复制和重命名的冗余步骤。
替代方案代码
把你原来的三行代码替换成这一行就够了:
Extract_Vehicle_Program = Table.AddColumn(Combine_FilePath_and_Name, "V Program", each Text.BetweenDelimiters([File & Path], "\B3\", "\"), type text)
代码解释
Table.AddColumn的核心作用就是在原表基础上直接新增列,省去了复制原列的步骤- 第一个参数
Combine_FilePath_and_Name是你的源表名称 - 第二个参数
"V Program"是你想要的新列名称,直接在这里定义就不用后续重命名了 - 第三个参数
each Text.BetweenDelimiters([File & Path], "\B3\", "\"))和你原来的提取逻辑完全一致:从原列[File & Path]中抓取指定分隔符之间的文本 - 最后指定新列的数据类型为
type text,确保列格式符合需求
多列处理的优势
原来的方法处理每一列都需要3个重复步骤,而用Table.AddColumn的话,每新增一个提取列只需要追加一行代码就行,步骤数直接减少2/3。比如你还要从原列提取另一段内容到新列"Another Column",只需要这样加一行:
Add_Another_Column = Table.AddColumn(Extract_Vehicle_Program, "Another Column", each Text.BetweenDelimiters([File & Path], "XXX", "YYY"), type text)
整个流程会清爽很多,再也不用处理一堆重复的复制和重命名操作啦!
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

