SAS-এ PROC SQL একটি শক্তিশালী টুল যা ডেটাবেস ম্যানেজমেন্ট এবং ডেটা বিশ্লেষণ করার জন্য SQL (Structured Query Language) ব্যবহার করে। এটি SAS-এর ডেটাসেটগুলোর সাথে কাজ করার জন্য খুবই কার্যকর, কারণ এর মাধ্যমে ডেটা সিলেকশন, ইনসার্ট, আপডেট এবং ডিলিটের মতো বিভিন্ন কার্যক্রম করা যায়। PROC SQL ব্যবহার করে আপনি সহজেই ডেটাসেট ম্যানিপুলেট করতে পারেন, যেমন: ডেটা সিলেকশন, জয়েন, গ্রুপিং, অগ্রাধিকার (ordering) ইত্যাদি।
PROC SQL এর মৌলিক গঠন
PROC SQL;
<SQL_query>;
QUIT;
এখানে:
- <SQL_query>: আপনার SQL কোড (যেমন, SELECT, INSERT, UPDATE ইত্যাদি)।
১. SELECT: ডেটা সিলেকশন
SELECT ক্লজটি ডেটাসেট থেকে নির্দিষ্ট ভেরিয়েবল নির্বাচন করার জন্য ব্যবহৃত হয়। এটি একটি SQL কুয়েরি যা আপনাকে আপনার প্রয়োজনীয় ডেটা বের করতে সাহায্য করে।
উদাহরণ: SELECT ক্লজ ব্যবহার
PROC SQL;
SELECT Name, Age, Salary
FROM work.employees;
QUIT;
এখানে:
work.employeesডেটাসেট থেকেName,Age, এবংSalaryভেরিয়েবলগুলি সিলেক্ট করা হয়েছে।
২. WHERE: শর্তাধীন নির্বাচন
WHERE ক্লজটি ডেটা সিলেক্ট করার সময় শর্ত নির্ধারণ করতে ব্যবহৃত হয়। এটি ডেটাসেটে থাকা রেকর্ডগুলোকে কিছু নির্দিষ্ট শর্তের ভিত্তিতে ফিল্টার করে।
উদাহরণ: WHERE ক্লজ ব্যবহার
PROC SQL;
SELECT Name, Age, Salary
FROM work.employees
WHERE Age > 30;
QUIT;
এখানে:
WHERE Age > 30শর্তে কেবলমাত্র সেই রেকর্ডগুলো নির্বাচন করা হবে যেখানেAge৩০ এর বেশি।
৩. JOIN: একাধিক টেবিল সংযুক্ত করা
JOIN ক্লজটি একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপন করে। এটি দুইটি বা তার বেশি টেবিলের ডেটা একত্রিত করতে ব্যবহৃত হয়।
উদাহরণ: INNER JOIN ব্যবহার
PROC SQL;
SELECT e.Name, e.Age, d.Department
FROM work.employees e
INNER JOIN work.departments d
ON e.Department_ID = d.Department_ID;
QUIT;
এখানে:
INNER JOINদুটি টেবিলemployeesএবংdepartmentsসংযুক্ত করেছে, যেখানেe.Department_ID = d.Department_IDশর্তে সম্পর্ক স্থাপন করা হয়েছে।- e এবং d হলো টেবিলের জন্য ব্যবহৃত এলিয়াস নাম।
উদাহরণ: LEFT JOIN ব্যবহার
PROC SQL;
SELECT e.Name, e.Age, d.Department
FROM work.employees e
LEFT JOIN work.departments d
ON e.Department_ID = d.Department_ID;
QUIT;
এখানে:
- LEFT JOIN ব্যবহার করে,
employeesটেবিলের সমস্ত রেকর্ড প্রদর্শন করা হবে, এবং যেখানে সম্পর্ক না আছে সেখানেNULLপ্রদর্শিত হবে।
৪. GROUP BY: গ্রুপিং ডেটা
GROUP BY ক্লজটি ডেটাকে নির্দিষ্ট ভেরিয়েবলের ভিত্তিতে গ্রুপ করে, এবং গ্রুপগুলোর উপর সঙ্গতিপূর্ণ কার্যক্রম (যেমন, গড়, মোট ইত্যাদি) সম্পাদন করতে ব্যবহৃত হয়।
উদাহরণ: GROUP BY ক্লজ ব্যবহার
PROC SQL;
SELECT Department, AVG(Salary) AS Avg_Salary
FROM work.employees
GROUP BY Department;
QUIT;
এখানে:
GROUP BY Departmentক্লজটিemployeesডেটাসেটেরDepartmentভেরিয়েবলের ভিত্তিতে গ্রুপিং করে, এবং প্রতিটি বিভাগের জন্য গড় স্যালারিAVG(Salary)হিসাব করে।
HAVING ক্লজ: গ্রুপের উপর শর্ত প্রয়োগ
HAVING ক্লজটি GROUP BY এর পরে শর্ত প্রয়োগ করতে ব্যবহৃত হয়। এটি একটি গ্রুপে পরিসংখ্যান প্রক্রিয়া করার পর শর্ত নির্ধারণ করতে ব্যবহৃত হয়।
PROC SQL;
SELECT Department, AVG(Salary) AS Avg_Salary
FROM work.employees
GROUP BY Department
HAVING AVG(Salary) > 50000;
QUIT;
এখানে:
HAVING AVG(Salary) > 50000শর্তে কেবলমাত্র সেই বিভাগগুলো থাকবে, যার গড় স্যালারি ৫০,০০০ এর বেশি।
৫. ORDER BY: ডেটা সাজানো
ORDER BY ক্লজটি ডেটাকে নির্দিষ্ট ভেরিয়েবলের ভিত্তিতে সাজাতে ব্যবহৃত হয়, যেমন গড় স্যালারি থেকে শুরু করে সর্বনিম্ন বা সর্বোচ্চ মান।
উদাহরণ: ORDER BY ক্লজ ব্যবহার
PROC SQL;
SELECT Name, Age, Salary
FROM work.employees
ORDER BY Salary DESC;
QUIT;
এখানে:
ORDER BY Salary DESCক্লজটি স্যালারি অনুযায়ী ডেটাকে ডাউনওয়ার্ড সাজিয়ে প্রদর্শন করবে (সবচেয়ে বড় স্যালারি আগে আসবে)।
৬. INSERT INTO: নতুন রেকর্ড যোগ করা
INSERT INTO ক্লজটি একটি টেবিলে নতুন রেকর্ড বা ডেটা ইনসার্ট করতে ব্যবহৃত হয়।
উদাহরণ: INSERT INTO ক্লজ ব্যবহার
PROC SQL;
INSERT INTO work.employees (Name, Age, Salary)
VALUES ('John Doe', 35, 70000);
QUIT;
এখানে:
INSERT INTOকমান্ডটিwork.employeesটেবিলের মধ্যে একটি নতুন রেকর্ড যুক্ত করছে।
৭. UPDATE: ডেটা আপডেট করা
UPDATE ক্লজটি টেবিলের মধ্যে থাকা ডেটা আপডেট করতে ব্যবহৃত হয়।
উদাহরণ: UPDATE ক্লজ ব্যবহার
PROC SQL;
UPDATE work.employees
SET Salary = 75000
WHERE Name = 'John Doe';
QUIT;
এখানে:
UPDATEকমান্ডটিwork.employeesটেবিলের মধ্যেJohn Doeএর স্যালারি ৭৫০০০ এ আপডেট করছে।
৮. DELETE: রেকর্ড মুছে ফেলা
DELETE ক্লজটি টেবিল থেকে নির্দিষ্ট রেকর্ড মুছে ফেলার জন্য ব্যবহৃত হয়।
উদাহরণ: DELETE ক্লজ ব্যবহার
PROC SQL;
DELETE FROM work.employees
WHERE Name = 'John Doe';
QUIT;
এখানে:
DELETE FROMকমান্ডটিwork.employeesটেবিল থেকেJohn Doeনামের রেকর্ড মুছে ফেলছে।
সারাংশ
SAS-এ PROC SQL একটি শক্তিশালী এবং জনপ্রিয় টুল যা ডেটাসেট ম্যানিপুলেশন, ডেটা বিশ্লেষণ এবং ডেটাবেস পরিচালনার জন্য ব্যবহৃত হয়। এর মাধ্যমে আপনি SELECT, JOIN, GROUP BY, ORDER BY, INSERT, UPDATE, এবং DELETE ক্লজের মাধ্যমে ডেটা সহজে পরিচালনা করতে পারবেন। SQL এর সাহায্যে ডেটাকে সিলেক্ট, ম্যানিপুলেট, গ্রুপ, সাজানো, এবং নতুন ডেটা ইনসার্ট বা মুছে ফেলা সম্ভব।
Read more