क्वेरी का स्ट्रक्चर और क्लॉज़

क्वेरी में कई क्लॉज़ शामिल होते हैं: SELECT, FROM, WHERE, ORDER BY, LIMIT, और PARAMETERS.

क्लॉज़ में फ़ील्ड के नाम, रिसॉर्स के नाम, ऑपरेटर, शर्तों का इस्तेमाल किया जाता है. और क्रम का इस्तेमाल करते हैं, जो एक ही क्वेरी अनुरोध में जुड़ जाते हैं.

आसान शब्दों में कहें, तो क्वेरी बनाने के लिए:

  • वह संसाधन चुनें जिससे डेटा वापस पाना है.
  • आपको जो डेटा दिखाना है उसे तय करने के लिए, फ़ील्ड और मेट्रिक जोड़ें.
  • नतीजों को ग्रुप करने के लिए सेगमेंट जोड़ें.
  • संबंधित संसाधन डेटा को स्पष्ट रूप से जोड़ने के लिए एट्रिब्यूट किए गए संसाधन जोड़ें.
  • अपने नतीजों को फ़िल्टर करें, क्रम से लगाएं, और उन्हें सीमित करें.

SELECT क्लॉज़

SELECT क्लॉज़:

  • यह किसी क्वेरी में ज़रूरी क्लॉज़ है.
  • अनुरोध में फ़ेच किए जाने वाले फ़ील्ड के सेट के बारे में बताता है.
  • रिसॉर्स फ़ील्ड, कस्टम कॉलम, और कस्टम की कॉमा-सेपरेटेड लिस्ट लेता है Floodlight वैरिएबल, सेगमेंट फ़ील्ड, और मेट्रिक. साथ ही, जवाब.

इस उदाहरण क्वेरी में आपको campaign के एट्रिब्यूट चुनने का तरीका बताया गया है संसाधन:

SELECT
  campaign.id,
  campaign.name
FROM campaign

एक से ज़्यादा फ़ील्ड टाइप

एक ही अनुरोध में, अलग-अलग तरह के फ़ील्ड के लिए अनुरोध किया जा सकता है.

नीचे उदाहरण के तौर पर दी गई क्वेरी में एक क्वेरी दिखाई गई है. साथ ही, इसमें ये चीज़ें शामिल हैं:

  • संसाधन फ़ील्ड: campaign.id, campaign.name, bidding_strategy.id, और bidding_strategy.name.
  • सेगमेंट फ़ील्ड: segments.device और segments.date.
  • मेट्रिक के फ़ील्ड: metrics.impressions और metrics.clicks.
SELECT
  campaign.id,
  campaign.name,
  bidding_strategy.id,
  bidding_strategy.name,
  segments.device,
  segments.date,
  metrics.impressions,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

सेगमेंटेशन देखें देखें.

मुख्य संसाधन फ़ील्ड

आम तौर पर, आपको SELECT में अपने मुख्य संसाधन फ़ील्ड को शामिल करना होगा क्लॉज़, लेकिन यह ज़रूरी नहीं है (ज़रूरी नहीं).

उदाहरण के तौर पर दी गई यह क्वेरी, सिर्फ़ फ़िल्टर करने के लिए मुख्य संसाधन फ़ील्ड (ad_group.status) का इस्तेमाल करती है खोजें.

SELECT campaign.id
FROM ad_group
WHERE ad_group.status = PAUSED

कस्टम Floodlight वैरिएबल

कस्टम Floodlight वैरिएबल को SELECT क्लॉज़ में शामिल किया जा सकता है. ऐसा करने के लिए, आईडी.

इस उदाहरण में, क्वेरी में कैंपेन संसाधन के बारे में ज़्यादा जानें.

SELECT
  conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
  conversion_custom_dimensions.id[123454321]
FROM campaign

कस्टम कॉलम

कस्टम कॉलम के आईडी का इस्तेमाल करके, SELECT क्लॉज़ में कस्टम कॉलम शामिल किए जा सकते हैं.

इस उदाहरण में, क्वेरी में कैंपेन संसाधन के बारे में ज़्यादा जानें.

