Power Query中混合类型SKU列与纯文本列拼接方法求助
在Power Query中实现无固定格式SKU与文本列的拼接
完全可以实现,核心思路是先统一SKU列的格式,或根据SKU类型做条件处理,以下是两种实用方案:
方法1:统一转为文本后直接拼接(通用方案)
不管SKU是纯数字还是文本数字混合,先将SKU列强制转为文本类型,再和目标文本列拼接,彻底避免格式冲突。
操作步骤:
- 在Power Query编辑器中选中SKU列,右键选择更改类型 → 文本
- 添加自定义列,使用以下M语言代码完成拼接:
(= [SKU列名称] & "_" & [文本列名称]_为自定义分隔符,可替换为空格、横线等任意符号)
如果不想手动修改列类型,也可以在拼接时直接转换:
= Text.From([SKU列名称]) & "_" & [文本列名称]
Text.From()函数会自动将纯数字转为文本,对原本就是文本格式的SKU无影响
方法2:条件式拼接(针对特殊格式需求)
如果需要针对SKU的不同格式做差异化拼接(比如给纯数字SKU添加前缀),可以用if...then...else逻辑实现:
= if Value.Is([SKU列名称], type number) then "SKU-" & Text.From([SKU列名称]) & "_" & [文本列名称] else [SKU列名称] & "_" & [文本列名称]
代码说明:
Value.Is([SKU列名称], type number)判断当前SKU是否为纯数字类型- 纯数字SKU会先转文本并添加前缀
SKU-,再和文本列拼接 - 非数字格式的SKU直接使用原文本拼接
注意事项
- M语言区分大小写,确保代码中的列名称与实际数据列名完全一致
- 若SKU列存在空值,可改用
Text.From(Nullable.From([SKU列名称]))处理,避免拼接报错
内容的提问来源于stack exchange,提问作者Gabriel Cassettari
相关产品推荐
相关产品推荐

