場所のカウント関数は、Places Insights で利用可能な Places データをクエリする別の方法です。これらの関数は、BigQuery で実行される事前定義済みの SQL クエリであり、プレイス データクエリを補完するものです。主な違いは、関数では最小カウントしきい値が適用されず、代わりに最小検索領域が適用されることです。
プレイス データセット クエリでは、5 を超えるカウントのみが返されますが、検索エリアのサイズに制限はありません。
場所のカウント関数は、0 を含む任意のカウントを返すことができますが、検索エリアの最小サイズは 40.0 メートル × 40.0 メートル(1,600 m2)に制限されます。
クエリで結果が返されなかった場合を把握することが重要な場合や、5 未満の場所の数が少ないことを把握する必要がある場合は、場所のカウント関数を使用することをおすすめします。たとえば、サイト選択のユースケースでは、少ないカウントを返すことができることが重要です。
サポートされている場所のカウント関数と国
Places Insights は、次の関数をサポートしています。
PLACES_COUNT
: 場所の数を含む単一行を返します。PLACES_COUNT_PER_TYPE
: 場所のタイプごとの場所の数の BigQuery テーブルを返します。PLACES_COUNT_PER_GEO
: 地域ごとの場所の数を BigQuery テーブルで返します。PLACES_COUNT_PER_H3
: H3 セルあたりの場所の数の BigQuery テーブルを返します。
PLACES_COUNT_PER_TYPE
、PLACES_COUNT_PER_GEO
、PLACES_COUNT_PER_H3
の各関数は、場所の数とともに、レスポンスの要素ごとに最大 250 個のプレイス ID も返します。
プレイス データセットと同様に、サポートされている各国のトップ都市でプレイス カウント関数を使用できます。たとえば、オーストラリアの場合、オーストラリアのシドニーの場所のカウント関数にアクセスできます。
サポートされている都市と国の一覧については、BigQuery の場所カウント関数を参照するをご覧ください。
関数を使用してクエリを作成する
プレイス分析の設定時にリンクされたデータセット名を変更した場合は、ここに記載されているデフォルトのテーブル名ではなく、カスタム名を使用してください。必要に応じて、プロジェクト名を含めることもできます。含まれていない場合、クエリはデフォルトでアクティブなプロジェクトになります。例: [project name].[dataset
name].places_sample.PLACES_COUNT
場所のカウント関数の例
次の例では、PLACES_COUNT
関数を使用して、ニューヨーク市のエンパイア ステート ビルから 1,000 メートル以内の営業中のレストランの数を返します。
SELECT `places_insights___us___sample.PLACES_COUNT`( JSON_OBJECT( 'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"] ) ) as count;
レスポンスには単一のカウントが含まれます。
この例では、SELECT
ステートメントは、次の構文を使用して米国の PLACES_COUNT
関数を参照しています。
places_insights___us___sample.PLACES_COUNT
サポートされている都市と国の完全なリストについては、BigQuery の場所カウント関数を参照するをご覧ください。
JSON_OBJECT
を使用して、関数に引数を渡します。この例では、BigQuery の ST_GEOGPOINT
関数を使用して、ポイントから GEOGRAPHY
値を返し、その値を geography
パラメータに渡します。また、ポイントを中心とした検索範囲の半径と、検索する場所タイプ "restaurant"
も渡します。
タイプ、地域、H3 ごとの場所の数の例
PLACES_COUNT_PER_TYPE
、PLACES_COUNT_PER_GEO
、PLACES_COUNT_PER_H3
関数は、場所の数とともに、レスポンスに含まれる場所の場所 ID を最大 250 個返します。
たとえば、PLACES_COUNT_PER_TYPE
関数は、場所のタイプごとの場所の数のテーブルを返します。レスポンスには、各タイプに一致する場所のプレイス ID の配列が含まれます。返されたプレイス ID を使用して、各場所に関する情報を検索できます。
次の関数呼び出しは、restaurant
、cafe
、bar
のタイプのスポットの数を返します。
SELECT * FROM `places_insights___us___sample.PLACES_COUNT_PER_TYPE`( JSON_OBJECT( 'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building 'geography_radius', 1000, -- Radius in meters 'types', ["restaurant", "cafe", "bar"], 'business_status', ['OPERATIONAL'] ) );
この関数は、type
、count
、sample_place_ids
の 3 つの列を含むテーブルを返します。count
列には各 type
のプレイス数が表示され、sample_place_ids
列には各 type
のプレイス ID が最大 250 個表示されます。
関数にフィルタを適用する
フィルタを適用して、検索条件を絞り込みます。場所のカウント関数は、検索を絞り込むための多くのフィルタをサポートしています。次の例では、最小ユーザー評価、価格帯、営業状況、犬の入店可否で検索を制限するフィルタを適用します。
SELECT `places_insights___us___sample.PLACES_COUNT`( JSON_OBJECT( 'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'min_rating', 1.3, 'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'], 'allows_dogs', TRUE ) ) as count;
結果を可視化する
BigQuery データから分析情報を得るには、分析ツールとビジネス インテリジェンス ツールが不可欠です。BigQuery は、プレイス分析データの関数結果の分析に使用できる、Google およびサードパーティのデータ可視化ツールをいくつかサポートしています。
関数の結果を可視化する例については、結果を可視化するをご覧ください。Places Insights の結果の可視化の詳細と例については、クエリ結果を可視化するをご覧ください。
制限事項と要件
プレイスカウント関数には、次の制限と要件があります。
COUNT
の分析情報のみがサポートされています。- 最小検索エリアは 40.0 メートル × 40.0 メートル(1,600 m2)です。
- Place 関数のカウント パラメータの入力サイズは 1 MB に制限されています。
- プレイス ID または住所コンポーネントによるフィルタリングはサポートされていません。
場所のカウント関数と場所のデータセット クエリを比較する
次の表に、主な違いを示します。
場所のカウント関数 | プレイス データセットのクエリ | |
---|---|---|
インターフェース | COUNT 分析情報を生成する 4 つの事前定義 SQL 関数: 単一カウント、タイプごとのカウント、地域ごとのカウント、H3 セルごとのカウント。 |
SQL を使用して、COUNT, COUNT_IF, SUM や AVG. などの集計関数を実行します。JOIN, GROUP BY, WHERE などを使用して、追加の分析情報を生成できます。 |
制限事項 | 最小検索エリアを 40.0 メートル × 40.0 メートル(1,600 m2)に設定します。最小検索領域が満たされていれば、集計数が 5 未満でも関数は結果を返します。 | カウントのしきい値は 5 に設定されますが、最小検索エリアは設定されません。 |
サポートされている属性フィルタ | 完全なスキーマがサポートされています(以下を除く)。
|
完全なスキーマがサポートされている |
メリット |
|
|
BigQuery で場所のカウント関数を参照する
プレイス数の関数は、次の都市と国をサポートしています。市区町村と国ごとに個別に登録する必要があります。
国、市区町村 | テーブル名 |
---|---|
シドニー(オーストラリア) | places_insights___au___sample.FUNCTION_NAME |
サンパウロ(ブラジル) | places_insights___br___sample.FUNCTION_NAME |
トロント(カナダ) | places_insights___ca___sample.FUNCTION_NAME |
パリ(フランス) | places_insights___fr___sample.FUNCTION_NAME |
ベルリン(ドイツ) | places_insights___de___sample.FUNCTION_NAME |
ロンドン(イギリス) | places_insights___gb___sample.FUNCTION_NAME |
ムンバイ(インド) | places_insights___in___sample.FUNCTION_NAME |
ジャカルタ(インドネシア) | places_insights___id___sample.FUNCTION_NAME |
ローマ(イタリア) | places_insights___it___sample.FUNCTION_NAME |
東京(日本) | places_insights___jp___sample.FUNCTION_NAME |
メキシコシティ(メキシコ) | places_insights___mx___sample.FUNCTION_NAME |
マドリード(スペイン) | places_insights___es___sample.FUNCTION_NAME |
チューリッヒ(スイス) | places_insights___ch___sample.FUNCTION_NAME |
ニューヨーク市(アメリカ合衆国) | places_insights___us___sample.FUNCTION_NAME |