Tổng quan

Tài liệu này mô tả cách tạo báo cáo không gian địa lý động bằng cách sử dụng Thông tin chi tiết về địa điểm và Looker Studio. Khai thác giá trị của dữ liệu vị trí bằng cách cho phép các bên liên quan không có chuyên môn kỹ thuật tự trả lời câu hỏi của họ. Hướng dẫn này trình bày cách chuyển báo cáo tĩnh thành các công cụ tương tác theo kiểu bản đồ nhiệt để phân tích thị trường mà không cần viết SQL cho mọi yêu cầu. Cho phép truy cập vào dữ liệu vị trí phức tạp, thu hẹp khoảng cách giữa kỹ thuật dữ liệu và thông tin kinh doanh.
Việc áp dụng mẫu kiến trúc này mang lại một số lợi ích chính:
- Biểu diễn dữ liệu trực quan: Chuyển đổi dữ liệu trong Thông tin chi tiết về địa điểm thành các biểu đồ và bản đồ tương tác giúp truyền đạt ngay mật độ không gian và xu hướng.
- Khám phá đơn giản mà không cần SQL: Cho phép các thành viên trong nhóm (chẳng hạn như nhà phân tích thị trường hoặc nhà hoạch định bất động sản) lọc dữ liệu một cách linh hoạt bằng các thông số được xác định trước (ví dụ: thay đổi "Thành phố" hoặc "Thời gian trong ngày" bằng cách sử dụng trình đơn thả xuống). Họ có thể khám phá dữ liệu mà không cần viết một dòng SQL nào.
- Cộng tác liền mạch: Các tính năng chia sẻ tiêu chuẩn của Looker Studio cho phép bạn phân phối một cách an toàn những thông tin chi tiết mang tính tương tác này.
Quy trình giải pháp
Quy trình sau đây thiết lập một cấu trúc báo cáo hiệu quả. Ứng dụng này chuyển từ đường cơ sở tĩnh sang một ứng dụng hoàn toàn linh hoạt, đảm bảo tính chính xác của dữ liệu trước khi giới thiệu độ phức tạp.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy làm theo các hướng dẫn này để thiết lập Thông tin chi tiết về địa điểm. Bạn sẽ cần có quyền truy cập vào Looker Studio, đây là một công cụ miễn phí.
Bước 1: Thiết lập đường cơ sở không gian địa lý tĩnh
Trước khi giới thiệu tính tương tác, hãy thiết lập một truy vấn cơ sở và đảm bảo truy vấn đó hiển thị chính xác trong Looker Studio. Sử dụng Places Insights và các chức năng không gian địa lý của BigQuery để tổng hợp dữ liệu thành các lưới lục giác bằng hệ thống lập chỉ mục H3. Thao tác này sẽ tạo ra một đầu ra truy vấn có thể dùng với loại biểu đồ bản đồ được tô màu của Looker Studio để trực quan hoá.
1.1 Kết nối dữ liệu
Sử dụng truy vấn tĩnh sau đây để thiết lập kết nối ban đầu. Thử nghiệm này nhắm đến một vị trí (London) và danh mục (Nhà hàng) cố định để xác thực quy trình dữ liệu.
SELECT
h3_index,
`carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
restaurant_count
FROM (
SELECT WITH AGGREGATION_THRESHOLD
`carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
COUNT(*) AS restaurant_count
FROM
-- Note: Change 'gb' to your target country code (e.g., 'us')
`places_insights___gb.places`
WHERE
'London' IN UNNEST(locality_names)
AND 'restaurant' IN UNNEST(types)
GROUP BY
h3_index
)
ORDER BY
restaurant_count DESC;
Lưu ý về tính năng Tổng hợp không gian
Truy vấn này sử dụng một hàm trong Hộp công cụ Analytics của CARTO (carto-os) được cung cấp công khai trong Google Cloud BigQuery. Hàm H3_FROMGEOGPOINT chuyển đổi các điểm vị trí cụ thể thành ô H3, một hệ thống chia thế giới thành các ô lưới hình lục giác.
Chúng tôi sử dụng phép biến đổi này vì Bản đồ tô màu của Looker Studio yêu cầu đa giác (hình dạng) để kết xuất màu. Bằng cách chuyển đổi các điểm thành hình lục giác, chúng ta có thể hình dung mật độ của các doanh nghiệp trong một khu vực cụ thể, thay vì vẽ hàng nghìn dấu chấm chồng lên nhau.
Lưu ý về Ngưỡng tổng hợp
Tất cả các truy vấn về Thông tin chi tiết về địa điểm đều yêu cầu mệnh đề WITH AGGREGATION_THRESHOLD.
Tính năng bảo vệ quyền riêng tư này đảm bảo rằng dữ liệu chỉ được trả về nếu số lượng tổng hợp là 5 trở lên.
Trong bối cảnh của hình ảnh trực quan này, nếu một ô lưới H3 chứa ít hơn 5 nhà hàng, thì ô đó sẽ hoàn toàn bị loại khỏi tập kết quả và sẽ xuất hiện dưới dạng ô trống trên bản đồ của bạn.
Cách triển khai việc này trong Looker Studio:
- Tạo một Báo cáo trống mới.
- Chọn BigQuery làm trình kết nối dữ liệu.
- Chọn CUSTOM QUERY (TRUY VẤN TUỲ CHỈNH) trong trình đơn bên trái rồi chọn Mã dự án thanh toán.
- Dán Static Base Query (Truy vấn cơ sở tĩnh) ở trên vào trình chỉnh sửa.
- Xoá Sử dụng SQL cũ, Bật phạm vi ngày và Bật thông số địa chỉ email của người xem.
- Nhấp vào Thêm.
1.2 Định cấu hình tính năng trực quan hoá không gian địa lý
Sau khi kết nối dữ liệu, hãy định cấu hình Looker Studio để nhận dạng chính xác dữ liệu ranh giới H3:
- Thêm một hình ảnh trực quan Bản đồ được tô màu vào canvas báo cáo, từ trình đơn Thêm biểu đồ.
- Đảm bảo rằng trường
h3_geo(chứa hình học đa giác) được đặt thành kiểu dữ liệu Không gian địa lý.- Nhấp vào biểu tượng Chỉnh sửa nguồn dữ liệu (bút chì) bên cạnh tên mối kết nối.
- Nếu
h3_geođược đặt thành Text (Văn bản) (ABC), hãy dùng trình đơn thả xuống để chọn Geo (Địa lý) > Geospatial (Không gian địa lý), - Nhấp vào Xong.
- Liên kết trường
h3_indexvới Vị trí (đóng vai trò là giá trị nhận dạng duy nhất). - Liên kết trường
h3_geovới Trường không gian địa lý (đóng vai trò là hình học đa giác). - Ánh xạ trường
restaurant_countđến Chỉ số màu.
Thao tác này sẽ hiển thị bản đồ mật độ nhà hàng theo ô H3. Màu xanh dương đậm hơn (lựa chọn màu mặc định) cho biết một ô có số lượng nhà hàng cao hơn.

