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