Struttura della query e clausole

Una query è composta da una serie di clausole: SELECT, FROM, WHERE, ORDER BY, LIMIT, e PARAMETERS.

Le clausole utilizzano nomi campo, nomi delle risorse, operatori, condizioni, e ordering che si combinano in una singola richiesta di query.

In termini di base, per creare una query devi:

  • Specifica una risorsa da cui recuperare i dati.
  • Aggiungi campi e metriche per definire i dati da restituire.
  • Aggiungi segmenti per raggruppare i risultati.
  • Aggiungi risorse attribuite per unire implicitamente i dati delle risorse correlate.
  • Filtra, ordina e limita i risultati.

Clausola SELECT

La clausola SELECT:

  • È una clausola obbligatoria in una query.
  • Specifica un insieme di campi da recuperare nella richiesta.
  • Utilizza un elenco separato da virgole di campi risorsa, colonne personalizzate, le variabili Floodlight, i campi del segmento e le metriche e restituisce i valori nella la risposta corretta.

Questa query di esempio mostra come selezionare gli attributi dell'elemento campaign risorsa:

SELECT
  campaign.id,
  campaign.name
FROM campaign

Più tipi di campi

Nella stessa richiesta, puoi richiedere diversi tipi di campi.

La seguente query di esempio mostra una singola query con una combinazione di:

  • Campi risorsa: campaign.id, campaign.name, bidding_strategy.id e bidding_strategy.name.
  • Campi del segmento: segments.device e segments.date.
  • Campi delle metriche: metrics.impressions e 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

Consulta Segmentazione. per saperne di più sulla segmentazione dei report di ricerca.

Campo risorsa principale

Generalmente, dovresti includere il campo della risorsa principale nel campo SELECT , ma si tratta di un'opzione facoltativa (non obbligatoria).

Questa query di esempio utilizza un campo della risorsa principale (ad_group.status) solo per filtrare i risultati.

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

Variabili Floodlight personalizzate

Puoi includere variabili Floodlight personalizzate nella clausola SELECT utilizzando il relativo ID.

In questo esempio, la query include una variabile personalizzata con ID 123454321 per il valore risorsa della campagna.

SELECT
  conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
  conversion_custom_dimensions.id[123454321]
FROM campaign

Colonne personalizzate

Puoi includere colonne personalizzate nella clausola SELECT utilizzando i relativi ID.

In questo esempio, la query include una colonna personalizzata con ID 12345678 per risorsa della campagna.

SELECT
  custom_columns.id[12345678]
FROM campaign

Scopri come ottenere gli ID colonna personalizzati.

Campi delle metriche

Puoi selezionare i campi delle metriche per una determinata risorsa senza includerne altri della risorsa nella clausola SELECT.

Questa query di esempio seleziona le metriche impressions e clicks per campaign risorsa.

SELECT
  metrics.impressions,
  metrics.clicks
FROM campaign

Visita metrics per dei campi delle metriche che puoi utilizzare nelle query.

Campi relativi ai segmenti

Puoi selezionare i campi dei segmenti senza specificare i campi risorsa di accompagnamento o metriche nella clausola SELECT.

Questa query di esempio segmenta i risultati per dispositivo.

SELECT segments.device
FROM campaign

Visita segments per dei segmenti che puoi utilizzare nelle query.

Campi vietati

Non puoi utilizzare i seguenti campi nella clausola SELECT:

  • Campi non selezionabili, ovvero campi con i metadati Selectable contrassegnato come false.
  • Campi ripetuti, ovvero campi con l'attributo di metadati Repeated contrassegnato come true.
  • Campi non disponibili per la risorsa specificata nella clausola FROM. Gli attributi di alcune risorse non possono essere selezionati insieme. Solo alcune risorse rendere disponibile un sottoinsieme di tutte le metriche e tutti i segmenti.
  • Segmenti o metriche incompatibili. Consulta Segmentazione per ulteriori informazioni. informazioni.

Consulta la documentazione di riferimento per su dove trovare queste informazioni per ogni risorsa.

Clausola FROM

