<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          PowerBI 從地址獲取經(jīng)緯度 - 使用高德地圖服務(wù)

          共 2956字,需瀏覽 6分鐘

           ·

          2021-06-13 19:09

          PowerBI 默認使用 BING 地圖。

          如果你正分析的內(nèi)容是國家,省份,區(qū)縣,城市級別的內(nèi)容,那么通常可以通過設(shè)置處理。

          但如果你要分析或顯示更加細節(jié)的內(nèi)容,則可能需要使用經(jīng)緯度了。

          業(yè)務(wù)場景

          我們常常分析一些店鋪,這些店鋪通常都有這樣的屬性:

          城市,街道,詳細地址。

          如果我們要系統(tǒng)化顯示一堆店鋪的銷售狀況,那么用默認地圖由于不能識別這些中文位置的具體地點,導(dǎo)致顯示上無法正確給出。

          因此,我們想到可以先將某地點的具體地址信息轉(zhuǎn)換為經(jīng)緯度信息再進行顯示即可。

          在常見的地圖服務(wù)中,都提供了將具體地址轉(zhuǎn)為經(jīng)緯度的方法。本文以高德地圖為例進行說明。

          基本原理概述

          Power BI 的可視化控件提供了通用地圖, 并可以基于經(jīng)緯度進行顯示。

          中國各個細節(jié)地址對應(yīng)的經(jīng)緯度可以利用中國成熟的地圖供應(yīng)商服務(wù)進行獲取。

          獲取的時候使用 Web 服務(wù)的形式,并通過 JSON 方式返回結(jié)果,這可以在 Power Query 中使用。

          對于某個表的具體地址,可以使用使用這樣的轉(zhuǎn)換就可以得到經(jīng)緯度。

          注冊高德地圖服務(wù)

          可以在這里注冊高德地圖服務(wù),如下:

          https://lbs.amap.com/

          注冊完成后,可以登錄我的控制臺,如下:

          這里的應(yīng)用可以隨意填寫,例如:

          • 應(yīng)用名稱:我的地圖應(yīng)用

          • 應(yīng)用類型:任選一個

          接著,在這個應(yīng)用下,注冊一個 KEY 用來做連接服務(wù)時候的唯一標(biāo)識,如下:

          填寫說明:

          1. Key 名稱:可以任意填寫一個自己可以記住的名字。如:Test。

          2. 服務(wù)平臺:必須選擇 Web 服務(wù)

          服務(wù)平臺選擇 Web 服務(wù)是為了可以在 Power Query 階段直接使用它,更加簡單。

          注冊完成后,我們就可以得到一個 Key 了。

          這個 Key 非常重要,它是我們持續(xù)使用高德地圖服務(wù)的唯一標(biāo)識。

          要收費嗎

          由于地圖服務(wù)是非常普遍的,因此,高德地圖為普適的需求提供了一定的免費額度,而這個額度是完全夠用的。如下:

          你可以每天匹配 30 W 次查詢。

          查詢模板

          這里直接給出 Power BI 中的查詢模板,如下:

          // GaoDe_GetLatLngFromAddress
          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 )),
          轉(zhuǎn)換為表 = Table.FromRecords({源}),
          #"展開的“geocodes”" = Table.ExpandListColumn(轉(zhuǎn)換為表, "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", "區(qū)縣"}, {"adcode", "地址代碼"}, {"location", "經(jīng)緯度"}, {"level", "匹配級別"}}),
          按分隔符拆分列 = Table.SplitColumn(重命名的列, "經(jīng)緯度", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"經(jīng)緯度.經(jīng)度", "經(jīng)緯度.緯度" }),
          更改的類型 = Table.TransformColumnTypes(按分隔符拆分列,{{"城市代碼", type text}, {"地址代碼", type text}, {"經(jīng)緯度.經(jīng)度", type number}, {"經(jīng)緯度.緯度", type number}})
          in
          更改的類型
          in

          我們可以這樣操作,如下:

          新建一個空白查詢,如下:

          打開高級編輯器,然后復(fù)制粘貼上述內(nèi)容,如下:

          可以修改該查詢?yōu)椋?/p>

          將已經(jīng)注冊的高德地圖 Key 輸入,相關(guān)參數(shù)含義如下:

          • GaoDe_Map_Key:高德地圖 Key,從上文注冊流程獲取。

          • GaoDe_Map_Address:要搜索的地址。

          • GaoDe_Map_ScopeCity:在什么城市里搜索這個地址。

          以上圖為例,可得:

          豎著看起來的結(jié)果,實際應(yīng)該使用橫著的表格。

          模板函數(shù)

          在 Power Query 中,具有參數(shù)的自定義查詢,我們稱之為模板函數(shù)。

          我們可以在實際的數(shù)據(jù)中通過模板函數(shù)來進行擴展。

          我們可以對一個已知的表格調(diào)用自定義函數(shù),如下:

          選擇已經(jīng)準(zhǔn)備好的模板函數(shù),如下:

          調(diào)用后可以選擇需要的列,如下:

          這樣就得到了已知數(shù)據(jù)中地址的經(jīng)緯度。

          總結(jié)

          本文給出了通過高德 API 將已知數(shù)據(jù)地址轉(zhuǎn)為經(jīng)緯度的通用方法,可以直接使用。

          在訂閱了BI佐羅講授的《BI真經(jīng)》之《BI進行時》課程區(qū),可以下載本文案例。

          Power BI 終極系列課程《BI真經(jīng)》


          BI真經(jīng) - 讓數(shù)據(jù)真正成為你的力量

          掃碼與精英一起討論 Power BI,驗證碼:data2021

          點擊“閱讀原文”進入學(xué)習(xí)中心

          瀏覽 174
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  枕瑶钗十三回兴云弄雨又春风 | 加勒比无码在线播放 | 五月播播| 国产乱码一区二区三区的区别 | 豆花网站高清无码18 |