0
点赞
收藏
分享

微信扫一扫

使用PowerBI来确定每个地址的经纬度

MaxWen 2022-02-12 阅读 139
数据分析

需求描述

确定1000+门店在其城区中轴线以左还是以右,并返回Excel

原始数据示例

门店名门店地址
牛局炭火烤肉(远大购物中心店)秀英区长滨四路7号远大购物中心北馆5F
牛局炭火烤肉(日月广场店)琼山区国兴大道8号日月广场西区西6天蝎座4楼免税店楼上
牛局炭火烤肉(友谊阳光城店)龙华区金龙路金贸友谊阳光城6AF
牛局炭火烤肉(上邦百汇城店)龙华区上邦百汇城2号楼3层

实现路径分析

第一种方法: 导入Power BI的地图,靠在地图上画下中轴线然后导出左右的地点。
第二种方法: 使用高德地图API,在Power Query里新建查询,得到每个门店的具体经纬度,而后查询海口市中轴线的经度,就可以在Excel里简单区分开了。

第二种方法

①获取高德地图的API,在高德地图API网站里注册登录,个人开发者可以直接用支付宝实名登录。然后在控制台→应用管理→我的应用→创建新应用,而后依照自己喜好命名与选择用途即可。在那之后,你会得到一串key,比较关键。
②而后打开Power BI加载数据,进入编辑转换(Power Query)
③在该页面新建查询,步骤如下:
先点开新建源。

然后点击空查询,会得到这个界面,是一个空白的页面,你可以先尝试给“查询1”改个好听的名字。
在这里插入图片描述然后右键查询1选择进入到高级编辑器,输入如下代码:

let
    源 = (GaoDe_Map_Key as text, GaoDe_Map_Address as any, GaoDe_Map_ScopeCity as any) => let
    源 = Json.Document(Web.Contents("https://restapi.amap.com/v3/geocode/geo?key=" & GaoDe_Map_Key & "&address=" & GaoDe_Map_Address & "&city=" & GaoDe_Map_ScopeCity )),
    转换为表 = Table.FromRecords({}),
    #"展开的“geocodes”" = Table.ExpandListColumn(转换为表, "geocodes"),
    #"展开的“geocodes”1" = Table.ExpandRecordColumn(#"展开的“geocodes”", "geocodes", {"formatted_address", "country", "province", "citycode", "city", "district", "township", "neighborhood", "building", "adcode", "street", "number", "location", "level"}, {"formatted_address", "country", "province", "citycode", "city", "district", "township", "neighborhood", "building", "adcode", "street", "number", "location", "level"}),
    删除的其他列 = Table.SelectColumns(#"展开的“geocodes”1",{"formatted_address", "country", "province", "citycode", "city", "district", "adcode", "location", "level"}),
    重命名的列 = Table.RenameColumns(删除的其他列,{{"formatted_address", "匹配到地址"}, {"country", "国家"}, {"province", "省份"}, {"citycode", "城市代码"}, {"city", "城市"}, {"district", "区县"}, {"adcode", "地址代码"}, {"location", "经纬度"}, {"level", "匹配级别"}}),
    按分隔符拆分列 = Table.SplitColumn(重命名的列, "经纬度", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"经纬度.经度", "经纬度.纬度" }),
    更改的类型 = Table.TransformColumnTypes(按分隔符拆分列,{{"城市代码", type text}, {"地址代码", type text}, {"经纬度.经度", type number}, {"经纬度.纬度", type number}})
in
    更改的类型
in

在这里插入图片描述
点击完成后,生成了查询如下:
在这里插入图片描述点击调用,成功获得了其具体信息:
在这里插入图片描述OK。到这一步说明一切都是顺利,那么我们将该查询运用到我们的目标表格中,点击 “添加列”在这里插入图片描述然后调用自定义函数
在这里插入图片描述
在这里插入图片描述之后便得到了新的一列如图
在这里插入图片描述
点击红框内的按钮,确定展开
在这里插入图片描述
得到了详细具体的经纬度以及区县地址
在这里插入图片描述之后就可以点击此处,选择复制整个表,然后粘贴到Excel中进行处理了!
在这里插入图片描述

结尾:

1.本文中的代码部分转载自程序员客栈,作者为PowerBI战友联盟,感谢。
2.转载本文无需征得本人同意,请附上原址即可,感谢。

举报

相关推荐

0 条评论