SELECT
  custom_columns.id[12345678]
FROM campaign

कस्टम कॉलम आईडी पाने का तरीका देखें.

मेट्रिक फ़ील्ड

किसी संसाधन के लिए, मेट्रिक फ़ील्ड चुने जा सकते हैं. हालांकि, इसके लिए किसी अन्य मेट्रिक को शामिल न करें SELECTखंड में बताए गए संसाधन के फ़ील्ड.

उदाहरण के तौर पर दी गई इस क्वेरी में, campaign के लिए impressions और clicks मेट्रिक चुनी गई हैं संसाधन.

SELECT
  metrics.impressions,
  metrics.clicks
FROM campaign

metrics पर जाकर देखें मेट्रिक फ़ील्ड की सूची जिसे अपनी क्वेरी में इस्तेमाल किया जा सकता है.

सेगमेंट फ़ील्ड

साथ ही, संसाधन फ़ील्ड तय किए बिना सेगमेंट फ़ील्ड चुने जा सकते हैं या मेट्रिक, SELECT क्लॉज़ में इस्तेमाल की जाती हैं.

यह उदाहरण क्वेरी के नतीजों को डिवाइस के हिसाब से बांटता है.

SELECT segments.device
FROM campaign

segments पर जाकर देखें सेगमेंट फ़ील्ड की सूची देखें, जिसे अपनी क्वेरी में इस्तेमाल किया जा सकता है.

पाबंदी वाले फ़ील्ड

SELECT क्लॉज़ में इन फ़ील्ड का इस्तेमाल नहीं किया जा सकता:

  • चुने नहीं जा सकने वाले फ़ील्ड, यानी कि Selectable मेटाडेटा वाले फ़ील्ड एट्रिब्यूट को false के तौर पर मार्क किया गया है.
  • दोहराए गए फ़ील्ड यानी Repeated मेटाडेटा एट्रिब्यूट वाले फ़ील्ड true के तौर पर मार्क किया गया है.
  • ऐसे फ़ील्ड जो FROM क्लॉज़ में, दिए गए संसाधन के लिए उपलब्ध नहीं हैं. कुछ संसाधनों के एट्रिब्यूट एक साथ नहीं चुने जा सकते. सिर्फ़ कुछ संसाधन उपलब्ध सभी मेट्रिक और सेगमेंट का सबसेट बनाना.
  • ऐसे सेगमेंट या मेट्रिक जो काम नहीं करते. ज़्यादा जानकारी के लिए सेगमेंटेशन देखें जानकारी.

इसके लिए पहचान दस्तावेज़ देखें हर संसाधन के लिए यह जानकारी कहां मिलेगी.

FROM क्लॉज़

FROM क्लॉज़:

  • यह क्वेरी के लिए ज़रूरी क्लॉज़ है SearchAds360Service (Search और SearchStream, दोनों तरीके).
  • SearchAds360FieldService की क्वेरी के लिए शामिल नहीं किया जाना चाहिए.
  • इससे क्वेरी के मुख्य संसाधन के बारे में पता चलता है.
  • सिर्फ़ एक संसाधन तय कर सकता है.
  • इस नीति से उन फ़ील्ड के बारे में पता चलता है जिनका इस्तेमाल क्वेरी के अन्य सभी क्लॉज़ में किया जा सकता है.

एट्रिब्यूट किए गए संसाधन

अगर एट्रिब्यूट किए गए संसाधन उपलब्ध हैं, तो वे आसानी से प्रॉपर्टी के साथ जुड़ जाते हैं ऐसा संसाधन जिसे आपने FROM क्लॉज़ में तय किया है. आपको सिर्फ़ उनके एट्रिब्यूट जोड़ने होंगे SELECT क्लॉज़ में इस्तेमाल किया जा सकता है.

यह उदाहरण क्वेरी, विज्ञापन ग्रुप आईडी और कैंपेन आईडी, दोनों दिखाती है, क्योंकि campaign, ad_group संसाधन का एट्रिब्यूट किया गया संसाधन है.

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

