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

Power Query中数字列空值替换及混合类型列内容清理求助

Power Query 操作方案

一、数字列空值替换为“-”

数字类型列无法直接存储文本“-”,需先将列转为文本类型,再完成空值替换:

  1. 使用Table.TransformColumns函数,同时实现类型转换与空值替换逻辑。
    示例代码(假设目标数字列为Col1-Col5):
let
    源 = 你的数据源,
    替换空值 = Table.TransformColumns(源, {
        {"Col1", each if _ = null then "-" else Text.From(_), type text},
        {"Col2", each if _ = null then "-" else Text.From(_), type text},
        {"Col3", each if _ = null then "-" else Text.From(_), type text},
        {"Col4", each if _ = null then "-" else Text.From(_), type text},
        {"Col5", each if _ = null then "-" else Text.From(_), type text}
    })
in
    替换空值
  • 逻辑:判断单元格是否为null,是则返回“-”,否则将数字转为文本;最后指定列类型为type text,避免后续类型冲突。

二、清空数字文本混合类型列

直接将目标列的所有值替换为null(Power Query中的空白状态),无需区分原数据类型:

方法1:硬编码列名(适合列名固定场景)

在上述替换空值的代码基础上添加清空步骤:

let
    源 = 你的数据源,
    替换空值 = Table.TransformColumns(源, {
        {"Col1", each if _ = null then "-" else Text.From(_), type text},
        {"Col2", each if _ = null then "-" else Text.From(_), type text},
        {"Col3", each if _ = null then "-" else Text.From(_), type text},
        {"Col4", each if _ = null then "-" else Text.From(_), type text},
        {"Col5", each if _ = null then "-" else Text.From(_), type text}
    }),
    清空列 = Table.TransformColumns(替换空值, {
        {"Col6", each null},
        {"Col7", each null},
        {"Col8", each null}
    })
in
    清空列

方法2:按列位置自动获取(适合列名不固定场景)

通过列索引自动定位最后3列,无需手动输入列名:

let
    源 = 你的数据源,
    替换空值 = Table.TransformColumns(源, {
        {"Col1", each if _ = null then "-" else Text.From(_), type text},
        {"Col2", each if _ = null then "-" else Text.From(_), type text},
        {"Col3", each if _ = null then "-" else Text.From(_), type text},
        {"Col4", each if _ = null then "-" else Text.From(_), type text},
        {"Col5", each if _ = null then "-" else Text.From(_), type text}
    }),
    列名列表 = Table.ColumnNames(替换空值),
    目标列 = List.Range(列名列表, List.Count(列名列表)-3),
    清空列 = Table.TransformColumns(替换空值, List.Transform(目标列, (col) => {col, each null}))
in
    清空列

内容的提问来源于stack exchange,提问作者yan peng

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 06:03:28