প্রশ্ন গঠন এবং ধারা

একটি ক্যোয়ারী বেশ কয়েকটি ধারা নিয়ে গঠিত: 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 ক্লজে কাস্টম কলাম অন্তর্ভুক্ত করতে পারেন।

এই উদাহরণে, ক্যাম্পেইন রিসোর্সের জন্য ক্যোয়ারীতে আইডি 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 ধারা:

  • 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

ধারা 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 ধারা

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 3-অক্ষরের মুদ্রা কোড ব্যবহার করতে হবে। যেমন: USD, EUR।

এই উদাহরণ কোয়েরি অ্যাকাউন্টের স্থানীয় মুদ্রায় cost_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"

আরও জানুন