Genel Bakış

Bu belgede, Places Insights ve Data Studio'yu kullanarak dinamik coğrafi raporların nasıl oluşturulacağı açıklanmaktadır. Teknik bilgisi olmayan paydaşların kendi sorularını yanıtlamasını sağlayarak konum verilerinizin değerini ortaya çıkarın. Bu kılavuzda, her istek için SQL yazmak zorunda kalmadan statik raporları Market Analytics için etkileşimli, ısı haritası tarzı araçlara nasıl dönüştüreceğiniz gösterilmektedir. Karmaşık konum verilerine erişimi etkinleştirerek veri mühendisliği ile iş zekası arasındaki boşluğu doldurma
Bu mimari modeli benimsemenin çeşitli avantajları vardır:
- Verileri görsel olarak temsil etme: Places Insights verilerini, mekansal yoğunluğu ve trendleri anında gösteren etkileşimli haritalara ve grafiklere dönüştürür.
- SQL olmadan basitleştirilmiş keşif: Pazar analistleri veya emlak planlamacıları gibi ekip üyelerinin, önceden tanımlanmış parametreleri kullanarak verileri dinamik olarak filtrelemesine olanak tanır (ör. açılır listeleri kullanarak "Şehir" veya "Günün Saati"ni değiştirme). Tek bir satır SQL yazmadan verileri keşfedebilirler.
- Sorunsuz ortak çalışma: Standart Data Studio paylaşım özellikleri, bu etkileşimli analizleri güvenli bir şekilde dağıtmanıza olanak tanır.
Çözüm İş Akışı
Aşağıdaki iş akışı, yüksek performanslı bir raporlama mimarisi oluşturur. Statik bir temelden tamamen dinamik bir uygulamaya geçerek karmaşıklık eklemeden önce verilerin doğruluğunu sağlar.
Ön koşullar
Başlamadan önce Places Insights'ı ayarlamak için bu talimatları uygulayın. Ücretsiz bir araç olan Data Studio'ya erişiminiz olmalıdır.
1. adım: Statik coğrafi referans noktası oluşturun
Etkileşim eklemeden önce temel bir sorgu oluşturun ve bu sorgunun Data Studio'da doğru şekilde oluşturulduğundan emin olun. H3 dizine ekleme sistemini kullanarak verileri altıgen ızgaralar halinde birleştirmek için Places Insights ve BigQuery'nin coğrafi özelliklerini kullanın. Bu işlem, görselleştirme için Data Studio'nun dolu harita grafik türüyle kullanılabilecek bir sorgu çıkışı oluşturur.
1.1 Verileri Bağlama
İlk bağlantıyı kurmak için aşağıdaki statik sorguyu kullanın. Veri ardışık düzenini doğrulamak için sabit bir konumu (Londra) ve kategoriyi (Restoranlar) hedefler.
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;
Mekansal toplama ile ilgili not
Bu sorgu, Google Cloud BigQuery'de herkese açık olarak sunulan CARTO Analytics Toolbox'taki (carto-os) bir işlevi kullanır. H3_FROMGEOGPOINT işlevi, belirli konum noktalarını H3 hücrelerine dönüştürür. Bu sistem, dünyayı altıgen ızgara hücrelerine böler.
Data Studio'nun Dolgulu Harita özelliği, renkleri oluşturmak için poligonlar (şekiller) gerektirdiğinden bu dönüşümü kullanırız. Noktaları altıgen şekillere dönüştürerek, üst üste binen binlerce noktayı çizmek yerine belirli bir bölgedeki işletmelerin yoğunluğunu görselleştirebiliriz.
Toplama eşiğiyle ilgili not
Tüm Places Insights sorguları WITH AGGREGATION_THRESHOLD ifadesini gerektirir.
Bu gizlilik koruması, verilerin yalnızca birleştirilmiş sayının 5 veya daha yüksek olması durumunda döndürülmesini sağlar.
Bu görselleştirme bağlamında, bir H3 ızgara hücresi 5'ten az restoran içeriyorsa bu hücre sonuç kümesinden tamamen çıkarılır ve haritanızda boş görünür.
Bunu Data Studio'da uygulamak için:
- Yeni bir Boş Rapor oluşturun.
- Veri bağlayıcı olarak BigQuery'yi seçin.
- Sol menüden ÖZEL SORGULAMA'yı seçin ve faturalandırma Proje Kimliğinizi belirleyin.
- Yukarıdaki Statik Temel Sorgu'yu düzenleyiciye yapıştırın.
- Eski SQL kullan, Tarih aralığını etkinleştir ve Görüntüleyenin e-posta adresini etkinleştir parametrelerinin işaretini kaldırın.
- Ekle'yi tıklayın.
1.2 Coğrafi Görselleştirmeyi Yapılandırma
Veriler bağlandıktan sonra Data Studio'yu, H3 sınır verilerini doğru şekilde tanıyacak şekilde yapılandırın:
- Grafik ekle menüsünden rapor tuvaline bir Dolgu Harita görselleştirmesi ekleyin.
- Çokgen geometrisini içeren
h3_geoalanınızın Coğrafi veri türüne ayarlandığından emin olun.- Bağlantı adınızın yanındaki Veri kaynağını düzenle (kalem) simgesini tıklayın.
h3_geo, Metin (ABC) olarak ayarlanmışsa açılır menüyü kullanarak Coğrafi > Coğrafi uzamsal'ı seçin.- Bitti'yi tıklayın.
h3_indexalanını Konum ile eşleyin (benzersiz tanımlayıcı olarak kullanılır).h3_geoalanını Coğrafi Konum Alanı (poligon geometrisi olarak işlev görür) ile eşleyin.restaurant_countalanını Renk metriği ile eşleyin.
Bu işlem, H3 hücresine göre restoran yoğunluğu haritasını oluşturur. Koyu mavi (varsayılan renk seçeneği), restoran sayısının daha yüksek olduğu bir hücreyi gösterir.

