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 kümesini belirtir. SELECT Virgülle ayrılmış bir segment alanları ve metrikler listesi 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. reports hizmetindeki search yöntemine yapılan sorguda FROM ifadesi 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 yan tümcesinde herhangi bir segment alanı kullanılabilir ancak metrik alanlarının WHERE yan tümcesinde kullanılabilmesi için SELECT yan tümcesinde belirtilmesi gerekir. Performans verilerinizin döndürülmesini istediğiniz tarih aralığını her zaman belirtmeniz gerektiğinden sorguda WHERE ifadesi 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.

Dil gramerinde açıklanan bir sorgu dizesi kullanarak meta verileri sorgularken aşağıdakileri unutmayı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 ile 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. Sorguda ORDER BY ifadesi 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. Yalnızca özetle ilgileniyorsanız bu özellik kullanışlıdır.

Örneğin, LIMIT, aşağıdaki sorgunun toplam sonuç sayısını kısıtlamak 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