Eine Abfrage besteht aus einer Reihe von Klauseln: SELECT
, FROM
, WHERE
, ORDER BY
, LIMIT
und PARAMETERS
.
In Klauseln werden Feldnamen, Ressourcennamen, Operatoren, Bedingungen und Reihenfolgen verwendet, die zu einer einzigen Abfrage zusammengefasst werden.
So erstellen Sie eine Abfrage:
- Geben Sie eine Ressource an, von der Daten abgerufen werden sollen.
- Fügen Sie Felder und Messwerte hinzu, um die Daten zu definieren, die Sie zurückgeben möchten.
- Fügen Sie Segmente hinzu, um Ihre Ergebnisse zu gruppieren.
- Fügen Sie zugeordnete Ressourcen hinzu, um zugehörige Ressourcendaten implizit zusammenzuführen.
- Ergebnisse filtern, sortieren und eingrenzen.
SELECT
-Klausel
Die SELECT
-Klausel:
- Ist eine erforderlich-Klausel in einer Abfrage.
- Gibt eine Reihe von Feldern an, die in der Anfrage abgerufen werden sollen.
- Verwendet eine durch Kommas getrennte Liste von Ressourcenfeldern, benutzerdefinierten Spalten, benutzerdefinierten Floodlight-Variablen, Segmentfeldern und Messwerten und gibt die Werte in der Antwort zurück.
Diese Beispielabfrage zeigt, wie Sie Attribute der Ressource campaign
auswählen:
SELECT
campaign.id,
campaign.name
FROM campaign
Mehrere Feldtypen
Sie können in einer Anfrage verschiedene Feldtypen anfordern.
Die folgende Beispielabfrage zeigt eine einzelne Abfrage mit einer Kombination aus:
- Ressourcenfelder:
campaign.id
,campaign.name
,bidding_strategy.id
undbidding_strategy.name
. - Segmentfelder:
segments.device
undsegments.date
. - Messwertfelder:
metrics.impressions
undmetrics.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.
Feld für Hauptressource
Normalerweise würden Sie das Hauptressourcenfeld in die SELECT
-Klausel aufnehmen. Dies ist jedoch optional und nicht erforderlich.
Diese Beispielabfrage verwendet ein Hauptressourcenfeld (ad_group.status
), um die Ergebnisse nur 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 aufnehmen.
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 aufnehmen.
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
Weitere 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 aufzunehmen.
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 zugehörige Ressourcenfelder oder Messwerte anzugeben.
In dieser Beispielabfrage werden 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 in der SELECT
-Klausel nicht verwendet werden:
- Nicht auswählbare Felder, d. h. Felder, bei denen das Metadatenattribut
Selectable
alsfalse
gekennzeichnet ist. - Wiederkehrende Felder, d. h. Felder, bei denen das Metadatenattribut
Repeated
alstrue
markiert ist. - Felder, die für die angegebene Ressource in der
FROM
-Klausel nicht verfügbar sind. Die Attribute einiger Ressourcen können nicht zusammen ausgewählt werden. Einige Ressourcen stellen nur einen Teil aller Messwerte und Segmente zur Verfügung. - Inkompatible Segmente oder Messwerte. Weitere Informationen finden Sie unter Segmentierung.
In der Referenzdokumentation erfahren Sie, wo Sie diese Informationen für die einzelnen Ressourcen finden.
FROM-Klausel
Die FROM
-Klausel:
- Ist eine erforderliche Klausel für Abfragen an die Methode
SearchAds360Service
(sowohl die MethodenSearch
als auchSearchStream
). - Sollte für Abfragen an
SearchAds360FieldService
nicht enthalten sein. - Gibt die Hauptressource an, die die Abfrage zurückgibt.
- Kann nur eine einzelne Ressource angeben.
- Definiert die Felder, die Sie in allen anderen Klauseln in 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 ihre Attribute nur der SELECT
-Klausel hinzufügen, damit ihre Werte zurückgegeben werden.
Diese Beispielabfrage gibt sowohl die Anzeigengruppen-ID als auch die Kampagnen-ID zurück, da campaign
eine zugeordnete Ressource der Ressource ad_group
ist.
SELECT
campaign.id,
ad_group.id
FROM ad_group
Feld resource_name
Das Feld resource_name
der Hauptressource in der FROM
-Klausel wird immer zurückgegeben.
In dieser Beispielabfrage ist ad_group.resource_name
in der Antwort enthalten, auch wenn dies nicht explizit in der Abfrage ausgewählt ist:
SELECT ad_group.id
FROM ad_group
Das Feld resource_name
einer zugewiesenen 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_NAME
OPERATOR
VALUE
(durch Leerzeichen getrennt). - Kann mehrere Bedingungen enthalten, die durch das Trennzeichen
AND
getrennt sind.
Diese Beispielabfrage zeigt, wie Sie mit der WHERE
-Klausel impressions
-Messwerte für einen bestimmten Zeitraum zurückgeben:
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 zur Angabe von Zeiträumen in Abfragen finden Sie unter Zeiträume.
Nach Feld „resource_name
“ filtern
Mit dem Feld resource_name
können Sie Daten filtern oder 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 in den letzten 30 Tagen 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.
Groß-/Kleinschreibung
Beim Filtern nach Stringwerten spielt die standardmäßige Groß-/Kleinschreibung jedes Operators eine wichtige Rolle für die korrekte Filterung der Ergebnisse.
Die folgende Tabelle zeigt die standardmäßige Groß-/Kleinschreibung der einzelnen Operatoren.
Standardmäßige 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 Modifikator (?i)
können Sie die Standardempfindlichkeit für REGEXP_MATCH
und NOT REGEXP_MATCH
so ändern, dass die Groß-/Kleinschreibung nicht berücksichtigt wird. 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.
Kerndatensegmente
Die folgenden Segmentfelder werden als Hauptdatumssegmente bezeichnet: segments.date
, segments.week
, segments.month
, segments.quarter
und segments.year
.
Sie können Kerndatumssegmente in der WHERE
-Klausel verwenden, um ein Datum oder einen Zeitraum anzugeben.
Diese Beispielabfrage gibt DURING LAST_30_DAYS
für das Feld segments.date
in der WHERE
-Klausel an:
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Ausführliche Informationen zur Verwendung von Kerndatumssegmenten finden Sie unter Segmentierung > Kerndatumssegmente.
Unzulässige Filter
Filtern ist nicht zulässig:
- In nicht ausgewählten Segmentfeldern, mit Ausnahme von Kerndatensegmenten
- Für Felder eines beliebigen Nachrichtentyps mit Ausnahme von Primitiven (z. B.
Int64Value
,StringValue
usw.). - Für Attribute wiederkehrender Felder eines beliebigen Nachrichtentyps mit Ausnahme von Primitiven (z. B.
Int64Value
,StringValue
usw.).
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 erfolgt nach diesem Muster:
FIELD_NAME
ORDERING_OPTION
(durch ein Leerzeichen getrennt). - Zwei Optionen sind zulässig:
ASC
(aufsteigend) oderDESC
(absteigend). Der Standardwert ist aufsteigend.
In dieser Beispielabfrage werden die Kampagnen nach der Anzahl der Klicks in absteigender Reihenfolge sortiert (höchster zuerst):
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
Mehrere Bestellungen
Sie können mithilfe einer durch Kommas getrennten Liste mehrere Felder in der ORDER BY
-Klausel angeben. Die Ergebnisse werden in der Reihenfolge sortiert, die Sie in der Abfrage angeben.
Diese Beispielabfrage wählt Anzeigengruppendaten aus und sortiert die Ergebnisse in aufsteigender Reihenfolge nach Kampagnenname, dann in absteigender Reihenfolge nach Anzahl der Impressionen und anschließend in absteigender Reihenfolge nach Anzahl der Klicks:
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
Reihenfolge und Limit kombinieren
Sie können die ORDER BY
-Klausel in Kombination mit der LIMIT
-Klausel verwenden, um die Ergebnisse zu verfeinern.
Diese Beispielabfrage gibt die fünf Kampagnen mit den höchsten Impressionen in den letzten 30 Tagen zurück:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5
Verbotene Bestellung
Die Sortierung ist nicht zulässig:
- Nach Attributen nicht ausgewählter Ressourcen.
- Nach nicht ausgewählten Messwerten.
- Nach nicht ausgewählten Segmenten.
- Für diese Feldtypen gilt:
MESSAGE
- Wiederkehrende Felder
- Attribute von wiederkehrenden Feldern.
LIMIT-Klausel
Die LIMIT
-Klausel:
- Ist eine optionale Klausel in einer Abfrage.
- Ermöglicht Ihnen, die Anzahl der Ergebnisse zu begrenzen, die die Abfrage zurückgibt.
Diese Klausel ist beispielsweise nützlich, wenn Sie nur an einer Stichprobe oder an einer Zusammenfassung der Ergebnisse interessiert sind.
Diese Beispielabfrage begrenzt die Gesamtzahl der Ergebnisse auf 50:
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.
Vorschläge einschließen
Mit dem Parameter include_drafts
wird festgelegt, ob Entwurfselemente in die Ergebnisse aufgenommen werden. Der Standardwert ist false
. Legen Sie dafür true
fest, um Entwürfe einzuschließen.
Diese Beispielabfrage gibt sowohl Kampagnenentwürfe als auch reguläre Kampagnen zurück:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
Nicht ausgewählte resource_name
weglassen
Mit dem Parameter omit_unselected_resource_names
können Sie das Feld resource_name
aller Ressourcen ausschließen, die in der SELECT
-Klausel nicht explizit angefordert werden. Der Standardwert ist false
. Wenn Sie diesen Parameter auf true
setzen, empfehlen wir, den Ressourcennamen der primären Ressource und aller zugeordneten Ressourcen in der SELECT
-Klausel explizit anzufordern.
Diese Beispielabfrage gibt weder das Feld campaign.resource_name
noch das Feld customer.resource_name
zurück, da diese nicht in der SELECT
-Klausel enthalten sind:
SELECT
campaign.name,
customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Diese Beispielabfrage gibt das Feld campaign.resource_name
zurück, da es explizit in der Klausel SELECT
angefordert wird:
SELECT
campaign.name,
campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true
In Messwerten verwendete Währung ändern
Mit dem Parameter metrics_currency
können Sie die Währung angeben, die bei der Berechnung eines Messwerts in der SELECT
-Klausel verwendet werden soll.
Standardmäßig wird die Landeswährung für das Konto verwendet. Wenn Sie diesen Parameter festlegen, müssen Sie den dreistelligen Währungscode gemäß ISO 4217 verwenden.
Beispiel: USD, EUR.
Diese Beispielabfrage gibt den Messwert „cost_micros“ in der Landeswährung des Kontos zurück.
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
Diese Beispielabfrage gibt den Messwert „cost_micros“ in chilenischen Pesos (CLP) zurück.
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"