您可以通过从工具栏中选择“转换数据”选项在 PowerQuery 中执行此操作。
在下面的代码中,我创建了列的副本,然后:
- 将“POINT (”替换为空(空白)
- 将“)”替换为空(空白)
- 拆分“ ”(空格)上的点以获得两个字段。
第一个是纬度,第二个是经度。
let
Source = Sql.Database("my.database.windows.net", "mydb"),
dbo_FactTest = Source{[Schema="dbo",Item="FactTest"]}[Data],
#"Removed Columns1" = Table.RemoveColumns(dbo_FactTest,{"MyTextData"}),
#"Duplicated Column" = Table.DuplicateColumn(#"Removed Columns1", "geo", "geo - Copy"),
#"Renamed Columns" = Table.RenameColumns(#"Duplicated Column",{{"geo - Copy", "geo - original"}}),
#"Replaced Value" = Table.ReplaceValue(#"Renamed Columns","POINT (","",Replacer.ReplaceText,{"geo"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value",")","",Replacer.ReplaceText,{"geo"}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Replaced Value1", "geo", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"geo.1", "geo.2"}),
#"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"geo.1", type number}, {"geo.2", type number}}),
#"Renamed Columns1" = Table.RenameColumns(#"Changed Type",{{"geo.1", "Lat"}, {"geo.2", "Long"}})
in
#"Renamed Columns1"