如何在 Power BI 中使用 IP 进行定位?

How to use IP for location in Power BI?

当前正在尝试从 SQL-Server 数据源按 IP 添加用户地图。 IP 要么映射到错误的位置,要么根本不使用 Power BI 的内置查找进行映射。

有没有办法通过IP栏查询位置?或者任何已知的 API 可以为我做这件事?

试试这个:freegeoip.net

http://freegeoip.net/xml/8.8.8.8

它returns:

<Response>
<IP>8.8.8.8</IP>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>CA</RegionCode>
<RegionName>California</RegionName>
<City>Mountain View</City>
<ZipCode>94035</ZipCode>
<TimeZone>America/Los_Angeles</TimeZone>
<Latitude>37.386</Latitude>
<Longitude>-122.0838</Longitude>
<MetroCode>807</MetroCode>
</Response>

或使用JSON:

http://freegeoip.net/json/8.8.8.8

{"ip":"8.8.8.8","country_code":"US","country_name":"United States","region_code":"CA","region_name":"California","city":"Mountain View","zip_code":"94035","time_zone":"America/Los_Angeles","latitude":37.386,"longitude":-122.0838,"metro_code":807}

我遇到了类似的问题,这就是我所做的。

  1. 我从源数据table创建了一个新的table,具有不同的IP地址
  2. 创建了一个查询 IP 地址并获取其详细信息的自定义函数(见底部)。
  3. 功能区中单击了添加列,然后单击了调用自定义函数
  4. 查询完成后,单击新列并通过单击列右上角的图标展开table.

-- 对我有用的函数代码

= let
    Source = (#"IP Address" as text) => let
    Source = Json.Document(Web.Contents("http://freegeoip.net/json/" & #"IP Address")),
    #"Converted to Table" = Record.ToTable(Source),
    #"Transposed Table" = Table.Transpose(#"Converted to Table"),
    #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table")
in
    #"Promoted Headers"
in
    Source

Source