resource_name फ़ील्ड

FROM क्लॉज़ में मुख्य संसाधन का resource_name फ़ील्ड हमेशा होता है वापस किया गया.

उदाहरण के तौर पर दी गई इस क्वेरी के जवाब में ad_group.resource_name को शामिल किया जाएगा भले ही क्वेरी में इसे पूरी तरह से नहीं चुना गया हो:

SELECT ad_group.id
FROM ad_group

एट्रिब्यूट किए गए संसाधन का resource_name फ़ील्ड यह है कम से कम एक फ़ील्ड चुने जाने पर लौटाया जाता है.

उदाहरण के तौर पर दी गई इस क्वेरी में, campaign.resource_name को प्रतिक्रिया क्योंकि campaign.id को चुना गया है:

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

WHERE क्लॉज़

WHERE क्लॉज़:

  • यह किसी क्वेरी में एक ज़रूरी नहीं क्लॉज़ है.
  • अनुरोध के डेटा को फ़िल्टर और सेगमेंट करने की शर्तों के बारे में बताता है. शर्तें इस पैटर्न के हिसाब से हैं: FIELD_NAME OPERATOR VALUE (इन्होंने अलग किया खाली जगह डालें).
  • इसमें AND सेपरेटर से अलग की गई कई कंडिशन शामिल की जा सकती हैं.

उदाहरण के तौर पर दी गई यह क्वेरी दिखाती है कि impressions दिखाने के लिए, WHERE क्लॉज़ का इस्तेमाल कैसे किया जाता है किसी समयावधि के लिए मीट्रिक:

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

सेगमेंटेशन देखें देखें.

तारीख की जानकारी देने के बारे में ज़्यादा जानने के लिए, तारीख की सीमाएं देखें रेंज.

resource_name फ़ील्ड के हिसाब से फ़िल्टर करें

डेटा को फ़िल्टर करने या ऑर्डर करने के लिए, resource_name फ़ील्ड का इस्तेमाल किया जा सकता है.

उदाहरण के तौर पर दी गई यह क्वेरी, नतीजों को फ़िल्टर करने के लिए campaign.resource_name फ़ील्ड का इस्तेमाल करती है किसी कैंपेन से:

SELECT
  campaign.id,
  campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'

एक से ज़्यादा कंडिशन

अपना डेटा फ़िल्टर करने के लिए, कई शर्तों को जोड़ा जा सकता है.

उदाहरण के तौर पर दी गई यह क्वेरी, सभी कैंपेन के लिए clicks मेट्रिक की संख्या का अनुरोध करती है पिछले 30 दिनों के लिए मोबाइल पर impressions मेट्रिक.

SELECT
  campaign.id,
  campaign.name,
  segments.device,
  metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
  AND segments.device = MOBILE
  AND segments.date DURING LAST_30_DAYS

सेगमेंटेशन देखें पर जाएं.

केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर)

स्ट्रिंग वैल्यू को फ़िल्टर करते समय, हर ऑपरेटर की डिफ़ॉल्ट केस सेंसिटिविटी (बड़े और छोटे अक्षरों में अंतर) होती है आपके नतीजों को सही तरीके से फ़िल्टर करने में एक अहम भूमिका निभाता है.

नीचे दी गई टेबल में, हर ऑपरेटर की डिफ़ॉल्ट केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) की जानकारी दी गई है.

डिफ़ॉल्ट केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर)
=/!= Case sensitive
IN/NOT IN Case sensitive
LIKE/NOT LIKE Case insensitive
CONTAINS (...) Case sensitive
REGEXP_MATCH/NOT REGEXP_MATCH Case sensitive

आप इसके लिए डिफ़ॉल्ट संवेदनशीलता बदलने के लिए (?i) मॉडिफ़ायर का इस्तेमाल कर सकते हैं REGEXP_MATCH और NOT REGEXP_MATCH से लेकर केस-इनसेंसिटिव (बड़े और छोटे अक्षरों में अंतर) करना. उदाहरण के लिए:

SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"

