Структура запроса

Запросы к полям метрик и сегментов можно передавать методу reports.search . Для построения запроса на языке запросов Merchant Center необходимо сначала составить запрос, используя грамматику языка . Запрос состоит из ряда пунктов:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

В условиях запроса используются имена полей , имена таблиц , операторы , условия и порядок сортировки , чтобы помочь вам выбрать нужные данные. После объединения в один запрос, его можно отправить с помощью Google Content API для покупок. Давайте рассмотрим, как можно использовать каждое условие запроса.

Пункты

ВЫБИРАТЬ

Предложение SELECT задает набор полей, которые необходимо получить в запросе. SELECT принимает список полей сегмента и метрик, разделенных запятыми, и возвращает значения в ответе. Предложение SELECT является обязательным в запросе.

Вот пример запроса, который выбирает показатели кликов из заданной таблицы:

SELECT
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN 2020-08-01 AND 2020-08-31

Также в одном запросе можно запрашивать данные из разных типов полей:

SELECT
  segments.date,
  segments.program,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN 2020-08-01 AND 2020-08-31
  • Поля сегмента

    • segments.date
    • segments.program
  • Метрики

    • metrics.impressions
    • metrics.clicks

Некоторые поля не допускаются в предложении SELECT из-за следующего ограничения:

  • Запрос полей сегмента, в которых отсутствует хотя бы одно поле метрики.

Информацию, касающуюся вышеуказанного состояния, можно найти в наших справочных документах.

ОТ

Предложение FROM указывает таблицу, из которой следует получать данные в запросе. Таблица в предложении FROM определяет, какие поля могут использоваться во всех остальных предложениях для данного запроса. В предложении FROM можно указать только одну таблицу. В настоящее время поддерживается только таблица MerchantPerformanceView. Предложение FROM обязательно в запросе к методу search в службе reports .

ГДЕ

Предложение WHERE определяет условия, применяемые при фильтрации данных для запроса. При использовании предложения WHERE можно указать одно или несколько условий, разделяя их оператором AND . Каждое условие должно соответствовать шаблону field_name Operator value . В предложении WHERE можно использовать любое поле сегментов, но поля метрик необходимо указать в предложении SELECT , чтобы они использовались в предложении WHERE . Предложение WHERE обязательно в запросе, поскольку всегда необходимо указывать диапазон дат, для которых вы хотите получить данные о производительности.

Ниже приведён пример использования WHERE для получения метрик за заданный период времени:

SELECT
  segments.offer_id,
  metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN 2020-08-01 AND 2020-08-31

Для фильтрации данных можно комбинировать несколько условий. В этом примере будет возвращено количество кликов по каждому предложению в рамках программы SHOPPING_ADS, где количество кликов превышает 100 за заданный 30-дневный период.

SELECT
  segments.offer_id,
  segments.program,
  metrics.clicks
FROM MerchantPerformanceView
WHERE metrics.clicks > 100
  AND segments.program = SHOPPING_ADS
  AND segments.date BETWEEN 2020-08-01 AND 2020-08-31;

В следующем запросе вы заметите, что был выбран segments.date . Независимо от того, выберете ли вы segments.date , для получения данных о производительности всегда необходимо указывать конечный диапазон дат в предложении WHERE .

SELECT
  segments.date,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN 2020-08-01 AND 2020-08-31

При фильтрации важно учитывать регистр символов в операторе.

Обратите внимание на следующее при запросе метаданных с использованием строки запроса, описанной в грамматике языка .

ЗАКАЗАТЬ ПО

Предложение ORDER BY определяет порядок возврата результатов. Это позволяет упорядочивать данные в порядке возрастания или убывания на основе имени поля. Каждый порядок указывается как field_name за которым следует ASC или DESC . Если ни ASC , ни DESC не указаны, порядок по умолчанию устанавливается на ASC . В предложении ORDER BY можно использовать только поля, указанные в предложении SELECT . Предложение ORDER BY является необязательным в запросе.

Следующий запрос упорядочивает возвращаемые строки по количеству кликов от наибольшего к наименьшему:

SELECT
  segments.offer_id,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN 2020-08-01 AND 2020-08-31
ORDER BY metrics.clicks DESC

В предложении ORDER BY можно указать несколько полей, используя список, разделенный запятыми. Сортировка будет производиться в той же последовательности, что и указано в запросе. Например, в этом запросе результаты будут отсортированы в порядке возрастания по offer_id , затем в порядке убывания по количеству показов, затем в порядке убывания по количеству кликов:

SELECT
  segments.offer_id,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN 2020-08-01 AND 2020-08-31
ORDER BY
  segments.offer_id,
  metrics.impressions DESC,
  metrics.clicks DESC

ЛИМИТА

Оператор LIMIT позволяет указать количество возвращаемых результатов. Это полезно, если вас интересует только сводная информация.

Например, LIMIT можно использовать для ограничения общего количества результатов для следующего запроса:

SELECT
  segments.program,
  segments.offer_id,
  metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN 2020-08-01 AND 2020-08-31
ORDER BY metrics.impressions DESC
LIMIT 50