Abfragestruktur und -klauseln

Eine Abfrage besteht aus einer Reihe von Klauseln: SELECT, FROM, WHERE, ORDER BY LIMIT, und PARAMETERS.

Klauseln verwenden Feldnamen, Ressourcennamen, Operatoren, Bedingungen und Reihenfolgen, die zu einer einzigen Abfrageanfrage kombiniert werden.

Grundsätzlich müssen Sie Folgendes tun, um eine Abfrage zu erstellen:

  • Geben Sie eine Ressource an, von der Daten abgerufen werden sollen.
  • Fügen Sie Felder und Messwerte hinzu, um festzulegen, welche Daten zurückgegeben werden sollen.
  • Fügen Sie Segmente hinzu, um Ihre Ergebnisse zu gruppieren.
  • Fügen Sie zugeordnete Ressourcen hinzu, um zugehörige Ressourcendaten implizit zusammenzuführen.
  • Sie können die Ergebnisse filtern, sortieren und einschränken.

SELECT-Klausel

In der SELECT-Klausel wird Folgendes ausgeführt:

  • Ist eine required-Klausel in einer Abfrage.
  • Gibt eine Reihe von Feldern an, die in der Anfrage abgerufen werden sollen.
  • Es wird eine durch Kommas getrennte Liste von Ressourcenfeldern, benutzerdefinierten Spalten, benutzerdefinierten Floodlight-Variablen, Segmentfelder und Messwerte und gibt die Werte in der Antwort.

Diese Beispielabfrage zeigt Ihnen, wie Sie Attribute der campaign auswählen Ressource:

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.id und bidding_strategy.name.
  • Segmentfelder: segments.device und segments.date.
  • Messwertfelder: metrics.impressions und 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

Siehe Segmentierung finden Sie weitere Informationen zur Segmentierung von Suchberichten.

Hauptressourcenfeld

Normalerweise würden Sie Ihr Hauptressourcenfeld in die Datei SELECT einfügen. Dies ist jedoch optional und nicht erforderlich.

In dieser Beispielabfrage wird ein Hauptressourcenfeld (ad_group.status) verwendet, um nur zu filtern die Ergebnisse.

SELECT campaign.id
FROM ad_group
WHERE ad_group.status = PAUSED

Benutzerdefinierte Floodlight-Variablen

Sie können benutzerdefinierte Floodlight-Variablen in die SELECT-Klausel einfügen, indem Sie ihre IDs.

In diesem Beispiel enthält die Abfrage eine benutzerdefinierte Variable mit der ID 123454321 für die Kampagnenressource zu erhalten.

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 zu erhalten.

SELECT
  custom_columns.id[12345678]
FROM campaign

Informationen zum Abrufen benutzerdefinierter Spalten-IDs

Messwertfelder

Sie können Messwertfelder für eine bestimmte Ressource auswählen, ohne andere aus der Ressource in der SELECT-Klausel.

Mit dieser Beispielabfrage werden die Messwerte impressions und clicks für die campaign ausgewählt. .

SELECT
  metrics.impressions,
  metrics.clicks
FROM campaign

Unter metrics finden Sie Liste mit Messwertfeldern, die Sie in Ihren Abfragen verwenden können.

Segmentierungsfelder

Sie können Segmentfelder auswählen, ohne zugehörige Ressourcenfelder anzugeben oder Messwerte in die SELECT-Klausel eingeben.

In dieser Beispielabfrage werden die Ergebnisse nach Gerät segmentiert.

SELECT segments.device
FROM campaign

Unter segments finden Sie Liste mit Segmentfeldern, 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, also Felder mit den Selectable-Metadaten -Attribut als false gekennzeichnet.
  • Wiederkehrende Felder, also Felder mit dem Metadatenattribut Repeated gekennzeichnet als true.
  • 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. Nur einige Ressourcen eine Teilmenge aller Messwerte und Segmente verfügbar machen.
  • Inkompatible Segmente oder Messwerte. Weitere Informationen finden Sie unter Segmentierung. Informationen.