इनकी पूरी सूची के लिए क्वेरी व्याकरण संदर्भ देखें ऑपरेटर का इस्तेमाल करें जिनका इस्तेमाल करके डेटा फ़िल्टर किया जा सकता है.

तारीख के मुख्य सेगमेंट

नीचे दिए गए सेगमेंट फ़ील्ड को तारीख के मुख्य सेगमेंट कहा जाता है: segments.date, segments.week, segments.month, segments.quarter, और segments.year.

कोई तारीख या समय बताने के लिए, WHERE क्लॉज़ में तारीख के मुख्य सेगमेंट का इस्तेमाल किया जा सकता है अवधि के लिए मान्य है.

उदाहरण के तौर पर दी गई यह क्वेरी, segments.date फ़ील्ड के लिए DURING LAST_30_DAYS के बारे में बताती है WHERE खंड में:

SELECT
  campaign.id,
  campaign.name,
  segments.date,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

सेगमेंटेशन > ज़्यादा जानकारी के लिए तारीख के मुख्य सेगमेंट तारीख के खास सेगमेंट इस्तेमाल करने के बारे में जानकारी.

प्रतिबंधित फ़िल्टर

फ़िल्टर करने की अनुमति नहीं है:

  • तारीख के मुख्य सेगमेंट को छोड़कर, नहीं चुने गए सेगमेंट फ़ील्ड पर.
  • प्रिमिटिव (उदाहरण के लिए, Int64Value, StringValue वगैरह).
  • प्रिमिटिव को छोड़कर किसी भी तरह के मैसेज टाइप के दोहराए गए फ़ील्ड के एट्रिब्यूट पर (उदाहरण के लिए, Int64Value, StringValue वगैरह).

क्लॉज़ के मुताबिक क्रम से लगाएं

ORDER BY क्लॉज़:

  • यह किसी क्वेरी में एक ज़रूरी नहीं क्लॉज़ है.
  • नतीजों का क्रम तय करता है. सभी क्रम से लगाएं पैटर्न: FIELD_NAME ORDERING_OPTION (खाली जगह से अलग किया गया).
  • दो विकल्पों की अनुमति देता है: ASC (बढ़ते क्रम में) या DESC (घटते क्रम में). डिफ़ॉल्ट है बढ़ते क्रम में.

इस उदाहरण क्वेरी में कैंपेन को घटते क्रम में क्लिक की संख्या के हिसाब से क्रम में लगाया गया है (सबसे ज़्यादा से सबसे कम):

SELECT
  campaign.name,
  metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC

एक से ज़्यादा ऑर्डर

ORDER BY क्लॉज़ में एक से ज़्यादा फ़ील्ड शामिल किए जा सकते हैं. इसके लिए, कॉमा लगाकर अलग करें सूची. नतीजे आपके तय किए गए क्रम में ही दिखेंगे क्वेरी.

इस उदाहरण क्वेरी में विज्ञापन समूह का डेटा चुना गया है और नतीजों को बढ़ते क्रम में लगाया गया है उन्हें कैंपेन के नाम के हिसाब से क्रम में लगाया गया है. इसके बाद, उन्हें इंप्रेशन की संख्या के हिसाब से घटते क्रम में लगाया गया है, और फिर, क्लिक की संख्या के हिसाब से घटते क्रम में:

SELECT
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks
FROM ad_group
ORDER BY
  campaign.name,
  metrics.impressions DESC,
  metrics.clicks DESC

ऑर्डर को एक साथ जोड़ें और तय करें

इन कामों के लिए, LIMIT क्लॉज़ के साथ ORDER BY क्लॉज़ का इस्तेमाल किया जा सकता है अपने नतीजों को बेहतर बनाएं.

इस उदाहरण क्वेरी से ऐसे पांच कैंपेन मिलते हैं जिन्हें पिछले कीवर्ड के मुकाबले सबसे ज़्यादा इंप्रेशन मिले पिछले 30 दिन:

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5

ऑर्डर करने पर पाबंदी है

