SAS-এ SQL (Structured Query Language) ব্যবহার করা হয় ডেটাবেস বা ডেটাসেটের সাথে সম্পর্কিত বিভিন্ন ধরণের কার্যক্রম পরিচালনা করার জন্য। এই SQL কোডটি PROC SQL প্রোসিডিউরের মাধ্যমে ব্যবহৃত হয়। SELECT, JOIN, এবং GROUP BY ক্লজগুলি SQL-এ ব্যবহৃত সাধারণ কমান্ড, যা ডেটাসেট থেকে ডেটা নির্বাচন, একত্রিত করা এবং গ্রুপিং করার জন্য ব্যবহৃত হয়।
এখানে আমরা SELECT, JOIN, এবং GROUP BY ক্লজের ব্যবহার সম্পর্কে আলোচনা করব।
১. SELECT ক্লজ
SELECT ক্লজটি SQL কোডে ব্যবহৃত হয় ডেটাসেট থেকে নির্দিষ্ট কলাম বা ভেরিয়েবল নির্বাচন করতে। এটি ডেটাবেস বা ডেটাসেট থেকে ডেটা প্রদর্শন বা বের করার জন্য ব্যবহৃত হয়।
ব্যবহার:
- SELECT: নির্দিষ্ট ভেরিয়েবল নির্বাচন করতে ব্যবহৃত হয়।
- FROM: কোন ডেটাসেট বা টেবিল থেকে ডেটা নির্বাচন করতে হবে তা নির্দিষ্ট করা হয়।
উদাহরণ: SELECT ক্লজ
proc sql;
select Name, Age, Salary
from work.employees;
quit;
এখানে:
- Name, Age, এবং Salary ভেরিয়েবলগুলি work.employees ডেটাসেট থেকে নির্বাচিত হবে।
SELECT *:
যদি আপনি সব ভেরিয়েবল (কলাম) নির্বাচন করতে চান, তাহলে * ব্যবহার করতে পারেন।
proc sql;
select *
from work.employees;
quit;
এখানে:
*ব্যবহার করে পুরো ডেটাসেটের সব ভেরিয়েবল নির্বাচন করা হয়েছে।
২. JOIN ক্লজ
JOIN ক্লজটি দুটি বা তার বেশি টেবিল বা ডেটাসেটকে একত্রিত করার জন্য ব্যবহৃত হয়। এটি সাধারণত দুইটি ডেটাসেটের মধ্যে সম্পর্ক স্থাপন করে তাদের তথ্য একত্রিত করতে ব্যবহার হয়। INNER JOIN, LEFT JOIN, RIGHT JOIN ইত্যাদি বিভিন্ন ধরনের JOIN ব্যবহার করা যেতে পারে।
INNER JOIN:
INNER JOIN দুটি টেবিলের মধ্যে মিল পাওয়া রেকর্ডগুলিকে একত্রিত করে।
উদাহরণ: INNER JOIN
proc sql;
select a.Name, a.Age, b.Salary
from work.employees as a
inner join work.salaries as b
on a.EmployeeID = b.EmployeeID;
quit;
এখানে:
- INNER JOIN ব্যবহৃত হয়েছে যাতে দুটি ডেটাসেটের মধ্যে EmployeeID ভেরিয়েবল এর মাধ্যমে মিল পাওয়া রেকর্ডগুলো একত্রিত হয়।
LEFT JOIN:
LEFT JOIN প্রথম টেবিলের সব রেকর্ড রাখে এবং দ্বিতীয় টেবিলের সাথে মিল পাওয়া রেকর্ডগুলিকে যুক্ত করে।
উদাহরণ: LEFT JOIN
proc sql;
select a.Name, a.Age, b.Salary
from work.employees as a
left join work.salaries as b
on a.EmployeeID = b.EmployeeID;
quit;
এখানে:
- LEFT JOIN প্রথম ডেটাসেটের সব রেকর্ড রাখবে এবং দ্বিতীয় ডেটাসেটের সাথে মিল পাওয়া রেকর্ডগুলো যোগ করবে। যদি মিল না পাওয়া যায়, তবে Salary ভেরিয়েবলের মান NULL হবে।
৩. GROUP BY ক্লজ
GROUP BY ক্লজটি ডেটাসেটের রেকর্ডগুলো গ্রুপ করতে ব্যবহৃত হয়। এটি সাধারণত একাধিক রেকর্ডকে একটি নির্দিষ্ট ভেরিয়েবলের উপর ভিত্তি করে গ্রুপ করে এবং সেই গ্রুপের ওপর পরিসংখ্যানগত ফাংশন প্রয়োগ করতে ব্যবহৃত হয় (যেমন, গড়, সর্বোচ্চ, সর্বনিম্ন, গাণিতিক যোগফল ইত্যাদি)।
ব্যবহার:
- GROUP BY: কোন ভেরিয়েবল(s) অনুযায়ী ডেটা গ্রুপ করতে ব্যবহৃত হয়।
- HAVING: গ্রুপ করা রেকর্ডগুলোর ওপর শর্ত প্রয়োগ করতে ব্যবহৃত হয় (যেমন, গড় থেকে বেশি বা কম)।
উদাহরণ: GROUP BY ক্লজ
proc sql;
select Department, avg(Salary) as AvgSalary
from work.employees
group by Department;
quit;
এখানে:
- GROUP BY Department ব্যবহার করা হয়েছে, যাতে Department অনুযায়ী স্যালারির গড় বের করা হয়।
- AVG(Salary) গাণিতিক ফাংশনটি ব্যবহার করে প্রতিটি বিভাগের গড় স্যালারি বের করা হয়েছে।
HAVING ক্লজ:
HAVING ক্লজটি গ্রুপ করা রেকর্ডের উপর শর্ত প্রয়োগ করতে ব্যবহৃত হয়।
উদাহরণ: HAVING ক্লজ
proc sql;
select Department, avg(Salary) as AvgSalary
from work.employees
group by Department
having avg(Salary) > 50000;
quit;
এখানে:
- HAVING avg(Salary) > 50000 ব্যবহার করা হয়েছে, যার মাধ্যমে শুধুমাত্র সেসব বিভাগে স্যালারি গড় ৫০,০০০ এর বেশি সেই গ্রুপগুলি দেখানো হবে।
সারাংশ
SAS-এ PROC SQL ব্যবহারের মাধ্যমে SELECT, JOIN, এবং GROUP BY ক্লজ ব্যবহার করে ডেটা নির্বাচন, একত্রিত এবং গ্রুপ করা যায়।
- SELECT ক্লজটি ব্যবহার করে আপনি ডেটাসেটের নির্দিষ্ট ভেরিয়েবল নির্বাচন করতে পারেন।
- JOIN ক্লজটি ব্যবহৃত হয় ডেটাসেটের মধ্যে সম্পর্ক তৈরি করতে এবং সেগুলি একত্রিত করতে।
- GROUP BY ক্লজটি ডেটাসেটের রেকর্ডগুলো গ্রুপ করার জন্য ব্যবহৃত হয় এবং তার ওপর পরিসংখ্যান বা ফাংশন প্রয়োগ করা যায়।
এই ক্লজগুলির মাধ্যমে SAS-এ SQL কোড ব্যবহার করে ডেটা বিশ্লেষণ এবং প্রক্রিয়াকরণ করা সহজ এবং কার্যকরী।
Read more