In der Referenzdokumentation finden Sie weitere Informationen zu Details dazu, wo diese Informationen zu den einzelnen Ressourcen zu finden sind.

FROM-Klausel

In der FROM-Klausel wird Folgendes ausgeführt:

  • Ist eine erforderliche Klausel für Abfragen, SearchAds360Service (sowohl Search- als auch SearchStream-Methoden).
  • Sollte nicht für Abfragen an SearchAds360FieldService enthalten sein.
  • Gibt die Hauptressource an, die von der Abfrage zurückgegeben wird.
  • Es kann nur eine Ressource angegeben werden.
  • 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 dem Ressource, die Sie in der FROM-Klausel angeben. Sie müssen nur ihre Attribute SELECT-Klausel hinzu, um die Werte zurückzugeben.

Diese Beispielabfrage gibt sowohl die Anzeigengruppen-ID als auch die Kampagnen-ID zurück, campaign ist eine zugeordnete Ressource der Ressource ad_group.

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

Feld resource_name

Das Feld resource_name der Hauptressource in der FROM-Klausel ist immer zurückgegeben.

In dieser Beispielabfrage wird ad_group.resource_name in die Antwort aufgenommen. auch wenn sie in der Abfrage nicht explizit ausgewählt ist:

SELECT ad_group.id
FROM ad_group

Das Feld resource_name einer zugeordneten Ressource ist wird zurückgegeben, wenn mindestens ein Feld ausgewählt ist.

In dieser Beispielabfrage wird campaign.resource_name im Antwort, weil campaign.id ausgewählt ist:

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

WHERE-Klausel

In der WHERE-Klausel wird Folgendes ausgeführt:

  • Ist eine optionale Klausel in einer Abfrage.
  • Gibt Bedingungen zum Filtern und Segmentieren der Daten für die Anfrage an. Bedingungen folgen diesem Muster: FIELD_NAME OPERATOR VALUE (getrennt durch Leerzeichen).
  • Kann mehrere Bedingungen enthalten, die durch das Trennzeichen AND getrennt sind.

Diese Beispielabfrage zeigt, wie Sie mit der WHERE-Klausel impressions zurückgeben. Messwerte für einen bestimmten Zeitraum:

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

Siehe Segmentierung finden Sie weitere Informationen zur Segmentierung von Suchberichten.

Weitere Informationen zur Angabe von Datumsangaben finden Sie unter Zeiträume. Bereiche in Ihren Abfragen.

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 zum Filtern der Ergebnisse verwendet für eine bestimmte Kampagne:

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.

Bei dieser Beispielabfrage wird die Anzahl der clicks-Messwerte für alle Kampagnen angefordert mit impressions Messwerten auf Mobilgeräten in den letzten 30 Tagen.

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

Siehe Segmentierung finden Sie weitere Informationen zur Segmentierung von Berichten.

Groß-/Kleinschreibung

Beim Filtern nach Stringwerten wird die standardmäßige Groß- und Kleinschreibung jedes Operators berücksichtigt. spielt eine wichtige Rolle bei der korrekten Filterung Ihrer 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 (?i)-Modifikator kannst du die Standardempfindlichkeit für REGEXP_MATCH und NOT REGEXP_MATCH, damit die Groß- und Kleinschreibung nicht berücksichtigt wird. Beispiel:

SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"

In der Referenz zur Abfragegrammatik finden Sie eine vollständige Liste der Operatoren, mit denen Sie Ihre Daten filtern können.

Zentrale Datumssegmente

Die folgenden Segmentfelder werden als zentrale Datumssegmente bezeichnet: segments.date, segments.week, segments.month, segments.quarter und segments.year

Sie können zentrale Datumssegmente in der WHERE-Klausel verwenden, um ein Datum oder eine Uhrzeit anzugeben. Punkt.