खाना ऑर्डर करने की अनुमति नहीं है:

  • जो संसाधन नहीं चुने गए हैं उनके एट्रिब्यूट के हिसाब से.
  • नहीं चुनी गई मेट्रिक के हिसाब से.
  • नहीं चुने गए सेगमेंट के हिसाब से.
  • इन फ़ील्ड टाइप के लिए:
    • MESSAGE
    • दोहराए गए फ़ील्ड
    • दोहराए गए फ़ील्ड के एट्रिब्यूट.

LIMIT खंड

LIMIT क्लॉज़:

  • यह किसी क्वेरी में एक ज़रूरी नहीं क्लॉज़ है.
  • इससे, क्वेरी से मिलने वाले नतीजों की संख्या को सीमित किया जा सकता है.

यह क्लॉज़ उपयोगी होता है. उदाहरण के लिए, अगर आपकी दिलचस्पी सिर्फ़ किसी सैंपल या नतीजों की खास जानकारी.

यह उदाहरण क्वेरी परिणामों की कुल संख्या को 50 तक सीमित करती है:

SELECT
  campaign.name,
  ad_group.name,
  segments.device,
  metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50

पैरामीटर क्लॉज़

PARAMETERS क्लॉज़ की मदद से, अनुरोध के लिए मेटा पैरामीटर तय किए जा सकते हैं.

ड्राफ़्ट शामिल करें

include_drafts पैरामीटर की मदद से, यह कंट्रोल किया जाता है कि ड्राफ़्ट वाली इकाइयां शामिल हैं या नहीं खोजें. डिफ़ॉल्ट वैल्यू false है. ड्राफ़्ट इकाइयों को शामिल करने के लिए, इसे true पर सेट करें.

उदाहरण के तौर पर दी गई यह क्वेरी, ड्राफ़्ट कैंपेन और सामान्य कैंपेन, दोनों के बारे में बताती है:

SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true

resource_name से चुने हुए का निशान हटाएं

omit_unselected_resource_names पैरामीटर की मदद से, resource_name फ़ील्ड में उन सभी संसाधनों का नाम शामिल है जिनका अनुरोध साफ़ तौर पर आपके ब्राउज़र में नहीं किया गया है SELECT क्लॉज़. डिफ़ॉल्ट वैल्यू false है. अगर इस पैरामीटर को true पर सेट किया जाता है, तो हम यह सुझाव दिया जा सकता है कि आप मुख्य संसाधन के नाम के लिए, साफ़ तौर पर अनुरोध करें और आपके SELECT क्लॉज़ में एट्रिब्यूट किए गए संसाधन शामिल हैं.

यह उदाहरण क्वेरी न तो campaign.resource_name लौटाती है न ही customer.resource_name फ़ील्ड, क्योंकि उन्हें SELECT में शामिल नहीं किया गया है क्लॉज़:

SELECT
  campaign.name,
  customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true

यह उदाहरण क्वेरी campaign.resource_name फ़ील्ड दिखाती है, क्योंकि यह SELECT क्लॉज़ में साफ़ तौर पर अनुरोध किया गया है:

SELECT
  campaign.name,
  campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true

मेट्रिक में इस्तेमाल की गई मुद्रा बदलें

metrics_currency पैरामीटर की मदद से, इस्तेमाल के लिए मुद्रा तय की जा सकती है जब लोग आपके SELECT क्लॉज़ में शामिल मेट्रिक कैलकुलेट करते हैं. खाते के लिए स्थानीय मुद्रा का इस्तेमाल करना डिफ़ॉल्ट होता है. अगर आपने इसे सेट किया पैरामीटर के तौर पर, आपको ISO 4217 तीन वर्ण वाले मुद्रा कोड का इस्तेमाल करना होगा. उदाहरण के लिए: USD, EUR.

यह उदाहरण क्वेरी price_micros मेट्रिक को जोड़ें.

SELECT
  campaign.name,
  metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"

उदाहरण के तौर पर दी गई यह क्वेरी, चिली पेसो (CLP) में cost_micros मेट्रिक दिखाती है.

SELECT
  campaign.name,
  metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"

ज़्यादा जानें