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

如何在SSAS中创建Latitude、Longitude数据类型?Power BI实时连接问题咨询

在SSAS中处理经纬度数据以支持Power BI实时连接地理可视化

方法一:在SSAS Tabular模型中创建Geography类型计算列

  1. 打开你的SSAS Tabular模型项目(或通过SSMS连接已部署的Tabular模型)
  2. 定位到包含纬度(Latitude)、经度(Longitude)字段的表,先确保这两个字段是数值类型(若原数据为varchar,需先在数据源或模型中转换为decimal/float类型)
  3. 添加计算列,使用以下DAX表达式生成Geography类型字段:
    GeoLocation = GEOGRAPHY::STPointFromText("POINT(" & [Longitude] & " " & [Latitude] & ")", 4326)
    
    注:4326是WGS84坐标系(GPS通用标准),匹配Power BI地图的默认坐标系
  4. 保存并部署模型,Power BI实时连接时即可直接使用该Geography列制作地图可视化

方法二:在数据源层面提前生成Geography字段(更高效)

如果你的数据源是SQL Server,可以直接在数据源中处理,减少SSAS模型的计算压力:

  1. 给原表添加持久化计算列:
    ALTER TABLE YourTargetTable
    ADD GeoLocation AS GEOGRAPHY::STPointFromText('POINT(' + CAST(Longitude AS VARCHAR(20)) + ' ' + CAST(Latitude AS VARCHAR(20)) + ')', 4326) PERSISTED;
    
  2. 或者创建包含Geography字段的视图:
    CREATE VIEW vw_YourGeoData
    AS
    SELECT 
        *,
        GEOGRAPHY::STPointFromText('POINT(' + CAST(Longitude AS VARCHAR(20)) + ' ' + CAST(Latitude AS VARCHAR(20)) + ')', 4326) AS GeoLocation
    FROM YourSourceTable
    WHERE Longitude IS NOT NULL AND Latitude IS NOT NULL;
    
  3. 在SSAS模型中导入处理后的表或视图,部署后即可供Power BI实时连接使用

关键注意事项

  • 验证经纬度数据有效性:若原数据为varchar类型,必须先清理非数值字符,否则生成Geography字段会报错
  • 实时连接限制:Power BI实时连接模式下无法在本地转换数据,所有类型转换和地理字段生成必须在SSAS或数据源层面完成

内容的提问来源于stack exchange,提问作者fak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 01:25:18