Bước 2: Triển khai Tham số động
Để báo cáo có tính tương tác, chúng tôi sẽ thêm các chế độ kiểm soát vào báo cáo để người dùng có thể chọn trong số các lựa chọn sau:
- Địa phương: Kiểm soát thành phố mà báo cáo tập trung vào.
- Ngày trong tuần: Lọc địa điểm dựa trên ngày mở cửa, tận dụng bản ghi
regular_opening_hourstrong giản đồ. - Giờ trong ngày: Lọc các địa điểm dựa trên giờ hoạt động bằng cách so sánh với các trường
start_timevàend_time.
Để đạt được điều này, bạn sẽ truyền trực tiếp các thông số do người dùng chọn vào một truy vấn Places Insights đã sửa đổi trong thời gian chạy. Trong trình chỉnh sửa nguồn dữ liệu của Looker Studio, bạn phải xác định rõ các thông số này dưới dạng các biến được nhập.
Trong Looker Studio, hãy chọn trình đơn Tài nguyên, rồi nhấp vào Quản lý các nguồn dữ liệu đã thêm. Trong bảng điều khiển xuất hiện, hãy chọn EDIT đối với nguồn dữ liệu BigQuery Custom SQL mà chúng ta đã thêm trước đó.
Trong cửa sổ Chỉnh sửa kết nối, hãy chọn THÊM MỘT THÔNG SỐ. Chúng ta sẽ thêm 3 tham số với các giá trị bên dưới.
| Tên thông số | Loại dữ liệu | Giá trị được phép | Danh sách giá trị (Phải khớp chính xác với cơ sở dữ liệu) | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
p_locality |
Văn bản | Danh sách giá trị |
|
||||||||||||||||
p_day_of_week |
Văn bản | Danh sách giá trị |
|
||||||||||||||||
p_hour_of_day |
Văn bản | Danh sách giá trị |
|
Ví dụ về cấu hình cho tham số p_hour_of_day.

