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ına olanak tanıyarak konum verilerinizin değerini artırın. Bu kılavuzda, her istek için SQL yazmak zorunda kalmadan statik raporları pazar analizi için etkileşimli, ısı haritası tarzı araçlara nasıl dönüştüreceğiniz gösterilmektedir. Veri mühendisliği ile iş zekası arasındaki boşluğu kapatarak karmaşık konum verilerine erişimi etkinleştirin.
Bu mimari kalıbı kullanmanın başlıca avantajları şunlardır:
- Görsel Veri Temsili: Places Insights verilerini, anında mekansal yoğunluğu ve trendleri ileten etkileşimli haritalara ve grafiklere dönüştürür.
- SQL'siz basitleştirilmiş keşif: Pazar analistleri veya emlak planlayıcıları gibi ekip üyelerinin, önceden tanımlanmış parametreleri kullanarak verileri dinamik olarak filtrelemesine (ör. açılır listeleri kullanarak "Şehir" veya "Günün Saati"ni değiştirme) olanak tanır. Tek bir satır SQL kodu 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. Karmaşıklığı artırmadan önce verilerin doğruluğunu sağlayarak statik bir temelden tamamen dinamik bir uygulamaya geçer.
�Ön koşullar
Başlamadan önce, Yerler Analizleri'ni ayarlamak için bu talimatları uygulayın. Ücretsiz bir araç olan Data Studio'ya erişmeniz gerekir.
1. adım: Statik bir coğrafi temel oluşturun
Etkileşimli özellikleri kullanmadan önce temel bir sorgu oluşturun ve sorgunun Data Studio'da doğru şekilde oluşturulduğundan emin olun. H3 indeksleme sistemini kullanarak verileri altıgen ızgaralarda toplamak için Places Insights ve BigQuery'nin coğrafi uzamsal ö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ı oluşturmak için aşağıdaki statik sorguyu kullanın. Veri işlem hattını 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;
Uzamsal Toplama ile İlgili Not
Bu sorgu, Google Cloud BigQuery'de herkese açık olarak sunulan CARTO Analytics Araç Kutusu'ndaki (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 dolu haritasında renklerin oluşturulması için poligonlar (şekiller) gerektiğinden bu dönüşümü kullanırız. Noktaları altıgen şekillere dönüştürerek binlerce çakışan noktayı işaretlemek yerine belirli bir alandaki işletmelerin yoğunluğunu görselleştirebiliriz.
Toplama Eşiği ile İlgili Not
Tüm Places Insights sorgularında WITH AGGREGATION_THRESHOLD ifadesi gerekir.
Bu gizlilik koruması, verilerin yalnızca birleştirilmiş sayı 5 veya daha yüksekse 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.
Bu özelliği Data Studio'da uygulamak için:
- Yeni bir Boş Rapor oluşturun.
- Veri bağlayıcı olarak BigQuery'yi seçin.
- Sol taraftaki menüden ÖZEL SORGULAR'ı seçin ve faturalandırma proje kimliğinizi belirleyin.
- Yukarıdaki Static Base Query'yi (Statik Temel Sorgu) düzenleyiciye yapıştırın.
- Eski SQL kullan, Tarih aralığını etkinleştir ve Görüntüleyici 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 Dolu 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_geoMetin (ABC) olarak ayarlanmışsa açılır menüyü kullanarak Coğrafya > Coğrafi'yi seçin.- Bitti'yi tıklayın.
h3_indexalanını Konum ile eşleyin (benzersiz tanımlayıcı olarak işlev görür).h3_geoalanını Coğrafi Konum Alanı ile eşleyin (çokgen geometrisi olarak işlev görür).restaurant_countalanını Renk metriği ile eşleyin.
Bu işlem, H3 hücresine göre restoran yoğunluğunun haritasını oluşturur. Daha koyu mavi renk (varsayılan renk seçeneği), daha fazla restoranın bulunduğu bir hücreyi gösterir.

2. adım: Dinamik parametreleri uygulama
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 birimi: Raporun odaklandığı şehri kontrol eder.
- Haftanın günü: Yerleri, açık oldukları güne göre filtreler ve şemadaki
regular_opening_hourskaydından yararlanır. - 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 iletirsiniz. Data Studio'nun veri kaynağı düzenleyicisinde bu parametreleri türü belirtilmiş değişkenler olarak açıkça 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 karşısındaki EDIT simgesini seçin.
Bağlantıyı Düzenle penceresinde PARAMETRE EKLE'yi seçin. Aşağıdaki değerlere sahip üç parametre ekleyeceğiz.
| Parametre Adı | Veri Türü | İzin verilen değerler | Değer listesi (DB ile 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 dikkat edin.
SQL sorgusunda CAST(@p_hour_of_day AS TIME) kullanıldığından Data Studio'dan aktarılan değerler kesinlikle HH:MM:SS biçiminde (24 saatlik saat) olmalıdır.
Üç parametreyi de ayarlayıp kaydettikten sonra BigQuery Özel SQL bağlantınızı @ söz dizimini kullanarak bu değişkenlere referans verecek şekilde değiştirin.
Bu işlem, Bağlantıyı Düzenle'yi tıklayıp aşağıdaki değiştirilmiş sorguyu yapıştırarak yapılır:
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ğla'yı tıklayın. Değiştirilen sorguda, yeni ayarladığımız parametre adlarıyla ilişkili olan @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 denetim için Denetim alanı'nı yeni oluşturduğunuz parametrelerle eşleşecek şekilde ayarlayın:
- 1. kontrol:
p_locality - 2. kontrol:
p_day_of_week - Kontrol 3:
p_hour_of_day
- 1. kontrol:
Nihai raporunuz aşağıdaki gibi görünmelidir. Açılır liste kontrollerinden birinde değeri değiştirdiğinizde Data Studio, haritada görselleştirmeden önce istenen verileri Places Insights'tan getirir.

3. adım: Sonuçları paylaşın
Raporu paylaşmak için Data Studio'da yerleşik 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 hesaplama gücünden yararlanarak Data Studio'ya toplu Places Insights verileri sunan ölçeklenebilir ve etkileşimli bir raporlama aracı oluşturur. Bu mimari, büyük ham veri kümelerini görselleştirmeye çalışmanın sakıncalarını önler ve son kullanıcılara zaman, konum ve işletme türü gibi farklı boyutlardaki verileri neredeyse anlık olarak keşfetme esnekliği sağlar. Bu, teknik bilgisi olmayan paydaşlarınıza verileri keşfetme esnekliği sunan güçlü bir araçtır.
Sonraki Adımlar
Places Insights şemasının farklı bölümlerini parametrelendirerek dinamik raporların diğer varyasyonlarını keşfedin:
- Dinamik Rakip Analizi: Kullanıcıların ısı haritasını farklı rakipler arasında anında değiştirmesine ve bir pazardaki göreceli doygunluklarını görmesine olanak tanımak için
brandadları parametresi oluşturun. Marka verilerinin kullanılabilirliği için Yer Analizleri verileri hakkında başlıklı makaleyi inceleyin. - Etkileşimli Site Seçimi: Emlak ekiplerinin belirli demografik profillere uyan alanları dinamik olarak filtrelemesine olanak tanımak için
price_level(ör. "Orta" ve "Pahalı") ve minimumratingparametrelerini ekleyin. - Özel hizmet alanları: Şehir adına göre filtreleme yapmak yerine kullanıcıların özel çalışma alanları tanımlamasına izin verin.
- Yarıçapa dayalı: Üç sayısal parametre oluşturun: p_latitude, p_longitude ve p_radius_meters. Koordinatlar, Geocoding API dahil olmak üzere Google Haritalar Platformu API'lerinden alınabilir. Sorgunuzda bunları ST_DWITHIN işlevine yerleştirin:
ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
- Poligon tabanlı: 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 anlaşılır bir ad (ör. "A Bölgesi") içeren bir arama tablosu oluşturun. Kullanıcıların bölgeyi seçmesine olanak tanımak için Data Studio'da bir metin parametresi
p_zone_nameoluşturun veST_CONTAINSişlevinin geometrisini almak için bir alt sorgu kullanın.
- Yarıçapa dayalı: Üç sayısal parametre oluşturun: p_latitude, p_longitude ve p_radius_meters. Koordinatlar, Geocoding API dahil olmak üzere Google Haritalar Platformu API'lerinden alınabilir. Sorgunuzda bunları ST_DWITHIN işlevine yerleştirin:
Katkıda bulunanlar
- David Szajngarten | Developer Relations Engineer
- Henrik Valve | DevX Mühendisi