Ringkasan

Dokumen ini menjelaskan cara membuat laporan geospasial dinamis menggunakan Places Insights dan Data Studio. Manfaatkan 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. Memungkinkan akses ke data lokasi yang kompleks, menjembatani kesenjangan antara rekayasa data dan business intelligence.
Dengan mengadopsi pola arsitektur ini, Anda akan mendapatkan 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, memfilter data secara dinamis menggunakan parameter yang telah ditentukan (misalnya, mengubah "Kota" atau "Waktu" menggunakan dropdown). Mereka dapat menjelajahi data tanpa perlu menulis satu baris kode SQL pun.
- Kolaborasi yang Lancar: Fitur berbagi standar Data Studio memungkinkan Anda mendistribusikan insight interaktif ini dengan aman.
Alur Kerja Solusi
Alur kerja berikut membuat arsitektur pelaporan yang berperforma tinggi. Aplikasi ini beralih dari dasar pengukuran 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: Tetapkan Dasar Pengukuran Geospasial Statis
Sebelum memperkenalkan interaktivitas, buat 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. Pipeline ini menargetkan lokasi tetap (London) dan kategori (Restoran) 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 Analytics Toolbox (carto-os) CARTO 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 Berisi di Data Studio memerlukan poligon (bentuk) untuk merender warna. Dengan mengonversi titik menjadi bentuk heksagonal, kita dapat memvisualisasikan kepadatan bisnis di area tertentu, bukan memetakan ribuan titik yang tumpang-tindih.
Catatan tentang Nilai Minimum Agregasi
Semua kueri Places Insights memerlukan klausa WITH AGGREGATION_THRESHOLD.
Perlindungan privasi ini memastikan bahwa data hanya ditampilkan jika jumlah gabungan adalah 5 atau lebih tinggi.
Dalam konteks visualisasi ini, jika sel petak H3 berisi kurang dari 5 restoran, sel tersebut akan dihilangkan sepenuhnya dari set hasil dan akan muncul kosong di peta Anda.
Untuk menerapkan ini di Data Studio:
- Buat Laporan Kosong baru.
- Pilih BigQuery sebagai konektor data.
- Pilih CUSTOM QUERY dari menu sebelah kiri, lalu pilih Project ID penagihan Anda.
- Tempel Static Base Query di atas ke dalam editor.
- Hapus centang pada parameter Use Legacy SQL, Enable date range, dan Enable viewer email address.
- Klik Tambahkan.
1.2 Mengonfigurasi Visualisasi Geospasial
Setelah data terhubung, konfigurasikan Data Studio untuk mengenali data batas H3 dengan benar:
- Tambahkan visualisasi Peta Berarsir ke kanvas laporan, dari menu Tambahkan diagram.
- Pastikan kolom
h3_geoAnda, 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 drop-down untuk memilih Geo > Geospasial, - Klik Selesai.
- Petakan kolom
h3_indexke Location (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: Terapkan Parameter Dinamis
Untuk membuat laporan menjadi 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
data
regular_opening_hoursdalam skema. - Jam: Memfilter tempat berdasarkan jam operasionalnya dengan
membandingkan kolom
start_timedanend_time.
Untuk melakukannya, Anda akan meneruskan parameter yang dipilih pengguna langsung ke kueri Places Insights yang dimodifikasi saat runtime. Di editor sumber data Data Studio, Anda harus menentukan parameter ini secara eksplisit sebagai variabel yang diketik.
Di Data Studio, pilih menu Aset, lalu klik Kelola sumber data yang ditambahkan. Dalam panel yang muncul, pilih EDIT di sumber data BigQuery Custom SQL 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 baik-baik kolom Value.
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 Anda menyiapkan dan menyimpan ketiga parameter, ubah koneksi SQL Kustom BigQuery Anda untuk mereferensikan variabel ini menggunakan sintaksis @.
Hal ini dilakukan dengan mengklik Edit Connection, dan menempelkan kueri yang telah 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 Menu drop-down ke laporan Anda.
- Untuk setiap kontrol, tetapkan Kolom kontrol agar sesuai dengan parameter yang baru dibuat:
- 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 drop-down akan memicu Data Studio untuk mengambil data yang diminta dari Places Insights sebelum memvisualisasikannya di peta.

Langkah 3: Bagikan hasilnya
Gunakan alat berbagi yang ada di Data Studio untuk membagikan laporan. Dengan demikian, pelihat dapat memperbarui visualisasi secara dinamis berdasarkan parameter yang mereka pilih dari menu drop-down Anda.
Kesimpulan
Pola ini membuat alat pelaporan interaktif yang skalabel dan memanfaatkan kemampuan komputasi BigQuery untuk menyajikan data Places Insights gabungan ke Data Studio. Arsitektur ini menghindari kesulitan dalam mencoba memvisualisasikan set data mentah yang sangat besar dan memberikan fleksibilitas kepada pengguna akhir untuk mengeksplorasi data di berbagai dimensi, seperti waktu, lokasi, dan jenis bisnis, dalam waktu yang hampir real-time. Ini adalah alat yang efektif untuk memberi pemangku kepentingan non-teknis Anda fleksibilitas untuk mengeksplorasi data.
Langkah Berikutnya
Pelajari variasi laporan dinamis lainnya dengan membuat parameter berbagai bagian skema Places Insights:
- Analisis Kompetitor Dinamis: Buat parameter untuk nama
brandagar pengguna dapat langsung beralih heatmap di antara berbagai kompetitor untuk melihat saturasi relatif mereka di pasar. Lihat Tentang data Places Insights untuk mengetahui ketersediaan data merek. - Pemilihan Lokasi Interaktif: Tambahkan parameter untuk
price_level(misalnya, 'Sedang' versus 'Mahal') danratingminimum untuk memungkinkan tim real estate memfilter secara dinamis area yang cocok dengan profil demografis tertentu. - Area Cakupan Kustom: Daripada memfilter menurut 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 API Google Maps Platform, termasuk Geocoding API. Dalam kueri Anda,
masukkan 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 memasukkan teks geometri dengan mudah. Sebagai gantinya, buat tabel pencarian di BigQuery yang berisi geometri bentuk dan nama yang mudah dipahami (misalnya, "Zona A"). Buat parameter teks
p_zone_namedi Data Studio agar pengguna dapat 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 API Google Maps Platform, termasuk Geocoding API. Dalam kueri Anda,
masukkan ini ke dalam fungsi ST_DWITHIN:
Kontributor
- David Szajngarten | Developer Relations Engineer
- Henrik Valve | DevX Engineer