480 lượt xem
0 bình luận

Tableau: chuyển đổi từ địa chỉ sang kinh độ và vĩ độ

Bài này viết theo order của vợ!

Vấn đề: giả sử bạn có địa chỉ tất cả các chi nhánh của công ty bạn và đối thủ. Bạn muốn hiển thị các chi nhánh này bằng các điểm đánh dấu trên bản đồ với Tableau hoặc PowerBi. Làm thế nào bây giờ?

Phân tích: Tableau hoặc PowerBi hỗ trợ khá tốt việc nhận diện địa chỉ, chính xác tới từng county (quận, hạt), nhưng đó là với Mỹ, và dữ liệu cũng yêu cầu chi tiết, đúng định dạng ở mức nhất định. Còn với các quốc gia khác như Việt Nam, tính năng nhận diện địa chỉ mới đang dùng tốt ở cấp State/Province (tỉnh thành).

Giải pháp: cần chuyển các địa chỉ đó sang kinh độ và vĩ độ. Tableau/PowerBi sử dụng tốt nhất với các thông tin này.

Bắt tay vào việc nào!

Chuẩn bị dataset

Data về chi nhánh và đối thủ khá là nhạy cảm, nên mình không đưa vào bài viết này, thay vì thế, chúng ta lấy data tương tự, là các trường phổ thông trung học trên địa bàn Hà Nội.

Bạn có thể lấy nguồn data này từ Cổng dữ liệu quốc gia, hoặc tải file này 

Lưu ý: dataset này chưa được làm sạch, một số địa chỉ bị thiếu thông tin hoặc không có thông tin chi tiết (quận huyện thành phố). Đây là nguyên nhân khiến gây ra một số lỗi, chúng ta sẽ nói thêm ở phía cuối bài.

Chuyển từ địa chỉ sang kinh độ và vĩ độ

Có nhiều cách để chuyển địa chỉ từ kinh độ sang vĩ độ: dùng api từ các services của Google, OpenStreetMap…hoặc những addon trên Excel.

Ở đây mình hướng dẫn cách đơn giản nhất, miễn phí, sử dụng được với người không biết lập trình, đó là dùng add on Geocode by Awesome Table trên Google Sheet.

Tạo một file mới trên Google Sheet (tài khoản nào cũng được, nhưng tốt nhất nên dùng mail trắng, vì addon này yêu cầu cung cấp khá nhiều quyền, mà mình không muốn rủi ro lộ dữ liệu).

Sau đó paste dữ liệu của dataset vào file google sheet vừa tạo:

Hình 1: Paste dataset vào Google Sheet

Hình 1: Paste dataset vào Google Sheet

Như các bạn thấy, thông tin về địa chỉ đang ở cột D.

Làm tiếp như hướng dẫn của các hình sau:

Hình 2: Từ menu của Google Sheet, chọn Get Add-Ons

Hình 2: Từ menu của Google Sheet, chọn Get Add-Ons

 

Hình 3: Tìm Add On tên là Geocode by Awesome Table

Hình 3: Tìm Add On tên là Geocode by Awesome Table

 

Hình 4: Tiến hành cài đặt AddOn

Hình 4: Tiến hành cài đặt AddOn

 

Hình 5: Addon sẽ yêu cầu cung cấp một số quyền, cấp cho nó thôi (Đây là lý do tại sao nên dùng tài khoản gmail trắng cho an toàn)

Hình 5: Addon sẽ yêu cầu cung cấp một số quyền, cấp cho nó thôi (Đây là lý do tại sao nên dùng tài khoản gmail trắng cho an toàn)

 

Hình 6: Sau khi cài xong, vào Add-Ons trên menu, chọn Geocode by Awesome Table, chọn Start Geocoding

Hình 6: Sau khi cài xong, vào Add-Ons trên menu, chọn Geocode by Awesome Table, chọn Start Geocoding

 

Hình 7: Một cột hiện lên phía bên phải, chọn Sheet và cột chứa địa chỉ, nhấn GeoCode

Hình 7: Một cột hiện lên phía bên phải, chọn Sheet và cột chứa địa chỉ, nhấn GeoCode

Đợi xíu, để add on chạy

Hình 8: Khi chạy xong, ngay bên cạnh cột địa chỉ sẽ là cột vĩ độ và kinh độ

Hình 8: Khi chạy xong, ngay bên cạnh cột địa chỉ sẽ là cột vĩ độ và kinh độ

Tải file trên về, dạng xlsx

Lưu ý: có những cột vĩ độ và kinh độ được tô màu đỏ hoặc rỗng, lỗi này là do địa chỉ nhập chưa đủ chi tiết (thiếu quận huyện, tên thành phố) hoặc không có địa chỉ. Bạn nên bổ sung địa chỉ thủ công rồi chạy lại là okie. Ở đây mình tạm bỏ qua bước này cho đỡ dài.

Mở trên Tableau

Mở Tableau, chọn nguồn dữ liệu là Microsoft Excel, và chọn file vừa tải về.

Trên Work Sheet, chúng ta đã thấy mesure Latitude và Longitude. Kéo Longitude vào Columns, kéo Latitude vào Row.

Trên menu trên cùng của Tableau, chọn Analysis, bỏ chọn Aggregate Measures, ta nhận được một bản đồ như sau:

Kéo Loại trường vào mark Color, kéo Tên trường vào Tooltip cho có tí màu mè dễ nhìn.

Vậy là công việc đã hoàn tất.

Hình 9: Kết quả

Hình 9: Kết quả

 

Ghi chú: có một số trường chỉ ghi mỗi tên đường phố, nên nếu bạn không làm sạch dữ liệu (bổ sung quận huyện, thành phố), Geocode không nhận diện được địa chỉ chính xác. Trường học đó sẽ bị nhảy qua tỉnh khác, thậm chí vào cả Sài Gòn

Bài viết khác