क्वेरी में कई क्लॉज़ मौजूद होते हैं: 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 क्लॉज़ में कस्टम Floodlight वैरिएबल शामिल किए जा सकते हैं.
इस उदाहरण में, क्वेरी में कैंपेन संसाधन के लिए आईडी 123454321 वाला कस्टम वैरिएबल शामिल है.
SELECT
conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
conversion_custom_dimensions.id[123454321]
FROM campaign
कस्टम कॉलम
आपके पास उनके आईडी का इस्तेमाल करके, SELECT क्लॉज़ में कस्टम कॉलम शामिल करने का विकल्प है.
इस उदाहरण में, क्वेरी में कैंपेन रिसॉर्स के लिए आईडी 12345678 वाला कस्टम कॉलम शामिल है.
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'
एक से ज़्यादा शर्तें
अपने डेटा को फ़िल्टर करने के लिए, कई शर्तों को जोड़ा जा सकता है.
इस उदाहरण में दी गई क्वेरी में पिछले 30 दिनों से मोबाइल पर impressions
मेट्रिक वाले सभी कैंपेन के लिए, clicks
मेट्रिक की संख्या का अनुरोध किया गया है.
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 |
REGEXP_MATCH
और NOT REGEXP_MATCH
की डिफ़ॉल्ट संवेदनशीलता को केस-इनसेंसिटिव में बदलने के लिए, (?i)
मॉडिफ़ायर का इस्तेमाल किया जा सकता है. उदाहरण के लिए:
SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"
ऑपरेटर की पूरी सूची देखने के लिए, क्वेरी के व्याकरण का रेफ़रंस देखें. इससे आपको अपने डेटा को फ़िल्टर करने में मदद मिलेगी.
मुख्य तारीख के सेगमेंट
इन सेगमेंट फ़ील्ड को मुख्य तारीख वाले सेगमेंट कहा जाता है:
segments.date
, segments.week
, segments.month
, segments.quarter
, और
segments.year
.
कोई तारीख या समयावधि बताने के लिए, WHERE
क्लॉज़ में मुख्य तारीख वाले सेगमेंट इस्तेमाल किए जा सकते हैं.
उदाहरण के तौर पर दी गई क्वेरी में, WHERE
क्लॉज़ में मौजूद segments.date
फ़ील्ड के लिए DURING LAST_30_DAYS
के बारे में बताया गया है:
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
param का क्लॉज़
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"