La fonction PLACES_COUNT_V2 renvoie une table BigQuery contenant le nombre de lieux et des exemples d'ID de lieux pour plusieurs zones géographiques d'entrée en fonction des filtres spécifiés.
Cette fonction est conçue pour un traitement par lot efficace. Elle accepte un paramètre de table d'entrée de zones géographiques, ce qui vous permet d'analyser de nombreuses zones d'intérêt dans une seule requête en fournissant les zones géographiques via une table d'entrée.
Syntaxe
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`( TABLE input_geographies, filters )
Paramètres
PROJECT_NAME: le nom de votre projet Google CloudLINKED_DATASET_NAME: nom de l'ensemble de données BigQuery contenant les fonctions Places Insights (par exemple,places_insights___us).input_geographies: table BigQuery contenant les zones géographiques à analyser. Ce tableau doit inclure les colonnes suivantes :filters(JSON) : objet JSON contenant des paires clé/valeur pour filtrer les lieux. Consultez Paramètres de filtre.
Schéma de la table de sortie
La fonction PLACES_COUNT_V2 renvoie une table avec les colonnes suivantes :
| Nom de la colonne | Type de données | Description |
|---|---|---|
geo_id |
STRING | Identifiant unique de la zone géographique d'entrée, issu de la table input_geographies. |
input_geography |
GEOGRAPHY | Objet GEOGRAPHY d'origine de la table input_geographies. |
place_count |
INTEGER | Nombre total de lieux correspondant aux filtres. |
sample_place_ids |
ARRAY<STRING> | Tableau contenant jusqu'à 250 ID de lieux correspondant aux critères. |
Fonctionnement
La fonction traite chaque ligne du tableau input_geographies. Pour chaque objet geo, il compte le nombre de lieux qui se trouvent dans la zone géographique (ou dans le geography_radius si le geo est un point et que le rayon est spécifié dans filters). Le nombre n'inclut que les lieux qui correspondent à toutes les conditions définies dans l'objet JSON filters.
Exemple : Calculer le nombre de restaurants dans trois comtés de la ville de New York
Cet exemple génère un tableau du nombre de restaurants ouverts dans trois comtés de la ville de New York.
Cet exemple utilise l'ensemble de données public BigQuery United States Census Bureau Data pour obtenir les limites de trois comtés de la ville de New York : "Queens", "Kings" et "New York". Les limites de chaque comté sont indiquées dans la colonne county_geom.
Nous créons d'abord une table temporaire new_york_counties pour contenir geo_id et GEOGRAPHY simplifié pour chaque comté.
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( ( SELECT county_name AS geo_id, ST_SIMPLIFY(county_geom, 100) AS geo FROM `bigquery-public-data.geo_us_boundaries.counties` WHERE state_fips_code = "36" -- New York State AND county_name IN ("Queens", "Kings", "New York") ), JSON_OBJECT( 'types', ["restaurant"], 'business_status', ['OPERATIONAL'] ) );
Le tableau de réponse comportera trois lignes, une pour chaque comté, indiquant le geo_id, le input_geography, le place_count et le sample_place_ids des restaurants opérationnels.

Avantages de l'utilisation de PLACES_COUNT_V2
PLACES_COUNT_V2 offre des avantages considérables par rapport à PLACES_COUNT et PLACES_COUNT_PER_GEO :
- Traitement par lot : analysez efficacement des milliers de zones géographiques personnalisées dans une seule requête en fournissant plusieurs entrées géographiques dans un tableau.
- Performances : utilise les jointures géospatiales optimisées de BigQuery, qui offrent des avantages considérables en termes de vitesse pour les grands ensembles de données.
- Scalabilité : conçu pour gérer un grand nombre de zones géographiques d'entrée sans les limites de la taille d'un seul paramètre JSON.
- Comptes zéro inclus :
PLACES_COUNT_V2renvoie une ligne pour chaquegeo_idfourni dans la table d'entrée. Si aucun lieu ne correspond aux critères d'une zone géographique donnée, la valeurplace_countsera de 0. Vous êtes ainsi sûr d'obtenir un résultat pour chaque zone de saisie et de voir où les lieux sont absents.