Sorgu yapısı

Metrik ve segment alanlarıyla ilgili sorgular reports.search yöntemine gönderilebilir. Merchant Center Sorgu Dili'nde bir sorgu oluşturmak için önce dil gramerini kullanarak sorguyu oluşturmanız gerekir. Bir sorgu, çeşitli ifadelerden oluşur:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

Yan tümceler, istediğiniz verileri seçmenize yardımcı olmak için alan adlarını, tablo adlarını, operatörleri, koşulları ve sıralamaları kullanır. Tek bir sorguda birleştirildikten sonra Google Content API for Shopping kullanılarak istekte bulunulabilir. Her bir maddenin nasıl kullanılabileceğine göz atalım.

Maddeler

SEÇ

SELECT ifadesi, istekte getirilecek bir alan grubunu belirtir. SELECT Segment alanlarının ve metriklerin virgülle ayrılmış bir listesini alır ve yanıttaki değerleri döndürür. Sorguda SELECT ifadesi zorunludur.

Belirli bir tablodan tıklama metriklerini seçen örnek bir sorguyu aşağıda bulabilirsiniz:

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

Tek bir istekte farklı alan türlerini de sorgulayabilirsiniz:

SELECT
  segments.date,
  segments.program,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN 2020-08-01 AND 2020-08-31
  • Segment alanları

    • segments.date
    • segments.program
  • Metrikler

    • metrics.impressions
    • metrics.clicks

Aşağıdaki kısıtlama nedeniyle SELECT maddesinde bazı alanlara izin verilmez:

  • En az bir metrik alanı olmadan segment alanlarına sorgu gönderme.

Yukarıdaki koşulla ilgili bilgilere referans dokümanlarımızdan ulaşabilirsiniz.

FROM

FROM ifadesi, istekte verilerin getirileceği tabloyu belirtir. FROM ifadesindeki tablo, belirli bir sorgu için diğer tüm ifadeler tarafından hangi alanların kullanılabileceğini tanımlar. FROM ifadesinde yalnızca tek bir tablo belirtilebilir. Şu anda yalnızca MerchantPerformanceView tablosu desteklenmektedir. FROM ifadesi, reports hizmetindeki search yöntemine yapılan sorgularda zorunludur.

WHERE

WHERE ifadesi, istek için veriler filtrelenirken uygulanacak koşulları belirtir. WHERE ifadesi kullanılırken bir veya daha fazla koşul belirtilebilir. Koşulları ayırmak için AND kullanılır. Her koşul, field_name Operator value kalıbına uygun olmalıdır. WHERE ifadesinde herhangi bir segment alanı kullanılabilir ancak metrik alanlarının WHERE ifadesinde kullanılabilmesi için SELECT ifadesinde belirtilmesi gerekir. Performans verilerinizin döndürülmesini istediğiniz tarih aralığını her zaman belirtmeniz gerektiğinden WHERE ifadesi sorguda zorunludur.

Aşağıda, belirli bir dönemdeki metrikleri döndürmek için WHERE kullanımına dair bir örnek verilmiştir:

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

Verileri filtrelemek için birden fazla koşulu birleştirebilirsiniz. Bu örnek, verilen 30 günlük dönemde tıklama sayısı 100'den fazla olan SHOPPING_ADS programı için teklif başına tıklama sayısını döndürür.

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;

Aşağıdaki sorguda segments.date seçildiğini göreceksiniz. segments.date seçip seçmediğinizden bağımsız olarak, performans verilerinin alınması için WHERE ifadesinde her zaman sınırlı bir tarih aralığı sağlanmalıdır.

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

Filtreleme yaparken operatörünüzün büyük/küçük harfe duyarlılığını göz önünde bulundurmanız önemlidir.

Operatörlerin tam listesi için dilbilgisi bölümüne bakın.

ORDER BY

ORDER BY ifadesi, sonuçların döndürüleceği sırayı belirtir. Bu sayede, verileri bir alan adına göre artan veya azalan düzende düzenleyebilirsiniz. Her sıralama, field_name olarak belirtilir ve ardından ASC veya DESC gelir. ASC veya DESC belirtilmezse varsayılan olarak ASC sırası kullanılır. ORDER BY ifadesinde yalnızca SELECT ifadesinde belirtilen alanlar kullanılabilir. ORDER BY ifadesi sorguda isteğe bağlıdır.

Aşağıdaki sorgu, döndürülen satırları tıklama sayısına göre en yüksekten en düşüğe doğru sıralar:

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

Virgülle ayrılmış bir liste kullanarak ORDER BY ifadesinde birden fazla alan belirtebilirsiniz. Sıralama, sorguda belirtilen sırayla yapılır. Örneğin, bu sorguda sonuçlar önce offer_id'ya göre artan düzende, ardından gösterim sayısına göre azalan düzende, son olarak da tıklama sayısına göre azalan düzende sıralanır:

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

SINIRLAMA

LIMIT ifadesi, döndürülecek sonuç sayısını belirtmenize olanak tanır. Bu, yalnızca bir özetle ilgileniyorsanız yararlı olur.

Örneğin, LIMIT, aşağıdaki sorgunun toplam sonuç sayısını sınırlamak için kullanılabilir:

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