如何按第一个 space 拆分 Power Query 中的列?
How to split column in Power Query by the first space?
我正在使用 Power Query 并且有一个名为 LandArea 的列;示例数据是“123.5 sq mi”。它是数据类型文本。我想删除 "sq mi" 部分,所以我只有数值 123.5。我尝试使用 Replace 函数将 "sq mi" 替换为空白,但这不起作用,因为它会查看整个文本。所以我尝试使用 Split,在 space 上拆分它,它在下面生成了这个公式,它确实创建了一个新列,但所有值都为 null。原来的列仍然是“123.5 sq mi”。
Table.SplitColumn(#"Reordered Columns1","LandArea",Splitter.SplitTextByDelimiter(" ", QuoteStyle.None),{"LandArea.1", "LandArea.2"})
仅在最左边的分隔符处拆分时:
Table.SplitColumn(#"Reordered Columns1","LandArea",Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.None, false),{"LandArea.1", "LandArea.2"})
我也试过改成QuoteStyle.Csv。知道如何让它工作吗?
使用它来创建自定义列:
= Table.AddColumn(
#"Reordered Columns1",
"NewColumn",
each Text.Start([LandArea],Text.PositionOf([LandArea]," "))
)
更新: 每个人似乎都有 "sq mi"
= Table.AddColumn(#"Changed Type", "Custom", each Text.Replace([LandArea]," sq mi",""),type number)
希望对您有所帮助。
这是我最终使用的:
Table.AddColumn(#"Reordered Columns1", "LandArea2",
each Text.Start([LandArea], Text.PositionOf([LandArea], "sq")-1))
我避免尝试寻找空格。
我正在使用 Power Query 并且有一个名为 LandArea 的列;示例数据是“123.5 sq mi”。它是数据类型文本。我想删除 "sq mi" 部分,所以我只有数值 123.5。我尝试使用 Replace 函数将 "sq mi" 替换为空白,但这不起作用,因为它会查看整个文本。所以我尝试使用 Split,在 space 上拆分它,它在下面生成了这个公式,它确实创建了一个新列,但所有值都为 null。原来的列仍然是“123.5 sq mi”。
Table.SplitColumn(#"Reordered Columns1","LandArea",Splitter.SplitTextByDelimiter(" ", QuoteStyle.None),{"LandArea.1", "LandArea.2"})
仅在最左边的分隔符处拆分时:
Table.SplitColumn(#"Reordered Columns1","LandArea",Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.None, false),{"LandArea.1", "LandArea.2"})
我也试过改成QuoteStyle.Csv。知道如何让它工作吗?
使用它来创建自定义列:
= Table.AddColumn(
#"Reordered Columns1",
"NewColumn",
each Text.Start([LandArea],Text.PositionOf([LandArea]," "))
)
更新: 每个人似乎都有 "sq mi"
= Table.AddColumn(#"Changed Type", "Custom", each Text.Replace([LandArea]," sq mi",""),type number)
希望对您有所帮助。
这是我最终使用的:
Table.AddColumn(#"Reordered Columns1", "LandArea2",
each Text.Start([LandArea], Text.PositionOf([LandArea], "sq")-1))
我避免尝试寻找空格。