如何用-in power查询替换所有类型的数字列中的null

问题描述 投票:0回答:1

我在电力查询中有 5 列数字类型,并且某些单元格中存在空值。我想用-替换所有那些空值。但电源查询确实允许 - 不是一个值。我在最后 3 列中也有混合的数字和文本,我想清除所有这些文本或数字以将其留空。我在 power query 中没有看到这样的选项,只能在 excel 中手动执行。

excel-2010 powerquery
1个回答
0
投票

不清楚为什么要用连字符替换空值,但您可以使用

Table.ReplaceValue
函数执行这两个操作。但是,您需要在高级编辑器中执行此操作。

阅读

Table.ReplaceValue
函数的 MS 帮助,以更好地理解参数。此外,还有许多关于使用
each
语句以及以这种方式使用该函数的在线博客。

请注意,

Table.ReplaceValue
函数会将列数据类型更改为
any
。当用连字符替换空值时,这一点尤其重要,因为连字符是不是数字

例如,给定此表:

M代码

let

//Get data from an Excel Table
    Source = Excel.CurrentWorkbook(){[Name="Table16"]}[Content],

//set the data types
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"2", Int64.Type}, {"abc", type text}}),

//Rename columns
    #"Rename Columns" = Table.RenameColumns(#"Changed Type",{{"2", "col1"}, {"abc", "col2"}}),

    #"Replace Col2 with blank" = Table.ReplaceValue(
        #"Rename Columns",
        each [col2],
        "",
        Replacer.ReplaceValue,
        {"col2"}),

    #"Replace Col1 nulls with hyphen" = Table.ReplaceValue(
        #"Replace Col2 with blank",
        null,
        "-",
        Replacer.ReplaceValue,
        {"col1"}
    )
in
    #"Replace Col1 nulls with hyphen"

结果

© www.soinside.com 2019 - 2024. All rights reserved.