PLACES_COUNT_PER_GEO 関数

PLACES_COUNT_PER_GEO 関数は、検索する地理的エリアの配列を受け取り、エリアごとの場所の数のテーブルを返します。たとえば、検索エリアとして郵便番号の配列を指定すると、レスポンスには郵便番号ごとに個別の行を含むテーブルが含まれます。

PLACES_COUNT_PER_GEO 関数はテーブルを返すため、FROM 句を使用して呼び出します。

  • 入力パラメータ:

    • 必須: 検索エリアを指定する geographies フィルタ パラメータ。geographies パラメータは、BigQuery の GEOGRAPHY データ型で定義された値の配列を受け取ります。このデータ型は、ポイント、ラインストリング、ポリゴンをサポートしています。

    • 省略可: 検索を絞り込むための追加のフィルタ パラメータ。

  • 戻り値:

    • 地理的エリアごとに 1 行を含むテーブル。このテーブルには、geography(GEOGRAPHY)、count(INT64)、place_ids(ARRAY<STRING>)の列が含まれています。place_ids には、各地理的エリアのプレイス ID が最大 250 個含まれています。

例: ニューヨーク市の各郡のレストラン数を計算する

この例では、ニューヨーク市の郡ごとに営業中のレストランの数を表にしています。

この例では、米国国勢調査局のデータの BigQuery 一般公開データセットを使用して、ニューヨーク市の 3 つの郡(「Queens」、「Kings」、「New York」)の境界を取得します。各郡の境界は county_geom 列に含まれています。

この例では、BigQuery の ST_SIMPLIFY 関数を使用して、簡略化された county_geom を返します。ST_SIMPLIFY 関数は、ほぼ真っ直ぐなエッジのチェーンを 1 つの長いエッジに置き換えます。

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"]
      )
);

例: ブランドでフィルタされた郡ごとの数を計算する

次の例では、brand_ids フィルタを使用して、特定のブランド(スターバックス "1413758728321880760" など)の場所の数とサンプルのプレイス ID を取得しています。

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"]
      )
);

結果を可視化する

次の画像は、このデータを Looker Studio で塗り分けマップとして表示したものです。各郡の輪郭も表示されています。

ニューヨーク市の車椅子対応のコンビニエンス ストアと食料品店をフィルタリングするための塗り分け地図。

Looker Studio にデータをインポートするには:

  1. 上記の関数を実行して結果を生成します。

  2. BigQuery の結果で、[次で開く] -> [Looker Studio] をクリックします。結果は Looker Studio に自動的にインポートされます。

  3. Looker Studio はデフォルトのレポートページを作成し、結果のタイトル、テーブル、棒グラフで初期化します。

    Looker Studio のデフォルト レポート。

  4. ページ上のすべてを選択して削除します。

  5. [挿入] > [塗り分けマップ] をクリックして、塗り分けマップをレポートに追加します。

  6. [グラフの種類] -> [設定] で、次のようにフィールドを構成します。

    Looker Studio でのヒートマップの設定。

  7. 塗り分け地図が上記のように表示されます。必要に応じて、[グラフの種類] -> [ スタイル] を選択して、地図の外観をさらに構成できます。

Places Insights の結果を可視化する方法と例については、クエリ結果を可視化するをご覧ください。