La clausola FROM:

  • È una clausola obbligatoria per le query SearchAds360Service: (entrambi i metodi Search e SearchStream).
  • Non deve essere incluso per le query a SearchAds360FieldService.
  • Specifica la risorsa principale restituita dalla query.
  • Puoi specificare una sola risorsa.
  • Definisce i campi che puoi utilizzare in tutte le altre clausole della query.
di Gemini Advanced.

Risorse attribuite

Se sono disponibili risorse attribuite, vengono implicitamente unite ai specificata nella clausola FROM. Devi solo aggiungere i loro attributi alla clausola SELECT per restituire i relativi valori.

Questa query di esempio restituisce sia l'ID gruppo di annunci sia l'ID campagna, perché campaign è una risorsa attribuita della risorsa ad_group.

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

Campo resource_name

Il campo resource_name della risorsa principale nella clausola FROM è sempre restituito.

In questa query di esempio, nella risposta verrà incluso ad_group.resource_name anche se non è esplicitamente selezionato nella query:

SELECT ad_group.id
FROM ad_group

Il campo resource_name di una risorsa attribuita è restituito quando è selezionato almeno un campo.

In questa query di esempio, campaign.resource_name verrà incluso nel risposta perché è stato selezionato campaign.id:

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

Clausola WHERE

La clausola WHERE:

  • È una clausola facoltativa in una query.
  • Specifica le condizioni per filtrare e segmentare i dati per la richiesta. Le condizioni seguono questo schema: FIELD_NAME OPERATOR VALUE (separato da spazi vuoti).
  • Può includere più condizioni separate dal separatore AND.

Questa query di esempio mostra come utilizzare la clausola WHERE per restituire impressions metriche per un determinato periodo di tempo:

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

Consulta Segmentazione. per saperne di più sulla segmentazione dei report di ricerca.

Consulta la sezione Intervalli di date per scoprire di più su come specificare una data. diversi nelle tue query.

Filtra per campo resource_name

Puoi utilizzare il campo resource_name per filtrare o ordinare i dati.

Questa query di esempio utilizza il campo campaign.resource_name per filtrare i risultati da una determinata campagna:

SELECT
  campaign.id,
  campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'

Più condizioni

Puoi combinare più condizioni per filtrare i dati.

Questa query di esempio richiede il numero di metriche clicks per tutte le campagne con impressions metriche su dispositivi mobili per gli ultimi 30 giorni.

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

Consulta Segmentazione. per ulteriori informazioni sulla segmentazione dei report.

Distinzione tra maiuscole e minuscole

Quando filtri i valori di stringa, la distinzione tra maiuscole e minuscole predefinita di ciascun operatore gioca un ruolo importante nel filtrare correttamente i risultati.

La tabella seguente mostra la distinzione tra maiuscole e minuscole predefinita di ciascun operatore.

Sensibilità alle maiuscole predefinita
=/!= Case sensitive
IN/NOT IN Case sensitive
LIKE/NOT LIKE Case insensitive
CONTAINS (...) Case sensitive
REGEXP_MATCH/NOT REGEXP_MATCH Case sensitive

Puoi utilizzare il tasto di modifica (?i) per cambiare la sensibilità predefinita per REGEXP_MATCH e NOT REGEXP_MATCH senza distinzione tra maiuscole e minuscole, ad esempio:

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

Consulta la pagina Riferimento grammaticale per le query per un elenco completo delle operatori che puoi utilizzare per filtrare i dati.

Segmenti di date principali

I seguenti campi dei segmenti sono noti come segmenti di date principali: segments.date, segments.week, segments.month, segments.quarter e segments.year.

Puoi utilizzare i segmenti di data principali nella clausola WHERE per specificare una data o un'ora punto.

Questa query di esempio specifica DURING LAST_30_DAYS per il campo segments.date nella clausola WHERE:

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

Consulta Segmentazione > Segmenti di data principali per conoscere informazioni sull'uso dei segmenti di data principali.

Filtro vietato

