You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 23:52:40