Funkcja PLACES_COUNT_PER_GEO przyjmuje tablicę obszarów geograficznych do przeszukania i zwraca tabelę z liczbą miejsc na obszar. Jeśli na przykład jako obszar wyszukiwania określisz tablicę kodów pocztowych, odpowiedź będzie zawierać tabelę z osobnym wierszem dla każdego kodu pocztowego.
Funkcja PLACES_COUNT_PER_GEO zwraca tabelę, więc wywołaj ją za pomocą klauzuli FROM.
Parametry wejściowe:
Wymagany: parametr filtra
geographies, który określa obszar wyszukiwania. Parametrgeographiesprzyjmuje tablicę wartości zdefiniowanych przez typ danychGEOGRAPHYBigQuery, który obsługuje punkty, ciągi linii i wielokąty.Opcjonalnie: dodatkowe parametry filtra, które pozwalają zawęzić wyszukiwanie.
Zwraca:
- Tabela z 1 wierszem na każdy obszar geograficzny. Tabela zawiera kolumny
geography(GEOGRAPHY),count(INT64) iplace_ids(ARRAY<STRING>), przy czym kolumnaplace_idszawiera maksymalnie 250 identyfikatorów miejsc dla każdego obszaru geograficznego.
- Tabela z 1 wierszem na każdy obszar geograficzny. Tabela zawiera kolumny
Przykład: obliczanie liczby restauracji w każdym hrabstwie Nowego Jorku
W tym przykładzie generowana jest tabela z liczbą działających restauracji w poszczególnych hrabstwach w Nowym Jorku.
W tym przykładzie używamy publicznego zbioru danych BigQuery United States Census Bureau Data, aby uzyskać granice 3 hrabstw w Nowym Jorku: „Queens”, „Kings” i „New York”. Granice każdego hrabstwa są zawarte w kolumnie county_geom.
Następnie w tym przykładzie używana jest funkcja BigQuery ST_SIMPLIFY, która zwraca uproszczoną wersję county_geom. Funkcja ST_SIMPLIFY zastępuje prawie proste łańcuchy krawędzi pojedynczą długą krawędzią.
DECLARE geos ARRAY<GEOGRAPHY>; SET geos = (SELECT ARRAY_AGG(ST_SIMPLIFY(county_geom, 100)) FROM `bigquery-public-data.geo_us_boundaries.counties` WHERE county_name IN ("Queens","Kings", "New York") AND state_fips_code = "36"); SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_GEO`( JSON_OBJECT( 'geographies', geos, 'types', ["restaurant"], 'business_status', ["OPERATIONAL"] ) );
Przykład: obliczanie liczby według hrabstwa z filtrowaniem według marki
Poniższy przykład używa filtra brand_ids do pobierania liczby miejsc i przykładowych identyfikatorów miejsc dla konkretnych marek, takich jak Starbucks "1413758728321880760":
DECLARE geos ARRAY<GEOGRAPHY>; SET geos = (SELECT ARRAY_AGG(ST_SIMPLIFY(county_geom, 100)) FROM `bigquery-public-data.geo_us_boundaries.counties` WHERE county_name IN ("Queens","Kings", "New York") AND state_fips_code = "36"); SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_GEO`( JSON_OBJECT( 'geographies', geos, 'brand_ids', ["1413758728321880760"], -- Filter for Starbucks 'business_status', ["OPERATIONAL"] ) );
Wizualizacja wyników
Na poniższych obrazach widać te dane wyświetlane w Looker Studio jako mapa z wypełnieniem, w tym kontury każdego hrabstwa:

Aby zaimportować dane do Looker Studio:
Uruchom funkcję powyżej, aby wygenerować wyniki.
W wynikach BigQuery kliknij Otwórz w -> Looker Studio. Wyniki są automatycznie importowane do Looker Studio.
Looker Studio utworzy domyślną stronę raportu i zainicjuje ją tytułem, tabelą i wykresem słupkowym wyników.

Zaznacz całą zawartość strony i ją usuń.
Kliknij Wstaw –> Mapa kartogramu, aby dodać do raportu mapę kartogramu.
W sekcji Typy wykresów -> Konfiguracja skonfiguruj pola w taki sposób:

Wypełniona mapa wygląda jak powyżej. Możesz też wybrać Typy wykresów -> Style, aby dodatkowo skonfigurować wygląd mapy.
Więcej informacji i przykładów wizualizacji wyników Statystyk miejsc znajdziesz w artykule Wizualizacja wyników zapytań.