Power Query中修剪指定列末尾字符出现语法错误如何解决
Power Query 修剪指定列末尾字符的实现方案
错误原因
原有代码语法不通过的核心问题是Table.TransformColumns参数格式不符合要求:该函数对列做值转换时,需要传入「列名+对应转换逻辑的函数」的规则组,直接在参数位置写带[列名]的列引用表达式,会因为缺少行上下文触发识别错误。
正确代码
替换原有步骤即可实现移除Page path level 1列所有值末尾1个字符的需求:
= Table.TransformColumns( #"Renamed Columns", {{"Page path level 1", (cellValue) => Text.Start(cellValue, Text.Length(cellValue) - 1), type text}} )
参数说明
- 第一层花括号包裹所有列的转换规则,单规则对应单列表述
- 规则第一个元素为目标列名:
"Page path level 1" - 规则第二个元素为匿名转换函数,
cellValue代表当前行该列的单元格值,逐行传入做截断计算 - 规则第三个元素为可选参数,指定转换后列的数据类型为文本
转换效果
针对你给出的示例值,转换结果匹配预期:
/Account/→/Account/Retrieve/→/Retrieve/Hello/→/Hello
可选优化:如果你的实际需求是移除末尾的斜杠
/而非固定移除最后1位字符,可以把转换函数替换为(cellValue) => Text.TrimEnd(cellValue, "/"),容错性更强,不会误删末尾非斜杠的有效字符。
内容的提问来源于stack exchange,提问作者M.Ustun
相关产品推荐
相关产品推荐