In dieser Beispielabfrage wird DURING LAST_30_DAYS für das Feld segments.date angegeben. in der WHERE-Klausel:

SELECT
  campaign.id,
  campaign.name,
  segments.date,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

Siehe Segmentierung > Zentrale Datumssegmente für detaillierte Informationen zur Verwendung wichtiger Datumssegmente.

Unzulässiges Filtern

Filtern ist nicht zulässig:

  • Für nicht ausgewählte Segmentfelder, mit Ausnahme von wichtigen Datumssegmenten
  • Für Felder eines beliebigen Nachrichtentyps, mit Ausnahme von Primitiven (z. B. Int64Value, StringValue usw.).
  • Für Attribute von wiederkehrenden Feldern eines beliebigen Nachrichtentyps, mit Ausnahme von Primitiven (z. B. Int64Value oder StringValue).

ORDER BY-Klausel

In der ORDER BY-Klausel wird Folgendes ausgeführt:

  • Ist eine optionale Klausel in einer Abfrage.
  • Gibt die Reihenfolge an, in der die Ergebnisse zurückgegeben werden. Die Reihenfolge folgt Muster: FIELD_NAME ORDERING_OPTION (durch ein Leerzeichen getrennt).
  • Es sind zwei Optionen möglich: ASC (aufsteigend) oder DESC (absteigend). Standardwert ist aufsteigend.

Bei dieser Beispielabfrage werden die Kampagnen nach der Anzahl der Klicks in absteigender Reihenfolge sortiert. (absteigend):

SELECT
  campaign.name,
  metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC

Mehrere Bestellungen

Sie können in der ORDER BY-Klausel mehrere Felder angeben, indem Sie ein durch Kommas getrenntes Feld verwenden Liste. Die Ergebnisse werden in der Reihenfolge sortiert, die Sie in den Abfrage.

Mit dieser Beispielabfrage werden Anzeigengruppendaten ausgewählt und die Ergebnisse in aufsteigender Reihenfolge sortiert Sie werden nach Kampagnenname und dann in absteigender Reihenfolge nach der Anzahl der Impressionen sortiert. dann 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, Verfeinern der Ergebnisse.

Diese Beispielabfrage gibt die fünf Kampagnen mit den meisten Impressionen in den letzten 30 Tagen:

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

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: <ph type="x-smartling-placeholder">
      </ph>
    • MESSAGE
    • Wiederkehrende Felder
    • Attribute von wiederkehrenden Feldern.

LIMIT-Klausel

In der LIMIT-Klausel wird Folgendes ausgeführt:

  • 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 Zusammenfassung der Ergebnisse.

Bei dieser Beispielabfrage ist 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 Entwurfsentitäten in die Ergebnisse. Der Standardwert ist false. Legen Sie true fest, um Entwurfselemente einzubeziehen.

Diese Beispielabfrage gibt sowohl Kampagnenentwürfe als auch normale 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 Folgendes ausschließen: resource_name aller Ressourcen, die nicht explizit in Ihrem SELECT-Klausel angegeben werden. Der Standardwert ist false. Wenn Sie diesen Parameter auf true festlegen, empfehlen, den Ressourcennamen der primären Ressource und alle zugeordneten Ressourcen in der SELECT-Klausel.

Diese Beispielabfrage gibt weder campaign.resource_name noch den customer.resource_name-Feld, da diese nicht im SELECT enthalten sind Klausel:

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 SELECT-Klausel angefordert werden:

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 zu verwendende Währung angeben wenn Sie einen Messwert berechnen, der in der SELECT-Klausel enthalten ist. Standardmäßig wird die Landeswährung für das Konto verwendet. Wenn Sie diese müssen Sie den dreistelligen ISO 4217-Währungscode verwenden. Beispiel: USD, EUR.

Diese Beispielabfrage gibt den Messwert „cost_micros“ in der Landeswährung des Konto.

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"

Weitere Informationen