2. adım: Dinamik parametreleri uygulayın
Raporu etkileşimli hale getirmek için rapora, kullanıcının aşağıdaki seçenekler arasından seçim yapmasına olanak tanıyan kontroller ekleyeceğiz:
- Yerleşim yeri: Raporun odaklandığı şehri kontrol eder.
- Haftanın günü: Şemadaki
regular_opening_hourskaydından yararlanarak yerleri açık oldukları güne göre filtreler. - Günün saati:
start_timeveend_timealanlarıyla karşılaştırarak yerleri çalışma saatlerine göre filtreler.
Bunu yapmak için kullanıcı tarafından seçilen parametreleri çalışma zamanında doğrudan değiştirilmiş bir Places Insights sorgusuna ileteceksiniz. Data Studio'nun veri kaynağı düzenleyicisinde bu parametreleri açıkça yazılı değişkenler olarak tanımlamanız gerekir.
Data Studio'da Kaynak menüsünü seçin, ardından Eklenen veri kaynaklarını yönet'i tıklayın. Açılan panelde, daha önce eklediğimiz BigQuery Özel SQL veri kaynağının yanındaki EDIT simgesini seçin.
Bağlantıyı Düzenle penceresinde PARAMETRE EKLE'yi seçin. Aşağıdaki değerleri içeren üç parametre ekleyeceğiz.
| Parametre Adı | Veri Türü | İzin Verilen Değerler | Değer listesi (Veritabanıyla tam olarak eşleşmelidir) | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
p_locality |
Metin | Değer listesi |
|
||||||||||||||||
p_day_of_week |
Metin | Değer listesi |
|
||||||||||||||||
p_hour_of_day |
Metin | Değer listesi |
|
p_hour_of_day parametresi için örnek yapılandırma.

