Ringkasan

Dokumen ini menjelaskan cara membuat laporan geospasial dinamis menggunakan Places Insights dan Data Studio. Maksimalkan nilai data lokasi Anda dengan memberdayakan pemangku kepentingan non-teknis untuk menjawab pertanyaan mereka sendiri. Panduan ini menunjukkan cara mengubah laporan statis menjadi alat interaktif bergaya peta panas untuk analisis pasar, tanpa harus menulis SQL untuk setiap permintaan. Aktifkan akses ke data lokasi yang kompleks, sehingga menjembatani kesenjangan antara data engineering dan business intelligence.
Mengadopsi pola arsitektur ini akan memberikan beberapa manfaat utama:
- Representasi Data Visual: Mengubah data Places Insights menjadi peta dan diagram interaktif yang langsung mengomunikasikan kepadatan dan tren spasial.
- Eksplorasi yang Disederhanakan tanpa SQL: Memungkinkan anggota tim, seperti analis pasar atau perencana real estate, untuk memfilter data secara dinamis menggunakan parameter yang telah ditentukan (misalnya, mengubah "Kota" atau "Waktu dalam Sehari" menggunakan menu dropdown). Mereka dapat menjelajahi data tanpa harus menulis satu baris SQL pun.
- Kolaborasi yang Lancar: Fitur berbagi Data Studio standar memungkinkan Anda mendistribusikan insight interaktif ini dengan aman.
Alur Kerja Solusi
Alur kerja berikut menetapkan arsitektur pelaporan yang berperforma tinggi. Alur kerja ini bergerak dari dasar statis ke aplikasi yang sepenuhnya dinamis, sehingga memastikan kebenaran data sebelum memperkenalkan kompleksitas.
Prasyarat
Sebelum memulai, ikuti petunjuk berikut untuk menyiapkan Places Insights. Anda memerlukan akses ke Data Studio, yang merupakan alat tanpa biaya.
Langkah 1: Menetapkan Dasar Geospasial Statis
Sebelum memperkenalkan interaktivitas, tetapkan kueri dasar dan pastikan kueri tersebut dirender dengan benar di Data Studio. Gunakan Places Insights dan kemampuan geospasial BigQuery untuk menggabungkan data ke dalam petak heksagonal menggunakan sistem pengindeksan H3. Tindakan ini akan menghasilkan output kueri yang dapat digunakan dengan jenis diagram peta terisi Data Studio untuk visualisasi.
1.1 Menghubungkan Data
Gunakan kueri statis berikut untuk membuat koneksi awal. Kueri ini menargetkan lokasi (London) dan kategori (Restoran) tetap untuk memvalidasi pipeline data.
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;
Catatan tentang Agregasi Spasial
Kueri ini menggunakan fungsi dari
CARTO Analytics
Toolbox (carto-os) yang tersedia secara publik di Google Cloud BigQuery. Fungsi
H3_FROMGEOGPOINT mengonversi titik lokasi tertentu menjadi sel H3
,
yaitu sistem yang membagi dunia menjadi sel petak heksagonal.
Kami menggunakan transformasi ini karena Peta Terisi Data Studio memerlukan poligon (bentuk) untuk merender warna. Dengan mengonversi titik menjadi bentuk heksagonal, kita dapat memvisualisasikan kepadatan bisnis di area tertentu, bukan memplot ribuan titik yang tumpang-tindih.
Catatan tentang Batas Agregasi
Semua kueri Places Insights memerlukan klausa WITH AGGREGATION_THRESHOLD.
Perlindungan privasi ini memastikan bahwa data hanya ditampilkan jika jumlah gabungannya adalah 5 atau lebih tinggi.
Dalam konteks visualisasi ini, jika sel petak H3 berisi kurang dari 5 restoran, sel tersebut akan sepenuhnya dihilangkan dari kumpulan hasil dan akan muncul kosong di peta Anda.
Untuk mengimplementasikan hal ini di Data Studio:
- Buat Laporan Kosong baru.
- Pilih BigQuery sebagai konektor data.
- Pilih KUERI KUSTOM dari menu sebelah kiri dan pilih ID Project penagihan Anda.
- Tempelkan Kueri Dasar Statis di atas ke editor.
- Hapus parameter Gunakan legacy SQL, Aktifkan rentang tanggal, dan Aktifkan email penampil alamat.
- Klik Tambahkan.
1.2 Mengonfigurasi Visualisasi Geospasial
Setelah data terhubung, konfigurasi Data Studio agar mengenali data batas H3 dengan benar:
- Tambahkan visualisasi Peta Terisi ke kanvas laporan, dari menu Tambahkan diagram.
- Pastikan kolom
h3_geo, yang berisi geometri poligon, ditetapkan ke jenis data Geospasial.- Klik ikon Edit sumber data (pensil) di samping nama koneksi Anda.
- Jika
h3_geoditetapkan ke Teks (ABC), gunakan menu dropdown untuk memilih Geo > Geospasial, - Klik Selesai.
- Petakan kolom
h3_indexke Lokasi (bertindak sebagai ID unik). - Petakan kolom
h3_geoke Kolom Geospasial (bertindak sebagai geometri poligon). - Petakan kolom
restaurant_countke Metrik warna.
Tindakan ini akan merender peta kepadatan restoran berdasarkan sel H3. Warna biru yang lebih gelap (opsi warna default) menunjukkan sel dengan jumlah restoran yang lebih tinggi.