Đối với tham số p_hour_of_day, hãy chú ý đến cột Value.
Vì truy vấn SQL sử dụng CAST(@p_hour_of_day AS TIME), nên các giá trị được truyền từ Looker Studio phải ở định dạng HH:MM:SS nghiêm ngặt (đồng hồ 24 giờ).
Sau khi bạn thiết lập và lưu cả 3 thông số, hãy sửa đổi mối kết nối SQL tuỳ chỉnh BigQuery để tham chiếu các biến này bằng cú pháp @.
Bạn có thể thực hiện việc này bằng cách nhấp vào Chỉnh sửa mối kết nối rồi dán truy vấn đã sửa đổi bên dưới:
SELECT
h3_index,
`carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
restaurant_count
FROM (
SELECT WITH AGGREGATION_THRESHOLD
`carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
COUNT(*) AS restaurant_count
FROM
`places_insights___gb.places`
WHERE
-- Dynamic locality filter based on parameter
@p_locality IN UNNEST(locality_names)
AND 'restaurant' IN UNNEST(types)
AND business_status = 'OPERATIONAL'
AND EXISTS (
SELECT 1
FROM UNNEST(
CASE @p_day_of_week
WHEN 'monday' THEN regular_opening_hours.monday
WHEN 'tuesday' THEN regular_opening_hours.tuesday
WHEN 'wednesday' THEN regular_opening_hours.wednesday
WHEN 'thursday' THEN regular_opening_hours.thursday
WHEN 'friday' THEN regular_opening_hours.friday
WHEN 'saturday' THEN regular_opening_hours.saturday
WHEN 'sunday' THEN regular_opening_hours.sunday
END
) AS hours
WHERE hours.start_time <= CAST(@p_hour_of_day AS TIME)
AND hours.end_time >= TIME_ADD(CAST(@p_hour_of_day AS TIME), INTERVAL 1 HOUR)
)
GROUP BY
h3_index
)
ORDER BY
restaurant_count DESC;
Nhấp vào Kết nối lại để lưu nội dung chỉnh sửa. Trong truy vấn đã sửa đổi, hãy lưu ý đến các biến mới, chẳng hạn như @p_hour_of_day. Các biến này tương quan với tên tham số mà chúng ta vừa thiết lập.
Quay lại canvas báo cáo để hiển thị các thông số này cho người dùng cuối:
- Thêm 3 chế độ kiểm soát Danh sách thả xuống vào báo cáo.
- Đối với mỗi thành phần, hãy đặt Trường điều khiển tương ứng với các thông số bạn vừa tạo:
- Chế độ điều khiển 1:
p_locality - Nhóm đối chứng 2:
p_day_of_week - Điều khiển 3:
p_hour_of_day
- Chế độ điều khiển 1:
Báo cáo cuối cùng của bạn sẽ có dạng như sau. Việc thay đổi một giá trị trong một trong các chế độ kiểm soát thả xuống sẽ kích hoạt Looker Studio tìm nạp dữ liệu được yêu cầu từ Places Insights trước khi trực quan hoá trên bản đồ.

