Places Count 関数を使用してデータセットをクエリする

Places Count 関数は、BigQuery で実行される事前定義済みの SQL クエリで、データセットを直接クエリする方法を補完するものです。データを直接クエリする場合と関数を使用する場合の主な違いは、関数では最小カウントしきい値が適用されず、代わりに最小検索領域が適用されることです。

  • プレイス データセット クエリは 5 以上のカウントのみを返しますが、検索エリアのサイズに制限はありません。
  • Places Count 関数は、0 を含む任意のカウントを返すことができますが、最小検索エリアは 40.0 メートル × 40.0 メートル(1,600 m2)に制限されます。関数はプレイス ID を返すこともできます。これは、個々のプレイスに関する情報を検索するために使用できます。

クエリで結果が返されなかった場合を把握することが重要な場合や、5 未満の場所の数が少ないことを把握する必要がある場合は、Places Count 関数を使用することをおすすめします。また、結果をスポット チェックするために個々の場所の情報を取得する必要がある場合にも便利です。

Places Count 関数はカウントのみを提供します。データ結合などのより複雑なクエリを実行する必要がある場合や、場所のグループの平均評価などの追加の分析情報を取得する必要がある場合は、データセットに直接クエリを実行します。

サポートされている場所の数の関数と国

Places Insights は、次の関数をサポートしています。

  • PLACES_COUNT_V2: 場所の数とサンプル場所 ID を含むテーブルを返します。この関数は、マルチリージョン入力用のテーブル パラメータを受け取り、効率的なバッチ処理を可能にします。PLACES_COUNT 関数や PLACES_COUNT_PER_GEO 関数と比較して、地理空間結合用に高度に最適化されています。
  • PLACES_COUNT_PER_TYPE_V2: 場所のタイプ別に分類された場所の数とサンプル場所 ID のテーブルを返します。PLACES_COUNT_V2 と同様に、この関数はテーブル パラメータを受け取り、複数の入力地理情報を同時に処理します。このアーキテクチャは効率的なバッチ処理をサポートし、PLACES_COUNT_PER_TYPE と比較して最適化された地理空間結合を提供します。
  • PLACES_COUNT_PER_H3: H3 セルごとの場所の数を BigQuery テーブルで返します。
  • PLACES_COUNT: 場所の数を含む単一行を返します。
  • PLACES_COUNT_PER_TYPE: 場所のタイプごとの場所の数を BigQuery テーブルで返します。
  • PLACES_COUNT_PER_GEO: 地域ごとの場所の数を BigQuery テーブルで返します。

場所の数とともに、PLACES_COUNT 以外のすべての関数は、レスポンスの要素ごとに最大 250 個の場所 ID も返します。

場所 ID は、次のものに使用できます。

関数を使用してクエリを作成する

関数を呼び出すには、[project name (optional)].[table name].[function name] の形式を使用します。

Places Insights の設定時にリンクされたデータセット名を変更した場合は、BigQuery の場所数関数を参照するに記載されているデフォルトのテーブル名の代わりに、カスタム名を使用します。必要に応じて、プロジェクト名を含めることもできます。含まれていない場合、クエリはデフォルトでアクティブなプロジェクトになります。

次に例を示します。

PROJECT_NAME.places_insights___us.PLACES_COUNT

JSON_OBJECT を使用して、関数に引数を渡します。

検索結果を絞り込む

場所のカウント関数は、検索を絞り込むための多くのフィルタをサポートしています。これらのパラメータ(price_leveltypes など)では大文字と小文字が区別されるため、パラメータ名と正確に一致している必要があります。オプションの完全なリストについては、フィルタ パラメータのリファレンスをご覧ください

次の例では、PLACES_COUNT_V2 関数を使用して、ユーザーの最低評価、価格帯、ビジネス ステータス、レストランで犬を同伴できるかどうかで検索を制限するフィルタを適用します。

まず、入力地理情報テーブルを使用するか、選択した地理情報を含むテーブルを準備します。

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

次に、テーブルとフィルタを含む JSON オブジェクトを指定して PLACES_COUNT_V2 を呼び出します。検索半径は JSON フィルタに含まれており、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
      )
);

Places Count 関数の例

次の例では、カスタム入力地理情報テーブル my_search_areaPLACES_COUNT_V2 関数を使用して、ニューヨーク市のエンパイア ステート ビルディングとタイムズ スクエアから 1,000 メートル以内の営業中のレストランの数を返します。

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

レスポンスは、geo_id、地域、カウント、場所 ID のサンプルを含む BigQuery テーブルです。

ニューヨーク市の Places Count 関数の結果。

結果を可視化する

