একটি কোয়েরি কয়েকটি ক্লজ দিয়ে গঠিত হয়: SELECT , FROM , WHERE , ORDER BY , LIMIT , এবং PARAMETERS ।
ক্লজগুলোতে ফিল্ডের নাম , রিসোর্সের নাম , অপারেটর , শর্ত এবং ক্রম ব্যবহার করা হয়, যেগুলো একত্রিত হয়ে একটি একক কোয়েরি অনুরোধ তৈরি করে।
সহজ কথায়, একটি কোয়েরি তৈরি করতে আপনাকে যা করতে হবে:
- যেখান থেকে ডেটা সংগ্রহ করা হবে, সেই উৎসটি নির্দিষ্ট করুন।
- আপনি যে ডেটা ফেরত পেতে চান তা নির্ধারণ করতে ফিল্ড এবং মেট্রিক যোগ করুন।
- আপনার ফলাফলগুলোকে শ্রেণিবদ্ধ করতে সেগমেন্ট যোগ করুন।
- সম্পর্কিত রিসোর্স ডেটা পরোক্ষভাবে যুক্ত করতে অ্যাট্রিবিউটেড রিসোর্স যোগ করুন।
- আপনার ফলাফল ফিল্টার করুন, সাজান এবং সীমিত করুন।
SELECT ধারা
SELECT ক্লজ:
- কোয়েরিতে কি একটি আবশ্যক ক্লজ আছে?
- অনুরোধে আনার জন্য ক্ষেত্রগুলির একটি সেট নির্দিষ্ট করে।
- এটি রিসোর্স ফিল্ড, কাস্টম কলাম, কাস্টম ফ্ল্যাডলাইট ভেরিয়েবল, সেগমেন্ট ফিল্ড এবং মেট্রিক্সের একটি কমা-বিভক্ত তালিকা গ্রহণ করে এবং রেসপন্সে সেগুলোর মান ফেরত দেয়।
এই উদাহরণ কোয়েরিটি আপনাকে দেখাবে কিভাবে 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
কাস্টম ফ্লাডলাইট ভেরিয়েবল
আপনি SELECT ক্লজে তাদের আইডি ব্যবহার করে কাস্টম ফ্ল্যাডলাইট ভেরিয়েবল অন্তর্ভুক্ত করতে পারেন।
এই উদাহরণে, কোয়েরিটিতে ক্যাম্পেইন রিসোর্সের জন্য 123454321 আইডি সহ একটি কাস্টম ভেরিয়েবল অন্তর্ভুক্ত রয়েছে।
SELECT
conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
conversion_custom_dimensions.id[123454321]
FROM campaign
কাস্টম কলাম
আপনি SELECT ক্লজে কাস্টম কলামগুলোর আইডি ব্যবহার করে সেগুলো অন্তর্ভুক্ত করতে পারেন।
এই উদাহরণে, কোয়েরিটিতে ক্যাম্পেইন রিসোর্সের জন্য withID 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.id নির্বাচিত হওয়ায় campaign.resource_name রেসপন্সে অন্তর্ভুক্ত হবে:
SELECT
campaign.id,
ad_group.id
FROM ad_group
কোথায় ধারা
WHERE ক্লজ:
- কোয়েরিতে এটি একটি ঐচ্ছিক ক্লজ।
অনুরোধের জন্য ডেটা ফিল্টার এবং বিভাজন করার শর্তাবলী নির্দিষ্ট করে। শর্তাবলী এই প্যাটার্ন অনুসরণ করে:
FIELD_NAMEOPERATORVALUE(ফাঁকা স্থান দ্বারা পৃথক করা)।ANDবিভাজক দ্বারা পৃথক করা একাধিক শর্ত অন্তর্ভুক্ত করা যেতে পারে।
এই উদাহরণ কোয়েরিটি দেখায় কিভাবে একটি নির্দিষ্ট সময়কালের জন্য impressions মেট্রিক্স ফেরত পেতে WHERE ক্লজ ব্যবহার করতে হয়:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
আপনার সার্চ রিপোর্টগুলো ভাগ করার বিষয়ে আরও জানতে সেগমেন্টেশন দেখুন।
আপনার কোয়েরিতে তারিখের পরিসীমা নির্দিষ্ট করার বিষয়ে আরও জানতে 'Date ranges' দেখুন।
resource_name ফিল্ড দ্বারা ফিল্টার করুন
আপনি ডেটা ফিল্টার বা সাজানোর জন্য resource_name ফিল্ডটি ব্যবহার করতে পারেন।
এই উদাহরণ কোয়েরিটি একটি নির্দিষ্ট ক্যাম্পেইন অনুযায়ী ফলাফল ফিল্টার করতে campaign.resource_name ফিল্ডটি ব্যবহার করে:
SELECT
campaign.id,
campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'
একাধিক অবস্থা
আপনার ডেটা ফিল্টার করতে আপনি একাধিক শর্ত একত্রিত করতে পারেন।
এই উদাহরণ কোয়েরিটি গত ৩০ দিনের জন্য মোবাইলে 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 |
আপনি (?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 ক্লজে কোনো তারিখ বা সময়কাল নির্দিষ্ট করতে কোর ডেট সেগমেন্ট ব্যবহার করতে পারেন।
এই উদাহরণ কোয়েরিটি 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_NAMEORDERING_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 ক্লজ একত্রে ব্যবহার করতে পারেন।
এই উদাহরণ কোয়েরিটি গত ৩০ দিনে সর্বোচ্চ ইম্প্রেশন পাওয়া পাঁচটি ক্যাম্পেইন ফেরত দেয়:
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 ধারা:
- কোয়েরিতে এটি একটি ঐচ্ছিক ক্লজ।
- এর মাধ্যমে কোয়েরি থেকে প্রাপ্ত ফলাফলের সংখ্যা সীমিত করা যায়।
এই ক্লজটি উপযোগী, উদাহরণস্বরূপ, যদি আপনি শুধুমাত্র ফলাফলের একটি নমুনা বা সারাংশে আগ্রহী হন।
এই উদাহরণ কোয়েরিটি মোট ফলাফলের সংখ্যা ৫০-এ সীমাবদ্ধ করে:
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 ক্লজে অন্তর্ভুক্ত কোনো মেট্রিক গণনা করার জন্য ব্যবহৃত মুদ্রা নির্দিষ্ট করতে দেয়। ডিফল্টভাবে customer_id দ্বারা নির্দিষ্ট অ্যাকাউন্টের মুদ্রা ব্যবহৃত হয়। আপনি যদি এই প্যারামিটারটি সেট করেন, তাহলে আপনাকে ISO 4217 ৩-অক্ষরের মুদ্রা কোড ব্যবহার করতে হবে। উদাহরণস্বরূপ: USD, EUR।
এই উদাহরণ কোয়েরিটি customer_id দ্বারা নির্দিষ্ট অ্যাকাউন্টের মুদ্রায় cost_micros মেট্রিকটি ফেরত দেয়।
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
এই উদাহরণ কোয়েরিটি cost_micros মেট্রিকটি চিলির পেসো (CLP)-তে ফেরত দেয়।
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"
এমসিসি সম্প্রসারণ সক্ষম করুন
` enable_mcc_expansion প্যারামিটারটি `true` তে সেট করা হলে, এটি আপনাকে FROM ক্লজের রিসোর্সের জন্য customer_id উপর ভিত্তি করে তৈরি সমস্ত অ্যাকাউন্ট থেকে মেট্রিক্স, ফিল্ড এবং সেগমেন্ট অন্তর্ভুক্ত করার সুযোগ দেয়। metrics_currency প্যারামিটারে স্পষ্টভাবে উল্লেখ না করা থাকলে, রেসপন্সটি ` customer_id এর কারেন্সি ব্যবহার করবে।
এই উদাহরণ কোয়েরিটি customer_id তে মূলযুক্ত অ্যাকাউন্ট হায়ারার্কির সমস্ত অ্যাকাউন্ট থেকে bidding_strategy.name , bidding_strategy.type এবং metrics.cost_micros রিটার্ন করে, কারণ enable_mcc_expansion প্যারামিটারটি true তে সেট করা আছে।
SELECT
bidding_strategy.name,
bidding_strategy.type,
metrics.cost_micros
FROM bidding_strategy
WHERE segments.date DURING LAST_14_DAYS
PARAMETERS enable_mcc_expansion = true