Langkah 2: Mengimplementasikan Parameter Dinamis
Untuk membuat laporan interaktif, kita akan menambahkan kontrol ke laporan yang memungkinkan pengguna memilih dari opsi berikut:
- Lokalitas: Mengontrol kota yang menjadi fokus laporan.
- Hari dalam seminggu: Memfilter tempat berdasarkan hari buka, dengan memanfaatkan catatan
regular_opening_hoursdalam skema. - Jam dalam sehari: Memfilter tempat berdasarkan jam operasionalnya dengan membandingkan kolom
start_timedanend_time.
Untuk mencapainya, Anda akan meneruskan parameter yang dipilih pengguna langsung ke kueri Places Insights yang diubah saat runtime. Di editor sumber data Data Studio, Anda harus secara eksplisit menentukan parameter ini sebagai variabel yang diketik.
Di Data Studio, pilih menu Resource, lalu klik Manage added data sources. Dalam panel yang muncul, pilih EDIT pada sumber data SQL Kustom BigQuery yang kita tambahkan sebelumnya.
Di jendela Edit Connection, pilih ADD A PARAMETER. Kita akan menambahkan tiga parameter, dengan nilai di bawah.
| Nama Parameter | Jenis Data | Nilai yang Diizinkan | Daftar nilai (Harus sama persis dengan DB) | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
p_locality |
Teks | Daftar nilai |
|
||||||||||||||||
p_day_of_week |
Teks | Daftar nilai |
|
||||||||||||||||
p_hour_of_day |
Teks | Daftar nilai |
|
Contoh konfigurasi untuk parameter p_hour_of_day.

Untuk parameter p_hour_of_day, perhatikan kolom Value dengan cermat.
Karena kueri SQL menggunakan CAST(@p_hour_of_day AS TIME), nilai yang diteruskan dari Data Studio harus dalam format HH:MM:SS yang ketat (jam 24 jam).
Setelah menyiapkan dan menyimpan ketiga parameter, ubah koneksi SQL Kustom BigQuery untuk mereferensikan variabel ini menggunakan sintaksis @.
Hal ini dilakukan dengan mengklik Edit Connection, dan menempelkan kueri yang diubah di bawah:
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;
Klik Hubungkan Kembali untuk menyimpan hasil edit. Dalam kueri yang diubah, perhatikan variabel baru seperti @p_hour_of_day, yang berkorelasi dengan nama parameter yang baru saja kita siapkan.
Kembali ke kanvas laporan untuk menampilkan parameter ini kepada pengguna akhir:
- Tambahkan tiga kontrol Daftar dropdown ke laporan Anda.
- Untuk setiap kontrol, tetapkan Kolom kontrol agar sesuai dengan parameter yang baru Anda buat:
- Kontrol 1:
p_locality - Kontrol 2:
p_day_of_week - Kontrol 3:
p_hour_of_day
- Kontrol 1:
Laporan akhir Anda akan terlihat seperti berikut. Mengubah nilai di salah satu kontrol dropdown akan memicu Data Studio untuk mengambil data yang diminta dari Places Insights sebelum memvisualisasikannya di peta.

Langkah 3: Membagikan hasil
Gunakan alat berbagi yang ada di Data Studio untuk membagikan laporan. Hal ini akan memungkinkan penonton mengupdate visualisasi secara dinamis berdasarkan parameter yang mereka pilih dari daftar dropdown Anda.
Kesimpulan
Pola ini membuat alat pelaporan interaktif yang skalabel dan memanfaatkan daya komputasi BigQuery untuk menayangkan data Places Insights yang digabungkan ke Data Studio. Arsitektur ini menghindari masalah saat mencoba memvisualisasikan set data mentah yang besar dan memberi pengguna akhir fleksibilitas untuk menjelajahi data di berbagai dimensi, seperti waktu, lokasi, dan jenis bisnis, dalam waktu hampir real-time. Ini adalah alat yang canggih untuk memberikan fleksibilitas kepada pemangku kepentingan non-teknis Anda dalam menjelajahi data.
Langkah Berikutnya
Jelajahi variasi laporan dinamis lainnya dengan membuat parameter untuk berbagai bagian skema Places Insights:
- Analisis Pesaing Dinamis: Buat parameter untuk nama
brandagar pengguna dapat langsung mengalihkan peta panas antara berbagai pesaing untuk melihat saturasi relatif mereka di pasar. Lihat Tentang data Places Insights data untuk mengetahui ketersediaan data merek. - Pemilihan Lokasi Interaktif: Tambahkan parameter untuk
price_level(misalnya, 'Sedang' vs. 'Mahal') danratingminimum untuk memungkinkan tim real estate memfilter area secara dinamis yang cocok dengan profil demografi tertentu. - Area Jangkauan Kustom: Daripada memfilter berdasarkan nama kota, izinkan pengguna menentukan area studi kustom.
- Berbasis radius: Buat tiga parameter numerik: p_latitude, p_longitude, dan p_radius_meters. Koordinat dapat diperoleh dari Google Maps Platform API, termasuk Geocoding API. Dalam kueri Anda, masukkan koordinat ini ke dalam fungsi ST_DWITHIN:
ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
- Berbasis poligon: Untuk bentuk kustom yang kompleks (seperti wilayah penjualan), pengguna tidak dapat dengan mudah memasukkan teks geometri. Sebagai gantinya, buat tabel pencarian di BigQuery yang berisi geometri bentuk dan nama yang mudah diingat (misalnya, "Zona A"). Buat parameter teks
p_zone_namedi Data Studio untuk memungkinkan pengguna memilih zona, dan gunakan subkueri untuk mengambil geometri untuk fungsiST_CONTAINS.
- Berbasis radius: Buat tiga parameter numerik: p_latitude, p_longitude, dan p_radius_meters. Koordinat dapat diperoleh dari Google Maps Platform API, termasuk Geocoding API. Dalam kueri Anda, masukkan koordinat ini ke dalam fungsi ST_DWITHIN:
Kontributor
- David Szajngarten | Developer Relations Engineer
- Henrik Valve | DevX Engineer