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

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

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

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

उपनियम

SELECT

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 क्लॉज़ में किया जा सकता है. हालांकि, WHERE क्लॉज़ में इस्तेमाल करने के लिए, मेट्रिक फ़ील्ड को SELECT क्लॉज़ में तय करना ज़रूरी है. किसी क्वेरी में 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 को चुना गया है. परफ़ॉर्मेंस डेटा पाने के लिए, WHERE क्लॉज़ में तारीख की सीमित सीमा का इस्तेमाल करना ज़रूरी है. भले ही, आपने segments.date को चुना हो.

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 का इस्तेमाल किया जा सकता है:

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