クエリは複数の句(SELECT
、
FROM
,
WHERE
,
ORDER BY
LIMIT
,
PARAMETERS
。
句ではフィールド名、リソース名、演算子、条件を使用します。 順序が組み合わさって 1 つのクエリ リクエストにまとめられます。
クエリを作成するには、基本的に次のようにします。
- データを取得するリソースを指定します。
- フィールドと指標を追加して、返されるデータを定義します。
- セグメントを追加すると、結果をグループ化できます。
- 関連付けられたリソースを追加して、関連するリソースデータを暗黙的に結合します。
- 結果のフィルタ、並べ替え、制限を行います。
SELECT
句
SELECT
句:
- クエリ内の必須句である。
- リクエストで取得するフィールドのセットを指定します。
- リソース フィールド、カスタム列、カスタム列、カスタム列、カスタム列、 Floodlight 変数、セグメント フィールド、指標を取得し、 レスポンスが返されます。
次のクエリ例は、campaign
の属性を選択する方法を示しています。
resource:
SELECT
campaign.id,
campaign.name
FROM campaign
複数のフィールド タイプ
1 回のリクエストで異なるフィールド タイプをリクエストできます。
次のクエリ例は、次の組み合わせを使用した単一のクエリを示しています。
- リソース フィールド:
campaign.id
、campaign.name
、bidding_strategy.id
、bidding_strategy.name
。 - セグメント フィールド:
segments.device
とsegments.date
- 指標フィールド:
metrics.impressions
とmetrics.clicks
。
SELECT
campaign.id,
campaign.name,
bidding_strategy.id,
bidding_strategy.name,
segments.device,
segments.date,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
セグメンテーションをご覧ください。 をご覧ください。
メインリソース フィールド
通常は、SELECT
にメインのリソース フィールドを含めます。
句に含まれますが、これはオプションです(必須ではありません)。
このクエリ例では、メインリソース フィールド(ad_group.status
)を使用して、フィルタリングのみを行います。
表示されます。
SELECT campaign.id
FROM ad_group
WHERE ad_group.status = PAUSED
カスタム Floodlight 変数
SELECT 句にカスタム Floodlight 変数を含めるには、 あります。
この例のクエリには、次の変数の ID が 123454321 の 表示されます。
SELECT
conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
conversion_custom_dimensions.id[123454321]
FROM campaign
カスタム列
ID を使用して SELECT 句にカスタム列を含めることができます。
この例のクエリには、次のフィールドに対する ID が 12345678 のカスタム列が含まれています。 表示されます。
SELECT
custom_columns.id[12345678]
FROM campaign
詳しくは、カスタム列 ID を取得する方法をご覧ください。
指標フィールド
特定のリソースについて、他の指標フィールドを含めずに指標フィールドを選択できます。
SELECT
句でリソースのフィールドから取得できます。
このクエリの例では、campaign
の impressions
指標と clicks
指標を選択します。
リソースです。
SELECT
metrics.impressions,
metrics.clicks
FROM campaign
詳しくは、metrics
をご覧ください。
クエリで使用できる指標フィールドのリスト。
セグメント フィールド
付随するリソース フィールドを指定せずにセグメント フィールドを選択できる
SELECT
句では指標や指標を使用しません
このクエリの例では、結果をデバイス別に分割します。
SELECT segments.device
FROM campaign
詳しくは、segments
をご覧ください。
クエリで使用できるセグメント フィールドのリストです。
禁止フィールド
SELECT
句で次のフィールドは使用できません。
- 選択できないフィールド(
Selectable
メタデータを含むフィールド) 属性をfalse
とマークしました。 - 繰り返しフィールド、つまり
Repeated
メタデータ属性を持つフィールドtrue
とマークされます。 FROM
句の指定されたリソースで使用できないフィールド。 一部のリソースの属性を同時に選択することはできません。一部のリソースのみ すべての指標とセグメントのサブセットを 利用できるようにします- セグメントまたは指標に互換性がありません。詳しくは、セグメンテーションをご覧ください。 情報です。
リファレンス ドキュメントをご覧ください。 各リソースについてこの情報を確認できる場所の詳細です。
FROM 句
FROM
句:
- クエリで必須句であるか
SearchAds360Service
(Search
メソッドとSearchStream
メソッドの両方)。 SearchAds360FieldService
へのクエリでは含めないでください。- クエリが返すメインリソースを指定します。
- リソースは 1 つだけ指定できます。
- クエリ内の他のすべての句で使用できるフィールドを定義します。
関連付けられたリソース
関連付けられたリソースが利用可能な場合、それらは暗黙的に
FROM
句で指定したリソースにのみ反映されます。属性を追加するだけです
SELECT
句に追加してそれらの値を返します。
このクエリ例では、広告グループ ID とキャンペーン ID の両方が返されます。これは、
campaign
は、ad_group
リソースの属性付きリソースです。
SELECT
campaign.id,
ad_group.id
FROM ad_group
resource_name
フィールド
FROM
句のメインリソースの resource_name
フィールドは常に
返されます。
このクエリ例では、レスポンスに ad_group.resource_name
が含まれます。
クエリで明示的に選択されていなくてもかまいません。
SELECT ad_group.id
FROM ad_group
属性付きリソースの resource_name
フィールド
少なくとも 1 つのフィールドが選択されたときに返されます。
このクエリの例では、campaign.resource_name
が
レスポンスが返されます。これは、campaign.id
が選択されているためです。
SELECT
campaign.id,
ad_group.id
FROM ad_group
WHERE 句
WHERE
句:
- クエリのオプション句である。
- リクエストのデータのフィルタリングとセグメント化の条件を指定します。
条件は
FIELD_NAME
のパターンになります。OPERATOR
VALUE
( あります。 - 複数の条件を
AND
区切り文字で区切って含めることができます。
次のサンプルクエリは、WHERE
句を使用して impressions
を返す方法を示しています。
次の指標が表示されます。
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
セグメンテーションをご覧ください。 をご覧ください。
日付の指定について詳しくは、期間をご覧ください。 指定することもできます
resource_name
フィールドでフィルタ
resource_name
フィールドを使用して、データのフィルタリングや並べ替えを行うことができます。
このクエリの例では、campaign.resource_name
フィールドを使用して結果をフィルタリングしています。
:
SELECT
campaign.id,
campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'
複数の条件
複数の条件を組み合わせてデータをフィルタできます。
このクエリ例では、すべてのキャンペーンの clicks
指標の数をリクエストします
過去 30 日間のモバイルでの impressions
指標。
SELECT
campaign.id,
campaign.name,
segments.device,
metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
AND segments.device = MOBILE
AND segments.date DURING LAST_30_DAYS
セグメンテーションをご覧ください。 をご覧ください。
大文字と小文字の区別
文字列値でフィルタする場合、各演算子のデフォルトの大文字と小文字の区別 結果を正しくフィルタリングするうえで重要な役割を果たします。
次の表に、各演算子のデフォルトの大文字と小文字の区別を示します。
デフォルトの大文字と小文字の区別 | |
---|---|
=/!= |
Case sensitive |
IN/NOT IN |
Case sensitive |
LIKE/NOT LIKE |
Case insensitive |
CONTAINS (...) |
Case sensitive |
REGEXP_MATCH/NOT REGEXP_MATCH |
Case sensitive |
(?i)
修飾子を使用して、デフォルトの感度を変更できます。
REGEXP_MATCH
と NOT REGEXP_MATCH
を大文字と小文字を区別しないようにします。次に例を示します。
SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"
クエリ構文に関する完全なリストについては、クエリ文法リファレンスをご覧ください。 演算子です。
コア日付セグメント
次のセグメント フィールドは、主要な日付セグメントと呼ばれます。
segments.date
、segments.week
、segments.month
、segments.quarter
、
segments.year
。
WHERE
句で主要な日付セグメントを使用して、日付または時刻を指定できます。
です。
次のクエリ例では、segments.date
フィールドに DURING LAST_30_DAYS
を指定しています。
WHERE
句に指定します。
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
セグメンテーション >コア日付セグメント: 詳細 主な日付セグメントの 使用方法を説明します
禁止されているフィルタリング
次のフィルタは許可されていません。
- 選択されていないセグメント フィールド(主要な日付セグメントを除く)。
- プリミティブ(
Int64Value
など)を除くメッセージ タイプのフィールドStringValue
など)。 - プリミティブを除く、任意のメッセージ タイプの繰り返しフィールドの属性
(
Int64Value
、StringValue
など)。
ORDER BY 句
ORDER BY
句:
- クエリのオプション句である。
- 結果が返される順序を指定します。順序は次のようになります。
パターン:
FIELD_NAME
ORDERING_OPTION
(空白で区切ります)。 ASC
(昇順)またはDESC
(降順)の 2 つのオプションを使用できます。デフォルトは 選択します
このクエリの例では、クリック数でキャンペーンを降順で並べ替えます。 (高い順):
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
複数の順序
ORDER BY
句では、カンマで区切って複数のフィールドを指定できます。
選択します。結果は、
なります。
次のサンプルクエリでは、広告グループのデータを選択して、結果を昇順で並べ替えます。 降順に、次にインプレッション数の降順で並べ替えられます。 クリック数の降順で並べ替えます。
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
順序と上限を組み合わせる
ORDER BY
句を LIMIT
句と組み合わせて使用すると、次のことを行えます。
結果を絞り込むことができます
このクエリの例では、次の期間でのインプレッション数が最も多い 5 つのキャンペーンが返されます。 過去 30 日間:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5
禁止されている順序
次の条件での並べ替えは許可されていません。
- 選択されていないリソースの属性別。
- 選択されていない指標別。
- 選択されていないセグメント別。
- 以下のフィールド タイプの場合:
<ph type="x-smartling-placeholder">
- </ph>
MESSAGE
- 繰り返しフィールド
- 繰り返しフィールドの属性。
LIMIT 句
LIMIT
句:
- クエリのオプション句である。
- クエリが返す結果の数を制限できます。
この句は、サンプルのみに関心がある場合や、 結果の概要です
次のサンプルクエリでは、結果の総数を 50 に制限しています。
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
PARAMETERS 句
PARAMETERS
句を使用すると、リクエストのメタ パラメータを指定できます。
回答案を含める
include_drafts
パラメータは、下書きのエンティティを含めるかどうかを制御します。
表示されます。デフォルトは false
です。下書きのエンティティを含めるには、true
に設定します。
次のクエリ例では、下書き用キャンペーンと通常のキャンペーンの両方を返します。
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
未選択の resource_name
を除外
omit_unselected_resource_names
パラメータを使用すると、
明示的にリクエストされていないすべてのリソースの resource_name
フィールド
SELECT
句。デフォルト値は false
です。このパラメータを true
に設定すると、
プライマリ リソースのリソース名を明示的にリクエストすることを
属性を SELECT
句に含めます。
このクエリの例では、campaign.resource_name
も
customer.resource_name
フィールド(SELECT
に含まれていないため)
句:
SELECT
campaign.name,
customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true
このクエリ例では、campaign.resource_name
フィールドが返されます。
SELECT
句で明示的に要求します。
SELECT
campaign.name,
campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true
指標で使用する通貨の変更
metrics_currency
パラメータを使用すると、使用する通貨を指定できます。
SELECT
句に含まれる指標を計算するとき。
デフォルトでは、アカウントの現地通貨が使用されます。この変数を
パラメータには、ISO 4217 の 3 文字の通貨コードを使用する必要があります。
(例: USD、EUR)。
このクエリの例では、cost_micros 指標を あります。
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
次のクエリ例では、チリ ペソ(CLP)で cost_micros 指標を返します。
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"