Applicazione di filtri non consentita:

  • Nei campi non selezionati dei segmenti, ad eccezione dei segmenti di data principali.
  • Nei campi di qualsiasi tipo di messaggio, ad eccezione dei tipi primitivi (ad esempio Int64Value, StringValue e così via).
  • Sugli attributi dei campi ripetuti di qualsiasi tipo di messaggio, ad eccezione delle primitive (ad es. Int64Value, StringValue e così via).

Clausola ORDER BY

La clausola ORDER BY:

  • È una clausola facoltativa in una query.
  • Specifica l'ordine in cui vengono restituiti i risultati. L'ordine segue questo motivo: FIELD_NAME ORDERING_OPTION (separato da uno spazio vuoto).
  • Consente due opzioni: ASC (crescente) o DESC (ordine decrescente). Il valore predefinito è crescente.

Questa query di esempio ordina le campagne in base al numero di clic in ordine decrescente (dal più alto al più basso):

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

Ordini multipli

Puoi specificare più campi nella clausola ORDER BY utilizzando una virgola dall'elenco di lettura. I risultati verranno ordinati nella stessa sequenza specificata nel campo query.

Questa query di esempio seleziona i dati del gruppo di annunci e ordina i risultati in ordine crescente in base al nome della campagna, poi in ordine decrescente in base al numero di impressioni e quindi, in ordine decrescente in base al numero di clic:

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

Combina ordinamento e limite

Puoi utilizzare la clausola ORDER BY in combinazione con la clausola LIMIT per per perfezionare i risultati.

Questa query di esempio restituisce le cinque campagne con il maggior numero di impressioni su ultimi 30 giorni:

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5

Ordinazione vietata

Ordinamento non consentito:

  • In base ad attributi delle risorse non selezionate.
  • In base a metriche non selezionate.
  • Per segmenti non selezionati.
  • Per questi tipi di campi:
    • MESSAGE
    • Campi ripetuti
    • Attributi dei campi ripetuti.

Clausola LIMIT

La clausola LIMIT:

  • È una clausola facoltativa in una query.
  • Consente di limitare il numero di risultati restituiti dalla query.

Questa clausola è utile, ad esempio, se ti interessa solo un campione un riepilogo dei risultati.

Questa query di esempio limita il numero totale di risultati a 50:

SELECT
  campaign.name,
  ad_group.name,
  segments.device,
  metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50

Clausola PARAMETERS

La clausola PARAMETERS consente di specificare meta parametri per la richiesta.

Includi bozze

Il parametro include_drafts consente di stabilire se includere o meno le bozze di entità i risultati. Il valore predefinito è false. Impostalo su true per includere bozze di entità.

Questa query di esempio restituisce sia le bozze di campagna sia le campagne standard:

SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true

Ometti resource_name deselezionato

Il parametro omit_unselected_resource_names ti consente di escludere Campo resource_name di tutte le risorse che non sono richieste esplicitamente in SELECT. Il valore predefinito è false. Se imposti questo parametro su true, ti consigliamo di richiedere esplicitamente il nome della risorsa principale e le eventuali risorse attribuite nella clausola SELECT.

Questa query di esempio non restituisce né campaign.resource_name né la customer.resource_name, perché non è incluso nel SELECT clausola:

SELECT
  campaign.name,
  customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true

Questa query di esempio restituisce il campo campaign.resource_name, perché è esplicitamente richiesto nella clausola SELECT:

SELECT
  campaign.name,
  campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true

Cambiare la valuta utilizzata nelle metriche

Il parametro metrics_currency consente di specificare la valuta da utilizzare quando calcoli una metrica inclusa nella clausola SELECT. Per impostazione predefinita, viene utilizzata la valuta locale dell'account. Se imposti questo devi utilizzare il codice valuta di tre caratteri ISO 4217. ad esempio USD, EUR.

Questa query di esempio restituisce la metrica cost_micros nella valuta locale del .

SELECT
  campaign.name,
  metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"

Questa query di esempio restituisce la metrica cost_micros in pesos cileni (CLP).

SELECT
  campaign.name,
  metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"

Scopri di più