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 Thông tin chi tiết về địa điểm và Data Studio. Khai thác giá trị của dữ liệu vị trí bằng cách hỗ trợ các bên liên quan không có chuyên môn kỹ thuật tự tìm câu trả lời cho thắc mắc của họ. Hướng dẫn này trình bày cách biến báo cáo tĩnh thành công cụ tương tác, kiểu bản đồ nhiệt để phân tích thị trường mà không cần phải 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à nghiệp vụ thông minh.
Việc áp dụng mẫu kiến trúc này mang lại một số lợi ích chính:
- Trình bày dữ liệu trực quan: Chuyển đổi dữ liệu Thông tin chi tiết về địa điểm thành bản đồ và biểu đồ tương tác, giúp truyền tải ngay mật độ và xu hướng không gian.
- 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à lập kế hoạch bất động sản, lọc dữ liệu một cách linh động bằng cách sử dụng các tham số được xác định trước (ví dụ: thay đổi "Thành phố" hoặc "Thời gian trong ngày" bằ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 Data Studio cho phép bạn phân phối những thông tin chi tiết mang tính tương tác này một cách an toàn.
Quy trình giải pháp
Quy trình làm việc sau đây thiết lập một cấu trúc báo cáo hiệu quả. Nó chuyển từ một đường cơ sở tĩnh sang một ứng dụng hoàn toàn động, đảm bảo tính chính xác của dữ liệu trước khi đưa vào sự phức tạp.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy làm theo những hướng dẫn này để thiết lập Thông tin chi tiết về địa điểm. Bạn cần có quyền truy cập vào Data Studio, 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 Data Studio. Sử dụng Thông tin chi tiết về địa điểm và các chức năng không gian địa lý của BigQuery để tổng hợp dữ liệu vào 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 kết quả truy vấn có thể dùng với loại biểu đồ bản đồ tô màu của Data 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. Ứng dụng này nhắm đến một vị trí cố định (London) và danh mục (Nhà hàng) để 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ề việc 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 lục giác.
Chúng tôi sử dụng phép biến đổi này vì Bản đồ có màu của Data Studio yêu cầu đa giác (hình dạng) để hiển thị 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 độ doanh nghiệp ở một khu vực cụ thể, thay vì vẽ hàng nghìn dấu chấm chồng chéo.
Lưu ý về ngưỡng tổng hợp
Tất cả truy vấn Thông tin chi tiết về địa điểm đều yêu cầu mệnh đề WITH AGGREGATION_THRESHOLD.
Biện pháp 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ẽ bị bỏ qua hoàn toàn khỏi tập kết quả và sẽ xuất hiện trống trên bản đồ của bạn.
Cách triển khai trong Data 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 Project ID (Mã dự án) thanh toán của bạn.
- Dán Truy vấn cơ sở tĩnh ở trên vào trình chỉnh sửa.
- Xoá các thông số Sử dụng SQL cũ, Bật phạm vi ngày và Bật đị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 Data Studio để nhận dạng chính xác dữ liệu ranh giới H3:
- Thêm hình ảnh Bản đồ tô màu vào canvas báo cáo, trong 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 Văn bản (ABC), hãy sử dụng trình đơn thả xuống để chọn Địa lý > 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 riêng biệ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). - Liên kết trường
restaurant_countvới 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 (màu mặc định) cho biết ô có số lượng nhà hàng cao hơn.

Bước 2: Triển khai thông số động
Để báo cáo có tính tương tác, chúng ta sẽ thêm các chế độ kiểm soát vào báo cáo để cho phép người dùng 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.
Để làm được điều này, bạn sẽ truyền trực tiếp các tham số do người dùng chọn vào một truy vấn Thông tin chi tiết về địa điểm đã sửa đổi trong thời gian chạy. Trong trình chỉnh sửa nguồn dữ liệu của Data Studio, bạn phải xác định rõ ràng các tham số này dưới dạng biến đã nhập.
Trong Data Studio, hãy chọn trình đơn Tài nguyên, sau đó nhấp vào Quản lý 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 SQL tuỳ chỉnh của BigQuery 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 THÔNG SỐ. Chúng ta sẽ thêm 3 tham số có 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ừ Data 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ả ba tham số, hãy sửa đổi kết nối SQL tuỳ chỉnh của 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 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 ý các biến mới như @p_hour_of_day, 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 tham số này cho người dùng cuối:
- Thêm 3 thành phần điều khiển Danh sách thả xuống vào báo cáo.
- Đối với mỗi bộ điều khiển, hãy đặt Trường điều khiển tương ứng với các tham số bạn mới tạo:
- Điều khiển 1:
p_locality - Điều khiển 2:
p_day_of_week - Điều khiển 3:
p_hour_of_day
- Đ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ế độ điều khiển thả xuống sẽ kích hoạt Data Studio tìm nạp dữ liệu được yêu cầu từ Thông tin chi tiết về địa điểm 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 Data Studio để chia sẻ báo cáo. Điều này cho phép người xem cập nhật linh động hình ảnh trực quan dựa trên các tham 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ó thể mở rộng và có tính 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 của Thông tin chi tiết về địa điểm cho Data Studio. Kiến trúc này giúp tránh được những rủi ro khi cố gắng trực quan hoá các tập dữ liệu thô khổng lồ, đồng thời giúp người dùng cuối 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 doanh nghiệp) gần như theo thời gian thực. Đây là một công cụ mạnh mẽ 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 giản đồ Thông tin chi tiết về địa điểm:
- Phân tích đối thủ cạnh tranh linh động: Tạo một tham 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 nhằm xem mức độ bão hoà tương đối của họ trong một thị trường. Xem bài viết Giới thiệu về dữ liệu của Thông tin chi tiết về địa điểm để biết dữ liệu thương hiệu có sẵn hay không. - Lựa chọn địa điểm 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 linh độ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 khách hàng 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 khu vực nghiên cứu tuỳ chỉnh.
- Dựa trên bán kính: Tạo 3 tham 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 Google Maps Platform, bao gồm cả Geocoding API. Trong truy vấn, hãy chèn các giá trị 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 (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 tìm kiếm trong BigQuery chứa hình dạng hình học và tên thân thiện (ví dụ: "Khu vực A"). Tạo tham số văn bản
p_zone_nametrong Data Studio để cho phép người dùng chọn vùng và sử dụng truy vấn con để truy xuất hình học cho hàmST_CONTAINS.
- Dựa trên bán kính: Tạo 3 tham 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 Google Maps Platform, bao gồm cả Geocoding API. Trong truy vấn, hãy chèn các giá trị này vào hàm ST_DWITHIN:
Người đóng góp
- David Szajngarten | Kỹ sư quan hệ với nhà phát triển
- Henrik Valve | Kỹ sư DevX