PowerBI提取POINT格式坐标转浮点型失败求助
解决POINT格式坐标提取经纬度的问题
M语言解决方案
提取经度
原代码报错多因提取文本残留多余字符、边界匹配不精准,替换为以下代码:
= let rawText = Text.Remove([geo], {"POINT(", ")", " "}), splitParts = Text.Split(rawText, " "), longText = List.First(splitParts) in try Number.From(longText) otherwise null
提取纬度
提取纬度的对应代码:
= let rawText = Text.Remove([geo], {"POINT(", ")", " "}), splitParts = Text.Split(rawText, " "), latText = List.Last(splitParts) in try Number.From(latText) otherwise null
说明:先清除POINT()包裹符与多余空格,按空格分割字符串后提取对应部分,最后转为数字,用try...otherwise处理异常值。
DAX解决方案
原DAX报错多因提取文本含不可见字符、区域格式兼容问题,修改后的代码如下:
提取经度
LongitudeFloat = VAR CleanGeo = SUBSTITUTE(SUBSTITUTE('Table'[geo], "POINT(", ""), ")", "") VAR SplitParts = PATHITEM(CLEAN(CleanGeo), 1, TEXT) RETURN IF(ISBLANK(SplitParts), BLANK(), VALUE(SplitParts))
提取纬度
LatitudeFloat = VAR CleanGeo = SUBSTITUTE(SUBSTITUTE('Table'[geo], "POINT(", ""), ")", "") VAR SplitParts = PATHITEM(CLEAN(CleanGeo), 2, TEXT) RETURN IF(ISBLANK(SplitParts), BLANK(), VALUE(SplitParts))
说明:先清理POINT()包裹符,用CLEAN移除不可见字符,再用PATHITEM按空格分割取对应部分,最后转为数字。
内容的提问来源于stack exchange,提问作者Charles
相关产品推荐
相关产品推荐

