Sorgu yapısı

Metrik ve segment alanlarıyla ilgili sorgular, reports.search yöntemine gönderilebilir. Merchant Center Sorgu Dili'nde sorgu oluşturmak için önce sorguyu dil dil bilgisini kullanarak oluşturmanız gerekir. Sorgu, birkaç cümleden oluşur:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

Maddeler, istediğiniz verileri seçmenize yardımcı olmak için alan adları, tablo adları, operatörler, koşullar ve sıralamaları kullanır. Tek bir sorguda birleştirildikten sonra Google Content API for Shopping kullanılarak istek gönderilebilir. Her bir ifadenin nasıl kullanılabileceğine bakalım.

Maddeler

SELECT

SELECT ifadesi, istekte getirilecek alanları belirtir. SELECT, segment alanlarının ve metriklerinin virgülle ayrılmış bir listesini alarak yanıttaki değerleri döndürür. Bir sorguda SELECT ifadesi zorunludur.

Belirli bir tablodan tıklama metriklerini seçen örnek bir sorgu aşağıda verilmiştir:

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 yan tümcesinde bazı alanlara izin verilmez:

  • En az bir metrik alanı olmayan segment alanları sorgulanıyor.

Yukarıdaki koşulla ilgili bilgileri referans belgelerimizde bulabilirsiniz.

FROM

FROM ifadesi, istekte verilerin alınacağı tabloyu belirtir. FROM yan tümcesindeki tablo, belirli bir sorgu için diğer tüm maddeler 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 koşulunu kullanırken, bunları ayırmak için AND kullanılarak bir veya daha fazla koşul belirtilebilir. Her koşul field_name Operator value kalıbına uymalıdır. WHERE yan tümcesinde tüm segmentler alanı kullanılabilir ancak WHERE ifadesinde kullanılması için SELECT yan tümcesinde metrik alanlarının belirtilmesi gerekir. Performans verilerinizin döndürülmesini istediğiniz tarih aralığını her zaman belirtmeniz gerektiğinden WHERE ifadesi sorgularda zorunludur.

Aşağıda, belirli bir dönemdeki metrikleri döndürmek için WHERE hizmetinin 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, SHOPPING_ADS programı için, belirtilen 30 günlük dönemde tıklamaların 100'den fazla olduğu durumlarda 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 öğesinin seçildiğini göreceksiniz. segments.date öğesini seçip seçmediğinize bakılmaksızın, performans verilerini almak için WHERE yan tümcesinde sınırlı bir tarih aralığı her zaman sağlanmalıdır.

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

Filtreleme sırasında 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 dil dil bilgisi 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, alan adına göre artan veya azalan düzende düzenleyebilirsiniz. Her sıralama field_name ve ardından ASC veya DESC olarak belirtilir. ASC veya DESC belirtilmezse sipariş varsayılan olarak ASC değerine ayarlanır. ORDER BY ifadesinde yalnızca SELECT yan tümcesinde belirtilen alanlar kullanılabilir. ORDER BY yan tümcesi sorgularda 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 yan tümcesinde birden çok alan belirtebilirsiniz. Sıralama, sorguda belirtilen sırayla gerçekleşir. Örneğin, bu sorguda sonuçlar offer_id ölçütüne göre artan düzende, önce gösterim sayısına göre azalan düzende, sonra 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

SINIR

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

Örneğin, LIMIT aşağıdaki sorgu için 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