【问题标题】:How to find Country lat, long based on Country Name on Power BI?如何根据 Power BI 上的国家名称查找国家经纬度?
【发布时间】:2020-04-16 11:50:31
【问题描述】:

我正在尝试在 Power BI 上的世界地图中查找国家/地区纬度、长时间以可视化该国家/地区。

请建议我在 PowerBI 或 PowerBI 工具提供的任何 API 上查找经纬度的过程。

【问题讨论】:

    标签: powerbi visualization latitude-longitude powerbi-desktop custom-function


    【解决方案1】:

    首先,我们必须使用任何 API 服务来获取经纬度

    创建 bingmapsportal 帐户

    这里我使用的是 Microsoft bing maps API 服务 如果您还没有,请转到 BingMapsPortal 帐户注册帐户

    SingUp 登录后,它会重定向到仪表板

    生成密钥 到达仪表板页面后,我们必须生成密钥才能使用 RESTful api 服务

    准备好密钥后,请参阅文档以查找 api 以根据给定国家/地区获取纬度和经度

    我们使用下面给出的 url 来获取 xml 格式的经纬度

    http://dev.virtualearth.net/REST/v1/Locations/india?o=xml&key=AjvYaTSLr8dsu4eqeDt0OigOZ_xuTkdVMUQCDMc0gcDPm
    

    使用 virtualearth API 服务获取位置的经纬度 一旦数据可用,我们必须将其转换为表格形式

    创建调用自定义函数 如果我们需要获取多个国家的仪表板,那么我们必须编写自定义调用函数,如下所示并保存。

    = (location) =>
    
    let
        Source = Xml.Tables(Web.Contents("http://dev.virtualearth.net/REST/v1/Locations/"&location&")?o=xml&key=AjvYaTSLr8dsu4eqeDt0OigOZ_xuTkdVMUQCDMc0gcDPmj2m57iWiwasSDZSCoNG")),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Copyright", type text}, {"BrandLogoUri", type text}, {"StatusCode", Int64.Type}, {"StatusDescription", type text}, {"AuthenticationResultCode", type text}, {"TraceId", type text}}),
        ResourceSets = #"Changed Type"{0}[ResourceSets],
        ResourceSet = ResourceSets{0}[ResourceSet],
        #"Changed Type1" = Table.TransformColumnTypes(ResourceSet,{{"EstimatedTotal", Int64.Type}}),
        Resources = #"Changed Type1"{0}[Resources],
        #"Expanded Location" = Table.ExpandTableColumn(Resources, "Location", {"Name", "Point", "BoundingBox", "EntityType", "Address", "Confidence", "MatchCode", "GeocodePoint"}, {"Location.Name", "Location.Point", "Location.BoundingBox", "Location.EntityType", "Location.Address", "Location.Confidence", "Location.MatchCode", "Location.GeocodePoint"}),
        #"Location Point" = #"Expanded Location"{0}[Location.Point],
        #"Changed Type2" = Table.TransformColumnTypes(#"Location Point",{{"Latitude", type number}, {"Longitude", type number}})
    in
        #"Changed Type2"
    

    使用 lat long 可视化地图 使用该自定义调用函数通过在表中创建新的自定义列来获得多个纬度

    稍后我们必须将嵌入的表数据转换为列数据

    为了在没有鼠标悬停的情况下显示国家和计数图例,我们创建了自定义图例列 使用以下查询

    语法:

    State Count COLUMN = 'Table'[State]&" - "&CALCULATE(SUM('Table'[Count]), ALLEXCEPT('Table', 'Table'[State]))
    

    一旦表格上的数据准备就绪,我们就必须将适当的值拖放到位置、图例、值上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 2016-06-24
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-14
      相关资源
      最近更新 更多