EXIST(...)
関数は、指定したタイプのアイテムを配下に 1 つ以上持つアイテムを抽出します。条件として指定する配下アイテムは、フィルタで絞り込むことも可能です。使用する際は、検証の対象にする配下アイテムのタイプを指定し、さらに必要であれば、検証対象のアイテムを絞り込むための子フィルタを追加します。子フィルタに一致しないアイテムや、指定したタイプ以外のアイテムは、配下に存在しても無視されます。フィルタを追加しなかった場合、指定したタイプの配下アイテム全般が検証対象となります。
NOTEXIST は、「特定のタイプの配下アイテムの件数 > 0」という記述を簡略化するための関数です。「EXIST(タイプ, フィルタ)
」は、「COUNT(タイプ, フィルタ) > 0
」と同じ意味になります。
構文
EXIST(タイプ, [フィルタ])
タイプ
-- 検証する配下アイテムのタイプを指定します。フィルタ
[任意] -- このフィルタに一致する配下アイテムだけが検証対象になります。
例
EXIST(キーワード, ラベル = ("abc", "xyz") )
ラベルが「abc」または「xyz」であるキーワードを 1 つ以上含むアイテム(キャンペーンや広告グループ)を抽出します。この例においては、「キーワード」が検証する配下アイテムのタイプ、「ラベル = ("abc", "xyz")」が配下アイテムを絞り込む子フィルタです。
EXIST(サイトリンク; 電話番号表示オプション, 承認状況 = 承認済み)
承認済みのサイトリンクまたは電話番号アセットが 1 つ以上関連付けられているアイテム(キャンペーンや広告グループ)を抽出します。
EXIST(広告)
広告(種類問わず)を 1 つ以上含むアイテム(キャンペーンや広告グループ)を抽出します。
EXIST(ラベル)
ラベルが 1 つ以上適用されているアイテムを抽出します。コンテナでないアイテムに対しても使用できる条件であり、たとえばキーワードに対して使用すれば、ラベルを 1 つ以上含むキーワードがすべて抽出されます。
備考
- 子フィルタで複数の条件を指定した場合、すべての条件に一致するアイテムだけが検証対象となります。複数の条件のいずれか 1 つ以上に一致するアイテムをすべて検証対象にしたい場合、条件を OR 関数で囲みます。たとえば、
EXIST(広告, OR(ステータス = 一時停止 承認状況 = 不承認))
とした場合、一時停止中、不承認、またはその両方である広告の有無が検証され、これらを 1 つでも含むアイテムがすべて抽出されます。
- フィルタには、特定のタイプのアイテムにしか当てはまらない条件を指定してもかまいません。当てはまらないタイプのアイテムが対象の場合、その条件は無視されます。たとえば、
EXIST(キーワード; サイトリンク, キーワードの単語数 = 2 リンクテキスト : "ローカル")
とした場合、単語数がちょうど 2 のキーワードを持つアイテムと、リンクテキストに「ローカル」を含むサイトリンクが関連付けられているアイテムが、両方に当てはまるものを含めてすべて抽出されます。
キャンペーンと広告グループに対する EXIST 関数の使用
広告グループの配下にしか置けないアイテムについての検索条件を、キャンペーンのレベルで適用した場合、各キャンペーンのすべての広告グループが検証対象となります。たとえば、キャンペーンのレベルで EXIST(キーワード)
と指定すると、キーワードを 1 つ以上持つ広告グループが配下に 1 つでも存在するキャンペーンが、すべて抽出されます。
広告グループの配下にもキャンペーンの配下にも置けるアイテムについての検索条件を、キャンペーンのレベルで適用した場合、各キャンペーン直下のアイテムだけが検証対象となります。たとえば、キャンペーンのレベルで EXIST(ユーザーリスト)
と指定すると、キャンペーン単位のユーザーリストを 1 つ以上持つキャンペーンだけが抽出されます。キャンペーン単位のユーザーリストを持たないキャンペーンは、配下に広告グループ単位のユーザーリストがあっても抽出されません。アセットについても同じことが言えます。キャンペーン レベルで EXIST(サイトリンク)
と指定すると、キャンペーン単位のサイトリンクのみが考慮され、キャンペーン単位の広告グループ レベルのサイトリンクは考慮されません。