You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制Power Query中Table.AddFuzzyClusterColumn修改特定值?

Power Query中保留"FQF"与"QFF"独立值的解决方法

以下是几种可行的解决思路,按需选择:

方法一:前置临时替换规避匹配

在现有数据清理步骤之前,先对"FQF"做临时标记,避免被模糊匹配规则错误合并:

  1. 打开Power Query编辑器,定位到数据清理步骤的前一步,插入新步骤。
  2. 运行以下代码,将"FQF"临时替换为唯一标识:
Table.ReplaceValue(源, "FQF", "FQF_TEMP", Replacer.ReplaceText, {"Original"})
  1. 执行原有的数据清理流程(阈值0.95的模糊匹配/分组步骤)。
  2. 再插入新步骤,将临时标识还原为"FQF":
Table.ReplaceValue(清理后的数据, "FQF_TEMP", "FQF", Replacer.ReplaceText, {"Fixed Name"})

方法二:自定义匹配规则强制保留独立值

如果使用Table.FuzzyGroup等模糊分组函数,可以通过TransformationTable参数指定优先规则,让"FQF"和"QFF"各自映射到自身,不受阈值影响:

Table.FuzzyGroup(
    源,
    {"Original"},
    {{"Count", each Table.RowCount(_), Int64.Type}},
    [
        Threshold=0.95,
        TransformationTable = Table.FromRecords({
            [From="FQF", To="FQF"],
            [From="QFF", To="QFF"]
        })
    ]
)

该参数的规则优先级高于模糊匹配阈值,会强制这两个值保留原始内容。

方法三:事后针对性修正

在已完成清理的数据集上,基于原始列做反向修正:

  1. 添加自定义列,逻辑为当原始值是"FQF"时,返回"FQF",否则保留已清理的结果:
Table.AddColumn(清理后的数据, "Fixed Name Corrected", each if [Original] = "FQF" then "FQF" else [Fixed Name])
  1. 删除原"Fixed Name"列,将自定义列重命名为"Fixed Name"即可。

内容的提问来源于stack exchange,提问作者Sam R.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 07:57:48