Funkcje zliczania miejsc to predefiniowane zapytania SQL, które są uruchamiane w BigQuery i stanowią uzupełnienie bezpośredniego wykonywania zapytań w zbiorze danych. Główna różnica między bezpośrednim wykonywaniem zapytań o dane a używaniem funkcji polega na tym, że funkcje nie wymuszają minimalnego progu liczby, ale wymuszają minimalny obszar wyszukiwania:
- Zapytania dotyczące zbiorów danych o miejscach mogą zwracać tylko wartości większe lub równe 5, ale nie mają ograniczeń co do wielkości obszaru wyszukiwania.
- Funkcje zliczania miejsc mogą zwracać dowolne liczby, w tym 0, ale wymagają minimalnego obszaru wyszukiwania o wymiarach 40,0 m × 40,0 m (1600 m2). Funkcje mogą też zwracać identyfikatory miejsc, których można używać do wyszukiwania informacji o poszczególnych miejscach.
Funkcji Places Count możesz używać, jeśli ważne jest dla Ciebie, kiedy zapytanie nie zwraca żadnych wyników, lub jeśli potrzebujesz informacji o niskiej liczbie miejsc (poniżej 5). Jest to też przydatne, jeśli chcesz uzyskać informacje o poszczególnych miejscach, aby sprawdzić wyniki.
Funkcje Places Count podają tylko liczby, więc jeśli chcesz wykonywać bardziej złożone zapytania, np. łączyć dane, lub uzyskiwać dodatkowe statystyki, np. średnią ocenę grupy miejsc, wykonuj zapytania bezpośrednio w zbiorze danych.
Obsługiwane funkcje i kraje
Statystyki miejsc obsługują te funkcje:
-
PLACES_COUNT_V2: zwraca tabelę zawierającą liczbę miejsc i przykładowe identyfikatory miejsc. Ta funkcja akceptuje parametr tabeli dla danych z wielu lokalizacji geograficznych, co umożliwia wydajne przetwarzanie wsadowe. Jest ona wysoce zoptymalizowana pod kątem łączenia danych geoprzestrzennych w porównaniu z funkcjamiPLACES_COUNTiPLACES_COUNT_PER_GEO. -
PLACES_COUNT_PER_TYPE_V2: zwraca tabelę z liczbą miejsc i przykładowymi identyfikatorami miejsc, podzieloną według typu miejsca. Podobnie jakPLACES_COUNT_V2, ta funkcja przyjmuje parametr tabeli, aby przetwarzać jednocześnie wiele lokalizacji wejściowych. Ta architektura obsługuje wydajne przetwarzanie wsadowe i zapewnia zoptymalizowane łączenie geoprzestrzenne w porównaniu zPLACES_COUNT_PER_TYPE. PLACES_COUNT_PER_H3Zwraca tabelę BigQuery z liczbą miejsc w każdej komórce H3.PLACES_COUNT: zwraca jeden wiersz zawierający liczbę miejsc.PLACES_COUNT_PER_TYPE: zwraca tabelę BigQuery z liczbą miejsc według typu.PLACES_COUNT_PER_GEO: zwraca tabelę BigQuery z liczbą miejsc w poszczególnych regionach.
Oprócz liczby miejsc wszystkie funkcje z wyjątkiem PLACES_COUNT zwracają też maksymalnie 250 identyfikatorów miejsc na element odpowiedzi.
Identyfikatory miejsc można stosować w przypadku:
Pisanie zapytań z użyciem funkcji
Aby wywołać funkcje, użyj tego formatu: [project name
(optional)].[table name].[function name].
Jeśli podczas konfigurowania Statystyk miejsc zmienisz nazwę połączonego zbioru danych, użyj własnej nazwy zamiast domyślnych nazw tabel wymienionych w Funkcjach zliczania miejsc referencyjnych w BigQuery. Możesz też opcjonalnie podać nazwę projektu. Jeśli nie podasz projektu, zapytanie zostanie domyślnie uruchomione w aktywnym projekcie.
Na przykład:
PROJECT_NAME.places_insights___us.PLACES_COUNT
Użyj znaku
JSON_OBJECT
, aby przekazać argumenty do funkcji.
Filtrowanie wyników
Funkcje zliczania miejsc obsługują wiele filtrów, które pozwalają zawęzić wyszukiwanie. W tych parametrach (np. price_level lub types) rozróżniana jest wielkość liter, więc muszą one dokładnie odpowiadać nazwom parametrów. Pełną listę opcji znajdziesz w dokumentacji parametrów filtra.
W następnym przykładzie zastosujesz filtry, aby ograniczyć wyszukiwanie według minimalnej oceny użytkownika, poziomu cen, stanu firmy i tego, czy restauracja akceptuje psy, za pomocą funkcji PLACES_COUNT_V2.
Najpierw użyj tabeli geograficznej lub przygotuj tabelę z wybranymi lokalizacjami:
-- Create a table for the input geographies CREATE TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas` AS ( SELECT '1' AS geo_id, -- Unique identifier ST_GEOGPOINT(-73.9857, 40.7484) AS geo -- Empire State Building UNION ALL SELECT '2' AS geo_id, -- Unique identifier ST_GEOGPOINT(-73.9851, 40.7580) AS geo -- Times Square );
Następnie wywołaj funkcję PLACES_COUNT_V2 z tabelą i obiektem JSON zawierającym filtry. Promień wyszukiwania jest uwzględniony w filtrach JSON i będzie stosowany wokół każdego punktu w tabeli my_search_areas.
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters around each point in 'geo' 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'min_rating', 1.3, 'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'], 'allows_dogs', TRUE ) );
Przykład funkcji Places Count
W tym przykładzie używamy funkcji PLACES_COUNT_V2 z tabelą niestandardowych danych wejściowych my_search_area, aby zwrócić liczbę działających restauracji w promieniu 1000 metrów od Empire State Building i Times Square w Nowym Jorku:
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"] ) );
Odpowiedź to tabela BigQuery, która zawiera geo_id, lokalizację geograficzną, liczbę i próbkę identyfikatorów miejsc.

W tym przykładzie używamy funkcji PLACES_COUNT_V2 do filtrowania według określonych identyfikatorów marek. Filtrujemy lokalizacje Starbucks, używając identyfikatora marki "1413758728321880760".
Aby znaleźć identyfikatory marek, według których chcesz filtrować, wyślij zapytanie do tabeli brands w swoim zbiorze danych (np. places_insights___us.brands). Więcej informacji o zbiorze danych marek znajdziesz w artykule Pisanie zapytania z użyciem danych o markach.
Aby na przykład znaleźć identyfikator marki „Starbucks”:
SELECT id, name FROM `PROJECT_NAME.places_insights___us.brands` WHERE name = "Starbucks"
Po uzyskaniu identyfikatorów marek możesz użyć ich w filtrze brand_ids, jak pokazano w tym zapytaniu:
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'brand_ids', ["1413758728321880760"] ) );
Wizualizacja wyników
Narzędzia do analizy i analityki biznesowej są niezbędne, aby pomóc Ci odkrywać statystyki na podstawie danych BigQuery. BigQuery obsługuje kilka narzędzi Google i innych firm do wizualizacji danych, których możesz używać do analizowania wyników funkcji na podstawie danych Statystyk miejsc.
Przykład wizualizacji wyników funkcji znajdziesz w sekcji Wizualizacja wyników. Więcej informacji i przykład wizualizacji wyników Statystyk miejsc znajdziesz w artykule Wizualizacja wyników zapytań.
Ograniczenia i wymagania
Funkcje zliczania miejsc mają następujące ograniczenia i wymagania:
- Obsługiwane są tylko statystyki
COUNT. - Wymagany jest minimalny obszar wyszukiwania o wymiarach 40,0 m × 40,0 m (1600 m2).
- Limit rozmiaru danych wejściowych parametru: obiekt JSON przekazywany jako parametr do funkcji jest ograniczony do 1 MB. Wpływ tego limitu zależy od wersji funkcji:
- W przypadku funkcji V2 (
PLACES_COUNT_V2,PLACES_COUNT_PER_TYPE_V2) ten limit dotyczy tylko obiektu JSON filtrów. Ponieważ dane geograficzne są podawane oddzielnie za pomocą parametru tabeli, funkcje te mogą być skalowane do znacznie większej liczby danych geograficznych bez osiągania limitu rozmiaru JSON.- W przypadku parametrów
PLACES_COUNT_PER_H3,PLACES_COUNT,PLACES_COUNT_PER_TYPEiPLACES_COUNT_PER_GEOten limit dotyczy całego obiektu JSON, w tym wszystkich definicji geograficznych. Może to ograniczyć liczbę regionów geograficznych, które można przetworzyć w ramach jednego wywołania.
- W przypadku parametrów
- Brak obsługi filtrowania według identyfikatora miejsca, opcji ładowania pojazdów elektrycznych lub komponentu adresu.
- Funkcje zliczania miejsc są dostępne tylko w przypadku miast i krajów, w których masz subskrypcję. Informacje o dostępie do zbioru danych znajdziesz w artykule Konfigurowanie Statystyk miejsc.
- W parametrach filtra (np.
geographylubtypes) wielkość liter ma znaczenie i muszą one dokładnie odpowiadać nazwom parametrów, w przeciwnym razie zapytanie się nie powiedzie.
Odwoływanie się do funkcji Reference Places Count w BigQuery
Wszystkie miasta w przykładowym zbiorze danych i kraje w pełnym zbiorze danych obsługują funkcje zliczania miejsc.
Masz dostęp do funkcji Places Count odpowiadających subskrybowanym przez Ciebie zbiorom danych miast i krajów. Informacje o dostępie do zbioru danych znajdziesz w artykule Konfigurowanie Places Insights.
W tabelach podano dostępne miasta, kraje i odpowiadające im nazwy tabel.
Przykładowe dane
| Miasto, kraj | Nazwy tabel |
|---|---|
| Buenos Aires, Argentyna | places_insights___ar___sample.FUNCTION_NAME |
| Sydney, Australia | places_insights___au___sample.FUNCTION_NAME |
| Bad Gastein, Austria | places_insights___at___sample.FUNCTION_NAME |
| Riffa, Bahrajn | places_insights___bh___sample.FUNCTION_NAME |
| Bruksela, Belgia | places_insights___be___sample.FUNCTION_NAME |
| São Paulo, Brazylia | places_insights___br___sample.FUNCTION_NAME |
| Płowdiw, Bułgaria | places_insights___bg___sample.FUNCTION_NAME |
| Toronto, Kanada | places_insights___ca___sample.FUNCTION_NAME |
| Santiago, Chile | places_insights___cl___sample.FUNCTION_NAME |
| Medellín, Kolumbia | places_insights___co___sample.FUNCTION_NAME |
| Brno, Czechy | places_insights___cz___sample.FUNCTION_NAME |
| Kopenhaga, Dania | places_insights___dk___sample.FUNCTION_NAME |
| Kair, Egipt | places_insights___eg___sample.FUNCTION_NAME |
| Helsinki, Finlandia | places_insights___fi___sample.FUNCTION_NAME |
| Paryż, Francja | places_insights___fr___sample.FUNCTION_NAME |
| Berlin, Niemcy | places_insights___de___sample.FUNCTION_NAME |
| Ateny, Grecja | places_insights___gr___sample.FUNCTION_NAME |
| Hongkong, Hongkong | places_insights___hk___sample.FUNCTION_NAME |
| Debreczyn, Węgry | places_insights___hu___sample.FUNCTION_NAME |
| Bombaj, Indie | places_insights___in___sample.FUNCTION_NAME |
| Dżakarta, Indonezja | places_insights___id___sample.FUNCTION_NAME |
| Cork, Irlandia | places_insights___ie___sample.FUNCTION_NAME |
| Tel Awiw-Jafa, Izrael | places_insights___il___sample.FUNCTION_NAME |
| Rzym, Włochy | places_insights___it___sample.FUNCTION_NAME |
| Tokio, Japonia | places_insights___jp___sample.FUNCTION_NAME |
| Busan, Korea Południowa | places_insights___kr___sample.FUNCTION_NAME |
| Kuala Lumpur, Malezja | places_insights___my___sample.FUNCTION_NAME |
| Meksyk (miasto), Meksyk | places_insights___mx___sample.FUNCTION_NAME |
| Amsterdam, Holandia | places_insights___nl___sample.FUNCTION_NAME |
| Wellington, Nowa Zelandia | places_insights___nz___sample.FUNCTION_NAME |
| Oslo, Norwegia | places_insights___no___sample.FUNCTION_NAME |
| Arequipa, Peru | places_insights___pe___sample.FUNCTION_NAME |
| Manila, Filipiny | places_insights___ph___sample.FUNCTION_NAME |
| Warszawa, Polska | places_insights___pl___sample.FUNCTION_NAME |
| Lizbona, Portugalia | places_insights___pt___sample.FUNCTION_NAME |
| Lusail, Katar | places_insights___qa___sample.FUNCTION_NAME |
| Bukareszt, Rumunia | places_insights___ro___sample.FUNCTION_NAME |
| Dżudda, Arabia Saudyjska | places_insights___sa___sample.FUNCTION_NAME |
| Singapur, Singapur | places_insights___sg___sample.FUNCTION_NAME |
| Johannesburg, Republika Południowej Afryki | places_insights___za___sample.FUNCTION_NAME |
| Madryt, Hiszpania | places_insights___es___sample.FUNCTION_NAME |
| Sztokholm, Szwecja | places_insights___se___sample.FUNCTION_NAME |
| Zurych, Szwajcaria | places_insights___ch___sample.FUNCTION_NAME |
| Tajpej, Tajwan | places_insights___tw___sample.FUNCTION_NAME |
| Chiang Mai, Tajlandia | places_insights___th___sample.FUNCTION_NAME |
| Ankara, Turcja | places_insights___tr___sample.FUNCTION_NAME |
| Szardża, Zjednoczone Emiraty Arabskie | places_insights___ae___sample.FUNCTION_NAME |
| Londyn, Wielka Brytania | places_insights___gb___sample.FUNCTION_NAME |
| Nowy Jork, Stany Zjednoczone | places_insights___us___sample.FUNCTION_NAME |
| Hanoi, Wietnam | places_insights___vn___sample.FUNCTION_NAME |
Pełne dane
| Kraj | Nazwy tabel |
|---|---|
| Argentyna | places_insights___ar.FUNCTION_NAME |
| Australia | places_insights___au.FUNCTION_NAME |
| Austria | places_insights___at.FUNCTION_NAME |
| Bahrajn | places_insights___bh.FUNCTION_NAME |
| Belgia | places_insights___be.FUNCTION_NAME |
| Brazylia | places_insights___br.FUNCTION_NAME |
| Bułgaria | places_insights___bg.FUNCTION_NAME |
| Kanada | places_insights___ca.FUNCTION_NAME |
| Chile | places_insights___cl.FUNCTION_NAME |
| Kolumbia | places_insights___co.FUNCTION_NAME |
| Czechy | places_insights___cz.FUNCTION_NAME |
| Dania | places_insights___dk.FUNCTION_NAME |
| Egipt | places_insights___eg.FUNCTION_NAME |
| Finlandia | places_insights___fi.FUNCTION_NAME |
| Francja | places_insights___fr.FUNCTION_NAME |
| Niemcy | places_insights___de.FUNCTION_NAME |
| Grecja | places_insights___gr.FUNCTION_NAME |
| Hongkong | places_insights___hk.FUNCTION_NAME |
| Węgry | places_insights___hu.FUNCTION_NAME |
| Indie | places_insights___in.FUNCTION_NAME |
| Indonezja | places_insights___id.FUNCTION_NAME |
| Irlandia | places_insights___ie.FUNCTION_NAME |
| Izrael | places_insights___il.FUNCTION_NAME |
| Włochy | places_insights___it.FUNCTION_NAME |
| Japonia | places_insights___jp.FUNCTION_NAME |
| Malezja | places_insights___my.FUNCTION_NAME |
| Meksyk | places_insights___mx.FUNCTION_NAME |
| Holandia | places_insights___nl.FUNCTION_NAME |
| Nowa Zelandia | places_insights___nz.FUNCTION_NAME |
| Norwegia | places_insights___no.FUNCTION_NAME |
| Peru | places_insights___pe.FUNCTION_NAME |
| Filipiny | places_insights___ph.FUNCTION_NAME |
| Polska | places_insights___pl.FUNCTION_NAME |
| Portugalia | places_insights___pt.FUNCTION_NAME |
| Katar | places_insights___qa.FUNCTION_NAME |
| Rumunia | places_insights___ro.FUNCTION_NAME |
| Arabia Saudyjska | places_insights___sa.FUNCTION_NAME |
| Singapur | places_insights___sg.FUNCTION_NAME |
| Republika Południowej Afryki | places_insights___za.FUNCTION_NAME |
| Korea Południowa | places_insights___kr.FUNCTION_NAME |
| Hiszpania | places_insights___es.FUNCTION_NAME |
| Szwecja | places_insights___se.FUNCTION_NAME |
| Szwajcaria | places_insights___ch.FUNCTION_NAME |
| Tajwan | places_insights___tw.FUNCTION_NAME |
| Tajlandia | places_insights___th.FUNCTION_NAME |
| Turcja | places_insights___tr.FUNCTION_NAME |
| Zjednoczone Emiraty Arabskie | places_insights___ae.FUNCTION_NAME |
| Wielka Brytania | places_insights___gb.FUNCTION_NAME |
| Stany Zjednoczone | places_insights___us.FUNCTION_NAME |
| Wietnam | places_insights___vn.FUNCTION_NAME |