p_hour_of_day parametresi için Value sütununa özellikle dikkat edin.
SQL sorgusu CAST(@p_hour_of_day AS TIME) kullandığından, Data Studio'dan iletilen değerler kesinlikle HH:MM:SS biçiminde (24 saatlik zaman dilimi) olmalıdır.
Üç parametreyi de ayarlayıp kaydettikten sonra, @ söz dizimini kullanarak bu değişkenlere referans vermek için BigQuery özel SQL bağlantınızı değiştirin.
Bunun için Bağlantıyı Düzenle'yi tıklayın ve aşağıdaki değiştirilmiş sorguyu yapıştırın:
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;
Düzenlemeyi kaydetmek için Yeniden bağlan'ı tıklayın. Değiştirilen sorguda, yeni ayarladığımız parametre adlarıyla ilişkili @p_hour_of_day gibi yeni değişkenlere dikkat edin.
Bu parametreleri son kullanıcıya göstermek için rapor tuvaline dönün:
- Raporunuza üç Açılır liste kontrolü ekleyin.
- Her bir kontrol için Kontrol alanı'nı yeni oluşturduğunuz parametrelere karşılık gelecek şekilde ayarlayın:
- Kontrol 1:
p_locality - Kontrol 2:
p_day_of_week - 3. kontrol:
p_hour_of_day
- Kontrol 1:
Nihai raporunuz aşağıdaki gibi görünecektir. Açılır menü kontrollerinden birindeki bir değeri değiştirmek, Data Studio'nun istenen verileri haritada görselleştirmeden önce Places Insights'tan getirmesini tetikler.

3. adım: Sonuçları paylaşın
Raporu paylaşmak için Data Studio'da yerleşik olarak bulunan paylaşım aracını kullanın. Bu sayede izleyiciler, açılır listelerinizden seçtikleri parametrelere göre görselleştirmeyi dinamik olarak güncelleyebilir.
Sonuç
Bu kalıp, BigQuery'nin işlem gücünden yararlanarak toplu Places Insights verilerini Data Studio'ya sunan ölçeklenebilir ve etkileşimli bir raporlama aracı oluşturur. Bu mimari, devasa ham veri kümelerini görselleştirmeye çalışmanın zorluklarını ortadan kaldırır ve son kullanıcılara zaman, konum ve işletme türü gibi farklı boyutlardaki verileri neredeyse gerçek zamanlı olarak keşfetme esnekliği sağlar. Bu, teknik bilgisi olmayan paydaşlarınıza verileri keşfetme esnekliği sağlayan güçlü bir araçtır.
Sonraki Adımlar
Places Insights şemasının farklı bölümlerini parametreleştirerek dinamik raporların diğer varyasyonlarını keşfedin:
- Dinamik Rakip Analizi: Kullanıcıların, bir pazardaki göreceli doygunluklarını görmek için ısı haritasını farklı rakipler arasında anında değiştirmelerine olanak tanımak amacıyla
brandadları için bir parametre oluşturun. Marka verilerinin kullanılabilirliği için Places Insights verileri hakkında başlıklı makaleyi inceleyin. - Etkileşimli Site Seçimi: Gayrimenkul ekiplerinin belirli demografik profillerle eşleşen alanları dinamik olarak filtrelemesine olanak tanımak için
price_level(ör. "Orta" ve "Pahalı") ve minimumratingparametreleri ekleyin. - Özel Etki Alanları: Kullanıcıların şehir adına göre filtreleme yapmak yerine özel çalışma alanları tanımlamasına olanak tanıyın.
- Yarıçap tabanlı: Üç sayısal parametre oluşturun: p_latitude, p_longitude ve p_radius_meters. Koordinatlar, Geocoding API dahil olmak üzere Google Maps Platform API'lerinden alınabilir. Sorgunuzda,
bunları ST_DWITHIN işlevine ekleyin:
ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
- Çokgene dayalı: Karmaşık özel şekiller (ör. satış bölgeleri) için kullanıcılar geometri metnini kolayca giremez. Bunun yerine BigQuery'de şekil geometrilerinizi ve kolay bir adı (ör. "A Bölgesi") içeren bir arama tablosu oluşturun. Kullanıcıların bölgeyi seçebilmesi için Data Studio'da bir metin parametresi
p_zone_nameoluşturun veST_CONTAINSişlevi için geometriyi almak üzere bir alt sorgu kullanın.
- Yarıçap tabanlı: Üç sayısal parametre oluşturun: p_latitude, p_longitude ve p_radius_meters. Koordinatlar, Geocoding API dahil olmak üzere Google Maps Platform API'lerinden alınabilir. Sorgunuzda,
bunları ST_DWITHIN işlevine ekleyin:
Katkıda bulunanlar
- David Szajngarten | Geliştirici İlişkileri Mühendisi
- Henrik Valve | DevX Mühendisi