Eine Abfrage besteht aus einer Reihe von Klauseln:
SELECT,
FROM,
WHERE,
ORDER BY,
LIMIT und
PARAMETERS.
In den Klauseln werden Feldnamen, Ressourcennamen, Operatoren, Bedingungen und Sortierungen verwendet, die zu einer einzelnen Abfrageanfrage kombiniert werden.
So erstellen Sie eine Abfrage:
- Geben Sie eine Ressource an, aus der Daten abgerufen werden sollen.
- Fügen Sie Felder und Messwerte hinzu, um die Daten zu definieren, die zurückgegeben werden sollen.
- Fügen Sie Segmente hinzu, um die Ergebnisse zu gruppieren.
- Fügen Sie zugeschriebene Ressourcen hinzu, um zugehörige Ressourcendaten implizit zu verknüpfen.
- Filtern, sortieren und begrenzen Sie die Ergebnisse.
SELECT-Klausel
Die SELECT-Klausel:
- Ist eine erforderliche Klausel in einer Abfrage.
- Gibt eine Reihe von Feldern an, die in der Anfrage abgerufen werden sollen.
- Akzeptiert eine durch Kommas getrennte Liste von Ressourcenfeldern, benutzerdefinierten Spalten, benutzerdefinierten Floodlight-Variablen, Segmentfeldern und Messwerten und gibt die Werte in der Antwort zurück.
In dieser Beispielabfrage wird gezeigt, wie Sie Attribute der Ressource campaign auswählen:
SELECT
campaign.id,
campaign.name
FROM campaign
Mehrere Feldtypen
Sie können in derselben Anfrage verschiedene Feldtypen anfordern.
Die folgende Beispielabfrage zeigt eine einzelne Abfrage mit einer Kombination aus:
Ressourcenfelder:
campaign.id,campaign.name,bidding_strategy.idundbidding_strategy.name.Segmentfelder:
segments.deviceundsegments.date.Messwertfelder:
metrics.impressionsundmetrics.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
Weitere Informationen zum Segmentieren von Suchberichten finden Sie unter Segmentierung.
Hauptressourcenfeld
Normalerweise würden Sie das Hauptressourcenfeld in die SELECT-Klausel einfügen. Dies ist jedoch optional (nicht erforderlich).
In dieser Beispielabfrage wird ein Hauptressourcenfeld (ad_group.status) verwendet, um die Ergebnisse zu filtern.
SELECT campaign.id
FROM ad_group
WHERE ad_group.status = PAUSED
Benutzerdefinierte Floodlight-Variablen
Sie können benutzerdefinierte Floodlight-Variablen mithilfe ihrer IDs in die SELECT-Klausel einfügen.
In diesem Beispiel enthält die Abfrage eine benutzerdefinierte Variable mit der ID 123454321 für die Kampagnenressource.
SELECT
conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
conversion_custom_dimensions.id[123454321]
FROM campaign
Benutzerdefinierte Spalten
Sie können benutzerdefinierte Spalten mithilfe ihrer IDs in die SELECT-Klausel einfügen.
In diesem Beispiel enthält die Abfrage eine benutzerdefinierte Spalte mit der ID 12345678 für die Kampagnenressource.
SELECT
custom_columns.id[12345678]
FROM campaign
Informationen zum Abrufen von IDs für benutzerdefinierte Spalten .
Messwertfelder
Sie können Messwertfelder für eine bestimmte Ressource auswählen, ohne andere Felder aus der Ressource in die SELECT-Klausel einzufügen.
In dieser Beispielabfrage werden die Messwerte impressions und clicks für die Ressource campaign ausgewählt.
SELECT
metrics.impressions,
metrics.clicks
FROM campaign
Unter metrics finden Sie eine Liste der Messwertfelder, die Sie in
Ihren Abfragen verwenden können.
Segmentfelder
Sie können Segmentfelder auswählen, ohne in der SELECT-Klausel begleitende Ressourcenfelder oder Messwerte anzugeben.
In dieser Beispielabfrage werden die Ergebnisse nach Gerät segmentiert.
SELECT segments.device
FROM campaign
Unter segments finden Sie eine Liste der Segmentfelder, die Sie in Ihren Abfragen verwenden können.
Unzulässige Felder
Die folgenden Felder können nicht in der SELECT-Klausel verwendet werden:
Nicht auswählbare Felder, d. h. Felder, bei denen das Metadatenattribut
Selectablealsfalsegekennzeichnet ist.Wiederholte Felder, d. h. Felder, bei denen das Metadatenattribut
Repeatedalstruegekennzeichnet ist.Felder, die für die angegebene Ressource in der
FROM-Klausel nicht verfügbar sind. Attribute einiger Ressourcen können nicht zusammen ausgewählt werden. Für einige Ressourcen ist nur eine Teilmenge aller Messwerte und Segmente verfügbar.Inkompatible Segmente oder Messwerte. Weitere Informationen finden Sie unter Segmentierung.
In der Referenzdokumentation finden Sie Details dazu, wo Sie diese Informationen für jede Ressource finden.
`FROM`-Klausel
Die FROM-Klausel:
Ist eine erforderliche Klausel für Abfragen an
SearchAds360Service(sowohl die MethodenSearchals auchSearchStream).Darf nicht für Abfragen an
SearchAds360FieldServiceverwendet werden.Gibt die Hauptressource an, die von der Abfrage zurückgegeben wird.
Kann nur eine einzelne Ressource angeben.
Definiert die Felder, die Sie in allen anderen Klauseln der Abfrage verwenden können.
Zugeordnete Ressourcen
Wenn zugeordnete Ressourcen verfügbar sind, werden sie implizit mit der Ressource verknüpft, die Sie in der FROM-Klausel angeben. Sie müssen nur ihre Attribute zur SELECT-Klausel hinzufügen, um ihre Werte zurückzugeben.
In dieser Beispielabfrage werden sowohl die Anzeigengruppen-ID als auch die Kampagnen-ID zurückgegeben, da campaign eine zugeordnete Ressource der Ressource ad_group ist.
SELECT
campaign.id,
ad_group.id
FROM ad_group
resource_name-Feld
Das Feld resource_name der Hauptressource in der FROM-Klausel wird immer zurückgegeben.
In dieser Beispielabfrage wird ad_group.resource_name in die Antwort aufgenommen, obwohl es in der Abfrage nicht explizit ausgewählt ist:
SELECT ad_group.id
FROM ad_group
Das Feld resource_name einer
zugeordneten Ressource wird
zurückgegeben, wenn mindestens ein Feld ausgewählt ist.
In dieser Beispielabfrage wird campaign.resource_name in die Antwort aufgenommen, da campaign.id ausgewählt ist:
SELECT
campaign.id,
ad_group.id
FROM ad_group
`WHERE`-Klausel
Die WHERE-Klausel:
- Ist eine optionale Klausel in einer Abfrage.
Gibt Bedingungen zum Filtern und Segmentieren der Daten für die Anfrage an. Die Bedingungen folgen diesem Muster:
FIELD_NAMEOPERATORVALUE(durch Leerzeichen getrennt).Kann mehrere Bedingungen enthalten, die durch das Trennzeichen
ANDgetrennt sind.
In dieser Beispielabfrage wird gezeigt, wie Sie die WHERE-Klausel verwenden, um impressions-Messwerte für einen bestimmten Zeitraum zurückzugeben:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Weitere Informationen zum Segmentieren von Suchberichten finden Sie unter Segmentierung.
Weitere Informationen zum Angeben von Zeit räumen in Abfragen finden Sie unter Zeiträume.
Nach dem Feld resource_name filtern
Sie können das Feld resource_name verwenden, um Daten zu filtern oder zu sortieren.
In dieser Beispielabfrage wird das Feld campaign.resource_name verwendet, um die Ergebnisse nach einer bestimmten Kampagne zu filtern:
SELECT
campaign.id,
campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'
Mehrere Bedingungen
Sie können mehrere Bedingungen kombinieren, um Ihre Daten zu filtern.
In dieser Beispielabfrage wird die Anzahl der clicks-Messwerte für alle Kampagnen mit impressions-Messwerten auf Mobilgeräten für die letzten 30 Tage angefordert.
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
Weitere Informationen zum Segmentieren von Berichten finden Sie unter Segmentierung.
Berücksichtigung der Groß-/Kleinschreibung
Beim Filtern nach Stringwerten spielt die Standardeinstellung für die Berücksichtigung der Groß-/Kleinschreibung jedes Operators eine wichtige Rolle, um die Ergebnisse korrekt zu filtern.
In der folgenden Tabelle ist die Standardeinstellung für die Berücksichtigung der Groß-/Kleinschreibung für jeden Operator aufgeführt.
| Standardeinstellung für die Berücksichtigung der Groß-/Kleinschreibung | |
|---|---|
=/!= |
Case sensitive |
IN/NOT IN |
Case sensitive |
LIKE/NOT LIKE |
Case insensitive |
CONTAINS (...) |
Case sensitive |
REGEXP_MATCH/NOT REGEXP_MATCH |
Case sensitive |
Mit dem (?i) Modifikator können Sie die Standardeinstellung für die Berücksichtigung der Groß-/Kleinschreibung für
REGEXP_MATCH und NOT REGEXP_MATCH in „Case insensitive“ ändern. Beispiel:
SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"
Eine vollständige Liste der Operatoren, die Sie zum Filtern Ihrer Daten verwenden können, finden Sie in der Referenz zur Abfragegrammatik.
Hauptdatumssegmente
Die folgenden Segmentfelder werden als Hauptdatumssegmente bezeichnet:
segments.date, segments.week, segments.month, segments.quarter, und
segments.year.
Sie können Hauptdatumssegmente in der WHERE-Klausel verwenden, um ein Datum oder einen Zeitraum anzugeben.
In dieser Beispielabfrage wird DURING LAST_30_DAYS für das Feld segments.date in der WHERE-Klausel angegeben:
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Weitere Informationen zur Verwendung von Hauptdatumssegmenten finden Sie unter Segmentierung > Hauptdatumssegmente.
Unzulässige Filter
Filter sind nicht zulässig:
Für nicht ausgewählte Segmentfelder, mit Ausnahme von Hauptdatumssegmenten.
Für Felder eines beliebigen Nachrichtentyps, mit Ausnahme von einfachen Typen (z. B.
Int64Value,StringValueusw.).Für Attribute wiederholter Felder eines beliebigen Nachrichtentyps, mit Ausnahme von einfachen Typen (z. B.
Int64Value,StringValueusw.).
`ORDER BY`-Klausel
Die ORDER BY-Klausel:
- Ist eine optionale Klausel in einer Abfrage.
- Gibt die Reihenfolge an, in der die Ergebnisse zurückgegeben werden. Die Sortierung folgt diesem
Muster:
FIELD_NAMEORDERING_OPTION(durch ein Leerzeichen getrennt). - Es gibt zwei Optionen:
ASC(aufsteigend) oderDESC(absteigend). Die Standardeinstellung ist aufsteigend.
In dieser Beispielabfrage werden die Kampagnen nach Anzahl der Klicks in absteigender Reihenfolge sortiert (vom höchsten zum niedrigsten Wert):
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
Mehrere Sortierungen
Sie können in der ORDER BY-Klausel mehrere Felder in einer durch Kommas getrennten Liste angeben. Die Ergebnisse werden in derselben Reihenfolge sortiert, die Sie in der Abfrage angeben.
In dieser Beispielabfrage werden Anzeigengruppendaten ausgewählt und die Ergebnisse in aufsteigender Reihenfolge nach Kampagnennamen, dann in absteigender Reihenfolge nach Anzahl der Impressionen und dann in absteigender Reihenfolge nach Anzahl der Klicks sortiert:
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
Sortierung und Limit kombinieren
Sie können die ORDER BY-Klausel in Kombination mit der LIMIT-Klausel verwenden, um die Ergebnisse zu verfeinern.
In dieser Beispielabfrage werden die fünf Kampagnen mit den höchsten Impressionen in den letzten 30 Tagen zurückgegeben:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5
Unzulässige Sortierungen
Sortierungen sind nicht zulässig:
- Nach Attributen nicht ausgewählter Ressourcen.
- Nach nicht ausgewählten Messwerten.
- Nach nicht ausgewählten Segmenten.
- Für diese Feldtypen:
MESSAGE- Wiederholte Felder
- Attribute wiederholter Felder.
`LIMIT`-Klausel
Die LIMIT-Klausel:
- Ist eine optionale Klausel in einer Abfrage.
- Ermöglicht es Ihnen, die Anzahl der Ergebnisse zu begrenzen, die von der Abfrage zurückgegeben werden.
Diese Klausel ist beispielsweise nützlich, wenn Sie nur an einer Stichprobe oder Zusammenfassung der Ergebnisse interessiert sind.
In dieser Beispielabfrage wird die Gesamtzahl der Ergebnisse auf 50 begrenzt:
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
`PARAMETERS`-Klausel
Mit der PARAMETERS-Klausel können Sie Metaparameter für die Anfrage angeben.
Entwürfe einschließen
Mit dem Parameter include_drafts wird gesteuert, ob Entwurfseinheiten in die Ergebnisse aufgenommen werden. Die Standardeinstellung ist false. Setzen Sie den Parameter auf true, um Entwurfseinheiten einzuschließen.
In dieser Beispielabfrage werden sowohl Entwurfskampagnen als auch reguläre Kampagnen zurückgegeben:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
Nicht ausgewählte resource_name weglassen
Mit dem omit_unselected_resource_names Parameter können Sie das
resource_name Feld aller Ressourcen ausschließen, die in der
SELECT Klausel nicht explizit angefordert werden. Die Standardeinstellung ist false. Wenn Sie diesen Parameter auf true setzen, empfehlen wir, den Ressourcennamen der primären Ressource und aller zugeordneten Ressourcen explizit in der SELECT-Klausel anzufordern.
In dieser Beispielabfrage werden weder das Feld campaign.resource_name noch das Feld customer.resource_name zurückgegeben, da sie nicht in der SELECT-Klausel enthalten sind:
SELECT
campaign.name,
customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true
In dieser Beispielabfrage wird das Feld campaign.resource_name zurückgegeben, da es explizit in der SELECT-Klausel angefordert wird:
SELECT
campaign.name,
campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Währung für Messwerte ändern
Mit dem Parameter metrics_currency können Sie die Währung angeben, die bei der Berechnung eines Messwerts verwendet werden soll, der in der SELECT-Klausel enthalten ist. Standardmäßig wird die Währung des Kontos verwendet, das durch customer_id angegeben wird. Wenn Sie diesen Parameter festlegen,
müssen Sie den dreistelligen Währungscode gemäß ISO 4217 verwenden. Beispiel: USD, EUR.
In dieser Beispielabfrage wird der Messwert „cost_micros“ in der Währung des Kontos zurückgegeben, das durch customer_id angegeben wird.
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
In dieser Beispielabfrage wird der Messwert „cost_micros“ in chilenischen Pesos (CLP) zurückgegeben.
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"
MCC-Erweiterung aktivieren
Wenn der Parameter enable_mcc_expansion auf „true“ gesetzt ist, können Sie Messwerte, Felder und Segmente aus allen Konten einbeziehen, die unter customer_id für die Ressource in der FROM-Klausel verwaltet werden. In der Antwort wird die Währung von customer_id verwendet, sofern sie nicht explizit im Parameter metrics_currency angegeben ist.
In dieser Beispielabfrage werden bidding_strategy.name, bidding_strategy.type und metrics.cost_micros aus allen Konten in der Kontohierarchie zurückgegeben, die unter customer_id verwaltet werden, da der Parameter enable_mcc_expansion auf true gesetzt ist.
SELECT
bidding_strategy.name,
bidding_strategy.type,
metrics.cost_micros
FROM bidding_strategy
WHERE segments.date DURING LAST_14_DAYS
PARAMETERS enable_mcc_expansion = true