BigQuery データから分析情報を得るには、分析ツールとビジネス インテリジェンス ツールが不可欠です。BigQuery は、プレイス分析データの関数結果の分析に使用できる、Google およびサードパーティのデータ可視化ツールをいくつかサポートしています。

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

制限事項と要件

Places Count 関数には、次の制限と要件があります。

  • COUNT の分析情報のみがサポートされています。
  • 最小検索エリアは 40.0 メートル × 40.0 メートル(1,600 m2)です。
  • パラメータ入力サイズの上限: 関数にパラメータとして渡される JSON オブジェクトは 1 MB に制限されます。この上限の影響は、関数のバージョンによって異なります。
  • V2 関数PLACES_COUNT_V2PLACES_COUNT_PER_TYPE_V2)の場合、この上限はフィルタ JSON オブジェクトにのみ適用されます。地理情報はテーブル パラメータを使用して個別に提供されるため、これらの関数は JSON サイズの制限に達することなく、より多くの入力地理情報にスケーリングできます。
    • PLACES_COUNT_PER_H3PLACES_COUNTPLACES_COUNT_PER_TYPEPLACES_COUNT_PER_GEO の場合、この上限は、すべての地理定義を含む JSON オブジェクト全体に適用されます。これにより、1 回の呼び出しで処理できる地域の数が制限されることがあります。
  • プレイス ID、ブランド、EV 充電オプション、住所コンポーネントによるフィルタリングはサポートされていません。
  • 場所のカウント機能にアクセスできるのは、登録した都市と国のみです。データセットへのアクセスについては、Places Insights を設定するをご覧ください。
  • フィルタ パラメータ(geographytypes など)では大文字と小文字が区別されます。パラメータ名と完全に一致しない場合、クエリは失敗します。

BigQuery での Places Count 関数を参照する

サンプル データセットのすべての都市と、国全体のデータセットは、Places Count 関数をサポートしています。

登録した都市と国のデータセットに対応する Places Count 関数にアクセスできます。データセットへのアクセスについては、プレイス分析を設定するをご覧ください。

次の表に、利用可能な都市と国、および対応するテーブル名を示します。

サンプルデータ

国、市区町村 テーブル名
ブエノスアイレス(アルゼンチン) places_insights___ar___sample.FUNCTION_NAME
シドニー(オーストラリア) places_insights___au___sample.FUNCTION_NAME
バートガスタイン(オーストリア) places_insights___at___sample.FUNCTION_NAME
リファー(バーレーン) places_insights___bh___sample.FUNCTION_NAME
ブリュッセル(ベルギー) places_insights___be___sample.FUNCTION_NAME
サンパウロ(ブラジル) places_insights___br___sample.FUNCTION_NAME
プロブディフ(ブルガリア) places_insights___bg___sample.FUNCTION_NAME
トロント(カナダ) places_insights___ca___sample.FUNCTION_NAME
サンティアゴ(チリ) places_insights___cl___sample.FUNCTION_NAME
メデジン(コロンビア) places_insights___co___sample.FUNCTION_NAME
ブルノ(チェコ) places_insights___cz___sample.FUNCTION_NAME
コペンハーゲン(デンマーク) places_insights___dk___sample.FUNCTION_NAME
カイロ(エジプト) places_insights___eg___sample.FUNCTION_NAME
ヘルシンキ(フィンランド) places_insights___fi___sample.FUNCTION_NAME
パリ(フランス) places_insights___fr___sample.FUNCTION_NAME
ベルリン(ドイツ) places_insights___de___sample.FUNCTION_NAME
アテネ(ギリシャ) places_insights___gr___sample.FUNCTION_NAME
香港、香港 places_insights___hk___sample.FUNCTION_NAME
デブレツェン(ハンガリー) places_insights___hu___sample.FUNCTION_NAME
ムンバイ(インド) places_insights___in___sample.FUNCTION_NAME
ジャカルタ(インドネシア) places_insights___id___sample.FUNCTION_NAME
コーク(アイルランド) places_insights___ie___sample.FUNCTION_NAME
テルアビブ ヤフォ(イスラエル) places_insights___il___sample.FUNCTION_NAME
ローマ(イタリア) places_insights___it___sample.FUNCTION_NAME
東京(日本) places_insights___jp___sample.FUNCTION_NAME
釜山(韓国) places_insights___kr___sample.FUNCTION_NAME
クアラルンプール(マレーシア) places_insights___my___sample.FUNCTION_NAME
メキシコシティ(メキシコ) places_insights___mx___sample.FUNCTION_NAME
アムステルダム(オランダ) places_insights___nl___sample.FUNCTION_NAME
ウエリントン(ニュージーランド) places_insights___nz___sample.FUNCTION_NAME
オスロ(ノルウェー) places_insights___no___sample.FUNCTION_NAME
アレキパ(ペルー) places_insights___pe___sample.FUNCTION_NAME
マニラ(フィリピン) places_insights___ph___sample.FUNCTION_NAME
ワルシャワ(ポーランド) places_insights___pl___sample.FUNCTION_NAME
リスボン(ポルトガル) places_insights___pt___sample.FUNCTION_NAME
ルサイル(カタール) places_insights___qa___sample.FUNCTION_NAME
ブカレスト(ルーマニア) places_insights___ro___sample.FUNCTION_NAME
ジッダ、サウジアラビア places_insights___sa___sample.FUNCTION_NAME
シンガポール(シンガポール) places_insights___sg___sample.FUNCTION_NAME
ヨハネスブルグ(南アフリカ) places_insights___za___sample.FUNCTION_NAME
マドリード(スペイン) places_insights___es___sample.FUNCTION_NAME
ストックホルム(スウェーデン) places_insights___se___sample.FUNCTION_NAME
チューリッヒ(スイス) places_insights___ch___sample.FUNCTION_NAME
台北(台湾) places_insights___tw___sample.FUNCTION_NAME
チエンマイ(タイ) places_insights___th___sample.FUNCTION_NAME
アンカラ(トルコ) places_insights___tr___sample.FUNCTION_NAME
シャールジャ(アラブ首長国連邦) places_insights___ae___sample.FUNCTION_NAME
ロンドン(イギリス) places_insights___gb___sample.FUNCTION_NAME
ニューヨーク市(アメリカ合衆国) places_insights___us___sample.FUNCTION_NAME
ハノイ(ベトナム) places_insights___vn___sample.FUNCTION_NAME