Bước 3: Chia sẻ kết quả
Sử dụng công cụ chia sẻ được tích hợp trong Looker Studio để chia sẻ báo cáo. Nhờ đó, người xem có thể tự động cập nhật hình ảnh trực quan dựa trên các thông số mà họ chọn trong danh sách thả xuống của bạn.
Kết luận
Mẫu này tạo ra một công cụ báo cáo có khả năng mở rộng và tương tác, tận dụng sức mạnh tính toán của BigQuery để cung cấp dữ liệu tổng hợp về Thông tin chi tiết về địa điểm cho Looker Studio. Cấu trúc này giúp tránh được những sai lầm khi cố gắng trực quan hoá các tập dữ liệu thô khổng lồ và mang đến cho người dùng cuối sự linh hoạt để khám phá dữ liệu trên nhiều phương diện, chẳng hạn như thời gian, vị trí và loại hình kinh doanh, gần như theo thời gian thực. Đây là một công cụ hữu ích giúp các bên liên quan không có kiến thức kỹ thuật có thể linh hoạt khám phá dữ liệu.
Các bước tiếp theo
Khám phá các biến thể khác của báo cáo động bằng cách tham số hoá các phần khác nhau của lược đồ Thông tin chi tiết về địa điểm:
- Phân tích đối thủ cạnh tranh linh hoạt: Tạo một thông số cho tên
brandđể cho phép người dùng chuyển đổi ngay bản đồ nhiệt giữa các đối thủ cạnh tranh khác nhau để xem độ bão hoà tương đối của họ trên thị trường. Xem phần Giới thiệu về dữ liệu Thông tin chi tiết về địa điểm để biết thông tin về dữ liệu thương hiệu. - Lựa chọn trang web tương tác: Thêm các tham số cho
price_level(ví dụ: "Trung bình" so với "Đắt") vàratingtối thiểu để cho phép các nhóm bất động sản lọc động những khu vực phù hợp với hồ sơ nhân khẩu học cụ thể. - Khu vực thu hút tuỳ chỉnh: Thay vì lọc theo tên thành phố, hãy cho phép người dùng xác định các khu vực nghiên cứu tuỳ chỉnh.
- Dựa trên bán kính: Tạo 3 thông số dạng số: p_latitude, p_longitude và p_radius_meters. Bạn có thể lấy toạ độ từ các API của Nền tảng Google Maps, bao gồm cả Geocoding API. Trong truy vấn, hãy chèn các hàm này vào hàm ST_DWITHIN:
ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
- Dựa trên đa giác: Đối với các hình dạng tuỳ chỉnh phức tạp (chẳng hạn như lãnh thổ bán hàng), người dùng không thể dễ dàng nhập văn bản hình học. Thay vào đó, hãy tạo một bảng tra cứu trong BigQuery chứa các hình học dạng đa giác và tên thân thiện (ví dụ:
"Zone A"). Tạo một tham số văn bản
p_zone_nametrong Looker Studio để cho phép người dùng chọn khu vực, đồng thời sử dụng một truy vấn phụ để truy xuất hình học cho hàmST_CONTAINS.
- Dựa trên bán kính: Tạo 3 thông số dạng số: p_latitude, p_longitude và p_radius_meters. Bạn có thể lấy toạ độ từ các API của Nền tảng Google Maps, bao gồm cả Geocoding API. Trong truy vấn, hãy chèn các hàm này vào hàm ST_DWITHIN:
Người đóng góp
- David Szajngarten | Kỹ sư quan hệ nhà phát triển
- Henrik Valve | Kỹ sư DevX