क्वेरी स्ट्रक्चर

मेट्रिक और सेगमेंट फ़ील्ड के लिए क्वेरी, reports.search मेथड को भेजी जा सकती हैं. Merchant Center Query Language में क्वेरी बनाने के लिए, आपको सबसे पहले भाषा के व्याकरण का इस्तेमाल करके क्वेरी लिखनी होगी. क्वेरी में कई क्लॉज़ होते हैं:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

क्लॉज़ में फ़ील्ड के नाम, टेबल के नाम, ऑपरेटर, शर्तें, और क्रम का इस्तेमाल किया जाता है. इससे आपको अपनी ज़रूरत के मुताबिक डेटा चुनने में मदद मिलती है. एक क्वेरी में शामिल करने के बाद, Google Content API for Shopping का इस्तेमाल करके अनुरोध किया जा सकता है. आइए, देखते हैं कि हर क्लॉज़ का इस्तेमाल कैसे किया जा सकता है.

क्लॉज़

चुनें

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 क्लॉज़ में मौजूद टेबल से पता चलता है कि दी गई क्वेरी के लिए, अन्य सभी क्लॉज़ किन फ़ील्ड का इस्तेमाल कर सकते हैं. FROM क्लॉज़ में सिर्फ़ एक टेबल तय की जा सकती है. फ़िलहाल, सिर्फ़ MerchantPerformanceView टेबल का इस्तेमाल किया जा सकता है. reports सेवा पर search तरीके से क्वेरी करने के लिए, FROM क्लॉज़ ज़रूरी है.

WHERE

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 प्रोग्राम के हर ऑफ़र के लिए क्लिक की संख्या दिखाई जाएगी. इसमें, 30 दिनों की तय अवधि में क्लिक की संख्या > 100 है.

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

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 क्लॉज़ की मदद से, यह तय किया जा सकता है कि कितने नतीजे दिखाए जाएं. अगर आपको सिर्फ़ खास जानकारी चाहिए, तो यह सुविधा आपके लिए काम की है.

उदाहरण के लिए, 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