完全なデータ

テーブル名
アルゼンチン places_insights___ar.FUNCTION_NAME
オーストラリア places_insights___au.FUNCTION_NAME
オーストリア places_insights___at.FUNCTION_NAME
バーレーン places_insights___bh.FUNCTION_NAME
ベルギー places_insights___be.FUNCTION_NAME
ブラジル places_insights___br.FUNCTION_NAME
ブルガリア places_insights___bg.FUNCTION_NAME
カナダ places_insights___ca.FUNCTION_NAME
チリ places_insights___cl.FUNCTION_NAME
コロンビア places_insights___co.FUNCTION_NAME
チェコ places_insights___cz.FUNCTION_NAME
デンマーク places_insights___dk.FUNCTION_NAME
エジプト places_insights___eg.FUNCTION_NAME
フィンランド places_insights___fi.FUNCTION_NAME
フランス places_insights___fr.FUNCTION_NAME
ドイツ places_insights___de.FUNCTION_NAME
ギリシャ places_insights___gr.FUNCTION_NAME
香港 places_insights___hk.FUNCTION_NAME
ハンガリー places_insights___hu.FUNCTION_NAME
インド places_insights___in.FUNCTION_NAME
インドネシア places_insights___id.FUNCTION_NAME
アイルランド places_insights___ie.FUNCTION_NAME
イスラエル places_insights___il.FUNCTION_NAME
イタリア places_insights___it.FUNCTION_NAME
日本 places_insights___jp.FUNCTION_NAME
マレーシア places_insights___my.FUNCTION_NAME
メキシコ places_insights___mx.FUNCTION_NAME
オランダ places_insights___nl.FUNCTION_NAME
ニュージーランド places_insights___nz.FUNCTION_NAME
ノルウェー places_insights___no.FUNCTION_NAME
ペルー places_insights___pe.FUNCTION_NAME
フィリピン places_insights___ph.FUNCTION_NAME
ポーランド places_insights___pl.FUNCTION_NAME
ポルトガル places_insights___pt.FUNCTION_NAME
カタール places_insights___qa.FUNCTION_NAME
ルーマニア places_insights___ro.FUNCTION_NAME
サウジアラビア places_insights___sa.FUNCTION_NAME
シンガポール places_insights___sg.FUNCTION_NAME
南アフリカ places_insights___za.FUNCTION_NAME
韓国 places_insights___kr.FUNCTION_NAME
スペイン places_insights___es.FUNCTION_NAME
スウェーデン places_insights___se.FUNCTION_NAME
スイス places_insights___ch.FUNCTION_NAME
台湾 places_insights___tw.FUNCTION_NAME
タイ places_insights___th.FUNCTION_NAME
トルコ places_insights___tr.FUNCTION_NAME
アラブ首長国連邦 places_insights___ae.FUNCTION_NAME
英国 places_insights___gb.FUNCTION_NAME
アメリカ places_insights___us.FUNCTION_NAME
ベトナム places_insights___vn.FUNCTION_NAME