SAS (Statistical Analysis System) একটি শক্তিশালী সফটওয়্যার যা ডেটা ম্যানিপুলেশন, বিশ্লেষণ এবং রিপোর্ট তৈরি করার জন্য ব্যাপকভাবে ব্যবহৃত হয়। ডেটা ম্যানিপুলেশন হলো ডেটার সাথে বিভিন্ন কার্যকলাপ করা, যেমন ডেটা পরিষ্কার করা, ডেটা ফিল্টার করা, নতুন ভেরিয়েবল তৈরি করা, ডেটার রূপান্তর ইত্যাদি। SAS-এ ডেটা ম্যানিপুলেশন করার জন্য বিভিন্ন টুল এবং ফিচার রয়েছে, যার মাধ্যমে ডেটার মান পরিবর্তন বা পরিমার্জন করা যায়।
ডেটা ম্যানিপুলেশনের মৌলিক কাজ
SAS-এ ডেটা ম্যানিপুলেশন করতে সাধারণত ডেটা স্টেপ (Data Step) ব্যবহার করা হয়। ডেটা স্টেপে ডেটার বিভিন্ন কাজ করা যায়, যেমন:
- ডেটা ইনপুট এবং আউটপুট: নতুন ডেটাসেট তৈরি বা পুরনো ডেটাসেট আউটপুট হিসেবে সংরক্ষণ করা।
- ফিল্টারিং: শর্ত অনুযায়ী ডেটা নির্বাচন বা বাদ দেওয়া।
- নতুন ভেরিয়েবল তৈরি করা: নতুন কোলাম বা ভেরিয়েবল তৈরি করা।
- ভেরিয়েবলের মান পরিবর্তন করা: পূর্বের ভেরিয়েবলের মান পরিবর্তন করা।
- গ্রুপিং এবং অ্যাগ্রিগেটিং: ডেটাকে গ্রুপ করা এবং বিভিন্ন পরিসংখ্যান তৈরি করা।
স্যাসে ডেটা ম্যানিপুলেশনের কিছু সাধারণ পদ্ধতি
১. ডেটা ইনপুট এবং আউটপুট
ডেটা স্টেপের মাধ্যমে স্যাসে নতুন ডেটাসেট তৈরি বা পুরনো ডেটাসেট পরিবর্তন করা যায়।
উদাহরণ:
data work.new_data;
input Name $ Age Salary;
datalines;
John 30 50000
Sara 25 45000
Tom 35 60000
;
run;
এখানে:
dataস্টেটমেন্টটি একটি নতুন ডেটাসেট তৈরি করছে।inputস্টেটমেন্টটি ভেরিয়েবলের নাম এবং ডেটার ধরন নির্ধারণ করছে।datalinesব্যবহার করে ডেটা ইনপুট করা হচ্ছে।
২. ফিল্টারিং (Filtering)
সরাসরি ডেটা ম্যানিপুলেট করার সময় শর্তযুক্ত ডেটা ফিল্টার করা যায়। যেমন, নির্দিষ্ট শর্ত অনুযায়ী ডেটার কিছু অংশ নির্বাচন বা বাদ দেওয়া।
উদাহরণ:
data work.filtered_data;
set work.new_data;
if Age > 30;
run;
এখানে:
if Age > 30শর্ত দিয়ে কেবলমাত্র সেই রেকর্ডগুলো নির্বাচন করা হচ্ছে যেখানে বয়স ৩০ এর বেশি।
৩. নতুন ভেরিয়েবল তৈরি করা
ডেটা ম্যানিপুলেশনের সময় নতুন ভেরিয়েবল তৈরি করা খুবই সাধারণ একটি কাজ। নতুন ভেরিয়েবল তৈরি করার জন্য স্যাসের = অপারেটর ব্যবহার করা হয়।
উদাহরণ:
data work.new_data;
set work.new_data;
Bonus = Salary * 0.10; /* নতুন ভেরিয়েবল 'Bonus' তৈরি */
run;
এখানে:
Bonusনামক একটি নতুন ভেরিয়েবল তৈরি করা হয়েছে, যা বোনাস হিসাব করতে ব্যবহৃত হচ্ছে (সেলারির ১০%)।
৪. ভেরিয়েবলের মান পরিবর্তন করা
মাঝে মাঝে ডেটার ভেরিয়েবলের মান পরিবর্তন করতে হয়, যেমন বয়স ৩০ এর নিচে হলে তার মান ০ হিসেবে পরিবর্তন করা।
উদাহরণ:
data work.updated_data;
set work.new_data;
if Age < 30 then Age = 0;
run;
এখানে:
- যদি
Age৩০ এর নিচে হয়, তবে সেটি ০ দিয়ে পরিবর্তন করা হয়েছে।
৫. গ্রুপিং এবং অ্যাগ্রিগেটিং (Grouping and Aggregating)
ডেটাকে গ্রুপ করে পরিসংখ্যান তৈরি করতে PROC MEANS, PROC FREQ, এবং PROC SQL ব্যবহার করা হয়।
উদাহরণ (গ্রুপিং এবং গড় বের করা):
proc means data=work.new_data;
var Salary;
class Age;
run;
এখানে:
class Ageদ্বারা বয়সের ভিত্তিতে গ্রুপিং করা হয়েছে এবংvar Salaryদিয়ে সেলারির গড় বের করা হয়েছে।
৬. ডেটা মার্জ (Merging Data)
স্যাসে একাধিক ডেটাসেট মার্জ বা একত্রিত করা যায়। একে MERGE স্টেটমেন্ট দ্বারা করা হয়।
উদাহরণ:
data work.merged_data;
merge work.data1(in=a) work.data2(in=b);
by ID;
run;
এখানে:
mergeস্টেটমেন্টটি দুটি ডেটাসেটকে একত্রিত করছে, যেখানে উভয় ডেটাসেটIDদ্বারা মার্জ হচ্ছে।
উপসংহার
SAS-এ ডেটা ম্যানিপুলেশন একটি অত্যন্ত গুরুত্বপূর্ণ কাজ, যা ডেটার সঠিক বিশ্লেষণ এবং রিপোর্ট তৈরির জন্য প্রয়োজন। ডেটা ইনপুট, ফিল্টারিং, নতুন ভেরিয়েবল তৈরি, মান পরিবর্তন, গ্রুপিং এবং অ্যাগ্রিগেটিং সবকিছুই স্যাসে সহজে করা যায়। এসব পদ্ধতি ব্যবহার করে আপনি সহজেই ডেটাকে ম্যানিপুলেট করে নিজের প্রয়োজন অনুযায়ী বিশ্লেষণ করতে পারবেন। SAS এর শক্তিশালী ডেটা ম্যানিপুলেশন টুলগুলো আপনাকে কার্যকরী ডেটা বিশ্লেষণের দিকে সাহায্য করবে।
SAS এর DATA Step হল একটি গুরুত্বপূর্ণ অংশ যা ডেটা ম্যানিপুলেশন বা ডেটা প্রক্রিয়া করার জন্য ব্যবহৃত হয়। এটি মূলত ডেটা লোড, ক্লিনিং, ম্যানিপুলেশন এবং নতুন ভেরিয়েবল তৈরি করার কাজ করে। DATA Step ব্যবহার করে আপনি আপনার ডেটাসেটে বিভিন্ন ধরনের পরিবর্তন, ফিল্টারিং, বিশ্লেষণ, এবং বিভিন্ন রকম গণনা করতে পারেন।
DATA Step এর মৌলিক গঠন
DATA Step একটি কোড ব্লক যা data এবং run কমান্ডের মধ্যে থাকে। এর মধ্যে আপনি ডেটাসেট লোড করতে, ভেরিয়েবল তৈরি করতে, শর্তাবলী প্রয়োগ করতে এবং ডেটা প্রক্রিয়াকরণ করতে পারেন।
DATA Step এর মৌলিক গঠন:
data new_dataset;
set existing_dataset;
/* ডেটা ম্যানিপুলেশন কোড এখানে */
run;
এখানে:
data new_dataset;— নতুন ডেটাসেট তৈরি করা হচ্ছে।set existing_dataset;— পুরানো ডেটাসেট থেকে ডেটা নিয়ে নতুন ডেটাসেটে প্রবাহিত করা হচ্ছে।run;— কোডটি কার্যকর করার জন্য ব্যবহৃত হয়।
DATA Step এর মাধ্যমে Data Manipulation
DATA Step ব্যবহার করে বিভিন্ন ধরণের ডেটা ম্যানিপুলেশন করা যায়। কিছু প্রধান ম্যানিপুলেশন অপারেশন নিম্নরূপ:
১. নতুন ভেরিয়েবল তৈরি করা
DATA Step দিয়ে আপনি নতুন ভেরিয়েবল তৈরি করতে পারেন যা পুরানো ভেরিয়েবলগুলোর উপর ভিত্তি করে গণনা বা পরিবর্তন হতে পারে।
উদাহরণ: নতুন ভেরিয়েবল তৈরি করা
data new_data;
set old_data;
AgeInMonths = Age * 12; /* নতুন ভেরিয়েবল AgeInMonths তৈরি */
run;
এখানে:
AgeInMonthsনতুন ভেরিয়েবল হিসেবে তৈরি হচ্ছে যাAgeভেরিয়েবল থেকে মাসে রূপান্তরিত বয়স প্রদর্শন করবে।
২. শর্তাবলী ব্যবহার করে ডেটা ফিল্টার করা
SAS DATA Step এ if শর্ত ব্যবহার করে ডেটা ফিল্টার করা যায়, যাতে শুধুমাত্র নির্দিষ্ট শর্ত পূরণ করা রেকর্ডগুলো রাখা হয়।
উদাহরণ: বয়সের উপর ভিত্তি করে ফিল্টার করা
data adults;
set people;
if age >= 18; /* বয়স ১৮ এর সমান বা বড় হলে রেকর্ড রাখবে */
run;
এখানে:
if age >= 18;শর্তটি নিশ্চিত করে যে, বয়স ১৮ বা তার বেশি হলে শুধুমাত্র সেই রেকর্ডগুলোadultsডেটাসেটে রাখা হবে।
৩. ডেটা ক্লিনিং
ডেটা ক্লিনিং হল ডেটাসেটে মিসিং ভ্যালু (missing values), ডুপ্লিকেট রেকর্ড এবং অবাঞ্ছিত ডেটা পরিষ্কার করার প্রক্রিয়া। if বা where শর্ত ব্যবহার করে আপনি এই ধরনের ডেটা পরিষ্কার করতে পারেন।
উদাহরণ: মিসিং ভ্যালু অপসারণ করা
data cleaned_data;
set raw_data;
if name = ''; /* যদি নাম ফাঁকা থাকে তবে সেই রেকর্ড বাদ দিন */
run;
এখানে:
if name = '';শর্তটি নিশ্চিত করে যে যেসব রেকর্ডেnameভেরিয়েবলটি ফাঁকা আছে, সেই রেকর্ডগুলো বাদ দেওয়া হবে।
৪. ভেরিয়েবল রিকোড করা
কখনও কখনও আপনাকে একটি ভেরিয়েবলকে নতুন মানে রিকোড (recode) করতে হতে পারে। এটি করার জন্য if-then বা select-when স্টেটমেন্ট ব্যবহার করা হয়।
উদাহরণ: বয়স রিকোড করা
data recoded_data;
set people;
if age < 18 then age_group = 'Minor';
else if age >= 18 and age < 60 then age_group = 'Adult';
else age_group = 'Senior';
run;
এখানে:
age_groupনতুন ভেরিয়েবল তৈরি করা হচ্ছে যা বয়সের উপর ভিত্তি করে 'Minor', 'Adult', বা 'Senior' শ্রেণীতে বিভক্ত হবে।
৫. ভেরিয়েবল মুছে ফেলা
SAS-এ drop বা keep স্টেটমেন্ট ব্যবহার করে আপনি অপ্রয়োজনীয় ভেরিয়েবলগুলো মুছে ফেলতে পারেন।
উদাহরণ: ভেরিয়েবল মুছে ফেলা
data reduced_data;
set full_data;
drop salary; /* salary ভেরিয়েবলটি বাদ দেয়া হচ্ছে */
run;
এখানে:
drop salary;স্টেটমেন্টের মাধ্যমেsalaryভেরিয়েবলটি ডেটাসেট থেকে বাদ দেওয়া হচ্ছে।
উপসংহার
SAS-এর DATA Step একটি শক্তিশালী টুল যা ডেটা ম্যানিপুলেশন, বিশ্লেষণ এবং প্রক্রিয়াকরণে ব্যবহৃত হয়। আপনি DATA Step ব্যবহার করে নতুন ভেরিয়েবল তৈরি, শর্তাবলী প্রয়োগ, ডেটা ক্লিনিং, ভেরিয়েবল রিকোডিং এবং অপ্রয়োজনীয় ডেটা অপসারণ করতে পারেন। এটি SAS-এ ডেটা বিশ্লেষণ এবং প্রস্তুতির জন্য অত্যন্ত গুরুত্বপূর্ণ একটি অংশ।
SAS (Statistical Analysis System) এ Variables (ভেরিয়েবল) খুব গুরুত্বপূর্ণ ভূমিকা পালন করে, কারণ এগুলি ডেটা সেটের বিভিন্ন তথ্য ধারণ করে। ডেটাসেট তৈরি করার পর, আপনাকে প্রয়োজন অনুযায়ী ভেরিয়েবল যোগ, মুছে ফেলা বা পরিবর্তন (modify) করতে হতে পারে। এই প্রক্রিয়াগুলি SAS এর DATA Step এর মাধ্যমে করা হয়।
Variables Add করা (ভেরিয়েবল যোগ করা)
SAS এ নতুন ভেরিয়েবল যোগ করা খুব সহজ। আপনি নতুন ভেরিয়েবল তৈরি করতে পারেন এবং সেই ভেরিয়েবলের মান নির্ধারণ করতে পারেন। এটি DATA স্টেপে করা হয়।
উদাহরণ: নতুন ভেরিয়েবল যোগ করা
DATA sales_data;
SET original_data;
Profit = Revenue - Cost; /* নতুন ভেরিয়েবল যোগ করা */
RUN;
এখানে:
Profitএকটি নতুন ভেরিয়েবল, যাRevenueএবংCostভেরিয়েবল থেকে বের করা হয়েছে।SETস্টেটমেন্টের মাধ্যমে পুরনো ডেটাসেট থেকে ডেটা আনা হয়েছে, এবং নতুন ভেরিয়েবলProfitতৈরি করা হয়েছে।
Variables Remove করা (ভেরিয়েবল মুছে ফেলা)
SAS এ কোনো ভেরিয়েবল মুছে ফেলতে হলে, DROP বা KEEP স্টেটমেন্ট ব্যবহার করতে হয়। DROP ব্যবহার করে আপনি নির্দিষ্ট ভেরিয়েবলগুলো ডেটাসেট থেকে বাদ দিতে পারেন, এবং KEEP ব্যবহার করে আপনি কেবলমাত্র নির্দিষ্ট ভেরিয়েবল রাখতে পারেন।
উদাহরণ: ভেরিয়েবল মুছে ফেলা
DATA new_data;
SET original_data;
DROP Age Gender; /* Age এবং Gender ভেরিয়েবল মুছে ফেলা */
RUN;
এখানে:
DROPস্টেটমেন্ট ব্যবহার করেAgeএবংGenderভেরিয়েবলগুলো মুছে ফেলা হয়েছে।SETস্টেটমেন্টের মাধ্যমে মূল ডেটাসেট থেকে ডেটা আনা হচ্ছে এবং পরবর্তী প্রক্রিয়ায়AgeএবংGenderবাদ দেওয়া হয়েছে।
Variables Modify করা (ভেরিয়েবল পরিবর্তন)
কখনও কখনও আপনাকে একটি ভেরিয়েবলের মান পরিবর্তন করতে হতে পারে। এটি IF শর্ত বা সরাসরি বরাদ্দকরণ (assignment) দিয়ে করা হয়।
উদাহরণ: ভেরিয়েবল পরিবর্তন করা
DATA updated_data;
SET original_data;
IF Age < 18 THEN Age_Group = 'Minor'; /* ভেরিয়েবল পরিবর্তন করা */
ELSE Age_Group = 'Adult';
RUN;
এখানে:
Age_Groupএকটি নতুন ভেরিয়েবল, যাAgeভেরিয়েবলের মানের ওপর ভিত্তি করে তৈরি হয়েছে।IF-THENশর্ত ব্যবহার করেAgeএর মান ১৮ এর কম হলেAge_Groupএর মান 'Minor' হবে, এবং অন্যথায় 'Adult' হবে।
ভেরিয়েবল Modify করার অন্য একটি উদাহরণ:
DATA adjusted_data;
SET original_data;
Revenue = Revenue * 1.1; /* Revenue ভেরিয়েবল পরিবর্তন */
RUN;
এখানে:
Revenueভেরিয়েবলের মান ১.১ দ্বারা গুণ করা হয়েছে, অর্থাৎ তা ১০% বৃদ্ধি পাবে।
DROP এবং KEEP স্টেটমেন্টের ব্যবহার
- DROP: একটি বা একাধিক ভেরিয়েবল মুছে ফেলতে ব্যবহৃত হয়।
- KEEP: একটি বা একাধিক ভেরিয়েবল রাখার জন্য ব্যবহৃত হয়। এটি কেবলমাত্র নির্দিষ্ট ভেরিয়েবলগুলিকে ডেটাসেটে রাখবে এবং বাকি ভেরিয়েবলগুলো বাদ দিবে।
উদাহরণ: KEEP ব্যবহার করা
DATA filtered_data;
SET original_data;
KEEP Name Age Revenue; /* কেবলমাত্র Name, Age, এবং Revenue রাখবে */
RUN;
এখানে:
KEEPস্টেটমেন্টের মাধ্যমে শুধুমাত্রName,Age, এবংRevenueভেরিয়েবল রাখা হবে, বাকি ভেরিয়েবলগুলো বাদ যাবে।
Variables Add, Remove, এবং Modify করার সুবিধা
- ডেটা প্রক্রিয়াকরণ: নতুন ভেরিয়েবল যোগ করে, মুছে ফেলে বা পরিবর্তন করে আপনি ডেটা সেটে প্রক্রিয়া এবং বিশ্লেষণ সহজ করতে পারেন।
- ডেটার ফর্ম্যাট ঠিক রাখা: প্রয়োজন অনুযায়ী ভেরিয়েবল পরিবর্তন বা মুছে ফেলার মাধ্যমে ডেটাসেটের সঠিক ফর্ম্যাট রাখা সহজ হয়।
- ডেটা বিশ্লেষণ: নতুন ভেরিয়েবল তৈরি করা এবং পুরানো ভেরিয়েবল মুছে ফেলার মাধ্যমে বিশ্লেষণের জন্য প্রয়োজনীয় ডেটা ফোকাস করা যায়।
SAS এর মাধ্যমে ভেরিয়েবল যোগ, মুছে ফেলা এবং পরিবর্তন করা ডেটা প্রক্রিয়ার গুরুত্বপূর্ণ অংশ। DATA স্টেপের মাধ্যমে এই কাজগুলো খুবই সহজ এবং কার্যকরীভাবে সম্পন্ন করা যায়, যা ডেটা বিশ্লেষণে সহায়তা করে।
SAS-এ IF-THEN লজিক এবং Conditional Processing হল এমন একটি কৌশল যার মাধ্যমে ডেটা ম্যানিপুলেশন এবং বিশ্লেষণে শর্তসাপেক্ষ (conditional) সিদ্ধান্ত নেওয়া হয়। এই লজিক ব্যবহার করে আমরা নির্দিষ্ট শর্ত অনুযায়ী ডেটার উপর বিভিন্ন প্রক্রিয়া বা বিশ্লেষণ প্রয়োগ করতে পারি।
IF-THEN লজিক কি?
IF-THEN লজিক সেক্ষেত্রে ব্যবহৃত হয় যখন আমরা কোনো নির্দিষ্ট শর্ত বা পরিস্থিতি অনুযায়ী ডেটার মধ্যে পরিবর্তন বা গণনা করতে চাই। উদাহরণস্বরূপ, যদি কোনো নির্দিষ্ট ভেরিয়েবলের মান একটি নির্দিষ্ট সীমার মধ্যে থাকে, তবে আমরা কিছু প্রক্রিয়া বা ক্রিয়াকলাপ সম্পাদন করতে চাই।
IF-THEN লজিকের গঠন
SAS-এ IF-THEN স্টেটমেন্টের গঠন সাধারণত এইরকম হয়:
IF condition THEN action;
এখানে:
- condition: শর্ত যা পরীক্ষা করা হয়।
- action: সেই শর্ত পূর্ণ হলে যে কাজটি করতে হবে।
উদাহরণ: IF-THEN লজিক
উদাহরণ ১: সাধারণ IF-THEN লজিক
data work.salary;
input name $ salary;
if salary > 50000 then bonus = salary * 0.10;
datalines;
John 55000
Sara 45000
Mike 60000
;
run;
proc print data=work.salary;
run;
এই কোডের মধ্যে:
- if salary > 50000 then bonus = salary * 0.10; — যদি salary 50,000 এর বেশি হয়, তাহলে bonus ১০% হিসেবে হিসাব করা হবে।
- আউটপুটে শুধুমাত্র যাদের বোনাস হিসাব করা হয়েছে, তাদের বোনাসের মান দেখানো হবে।
উদাহরণ ২: IF-THEN-ELSE লজিক
আপনি যদি দুটি শর্ত পরীক্ষা করতে চান, তবে IF-THEN-ELSE লজিক ব্যবহার করতে পারেন।
data work.salary;
input name $ salary;
if salary > 50000 then bonus = salary * 0.10;
else bonus = salary * 0.05;
datalines;
John 55000
Sara 45000
Mike 60000
;
run;
proc print data=work.salary;
run;
এখানে:
- IF salary > 50000 THEN bonus = salary * 0.10; — যদি স্যালারি 50,000 এর বেশি হয়, বোনাস ১০% হবে।
- ELSE bonus = salary * 0.05; — অন্যথায়, বোনাস ৫% হবে।
Conditional Processing (শর্তাধীন প্রক্রিয়া)
SAS-এ conditional processing হলো শর্তসাপেক্ষভাবে ডেটা প্রক্রিয়া করার একটি পদ্ধতি। এটি IF-THEN লজিকের মাধ্যমে সম্পন্ন করা হয়, যেখানে শর্তের ভিত্তিতে বিভিন্ন কর্ম (actions) নেওয়া হয়।
শর্তযুক্ত প্রক্রিয়া (Multiple Conditions)
আপনি একাধিক শর্তও ব্যবহার করতে পারেন। এর জন্য IF-THEN-ELSE IF ব্যবহার করা হয়।
data work.salary;
input name $ salary;
if salary > 80000 then bonus = salary * 0.20;
else if salary > 60000 then bonus = salary * 0.15;
else bonus = salary * 0.10;
datalines;
John 55000
Sara 75000
Mike 90000
;
run;
proc print data=work.salary;
run;
এখানে:
- যদি স্যালারি 80,000 এর বেশি হয়, তবে বোনাস ২০% হবে।
- যদি স্যালারি 60,000 এর বেশি এবং 80,000 এর কম হয়, তবে বোনাস ১৫% হবে।
- অন্যথায়, বোনাস ১০% হবে।
শর্তযুক্ত লজিক ব্যবহার করে ডেটা ফিল্টারিং
SAS-এ ডেটার উপর শর্ত প্রয়োগ করে সেগুলি ফিল্টার করা যায়। নিচে এর একটি উদাহরণ দেওয়া হলো:
data work.salary;
input name $ salary;
if salary > 60000 then output;
datalines;
John 55000
Sara 75000
Mike 90000
;
run;
proc print data=work.salary;
run;
এখানে:
- if salary > 60000 then output; — এখানে শুধুমাত্র স্যালারি ৬০,০০০ এর বেশি এমন রেকর্ডগুলো আউটপুট হিসেবে থাকবে।
ELSE IF, AND, OR শর্ত
SAS-এ AND এবং OR অপারেটর ব্যবহার করে একাধিক শর্তও পরীক্ষা করা যেতে পারে।
উদাহরণ ১: AND অপারেটর
data work.salary;
input name $ salary age;
if salary > 50000 and age > 30 then bonus = salary * 0.10;
datalines;
John 55000 32
Sara 45000 28
Mike 60000 35
;
run;
proc print data=work.salary;
run;
এখানে:
- salary > 50000 and age > 30 — স্যালারি ৫০,০০০ এর বেশি এবং বয়স ৩০ বছরের বেশি হলে বোনাস ১০% হবে।
উদাহরণ ২: OR অপারেটর
data work.salary;
input name $ salary age;
if salary > 50000 or age > 30 then bonus = salary * 0.10;
datalines;
John 55000 32
Sara 45000 28
Mike 60000 35
;
run;
proc print data=work.salary;
run;
এখানে:
- salary > 50000 or age > 30 — যদি স্যালারি ৫০,০০০ এর বেশি হয় অথবা বয়স ৩০ বছরের বেশি হয়, তাহলে বোনাস ১০% হবে।
সারাংশ
SAS-এ IF-THEN লজিক এবং conditional processing ব্যবহার করে আমরা ডেটা ম্যানিপুলেশন এবং বিশ্লেষণে শর্তযুক্ত সিদ্ধান্ত নিতে পারি। এই লজিকের মাধ্যমে আমরা ডেটার উপর নির্দিষ্ট শর্ত প্রয়োগ করে সিদ্ধান্ত নিতে পারি এবং বিভিন্ন ধরনের প্রসেসিং বা বিশ্লেষণ সম্পাদন করতে পারি। IF-THEN, ELSE, ELSE IF, AND, এবং OR অপারেটরগুলোর মাধ্যমে শর্তযুক্ত লজিক প্রয়োগ সহজে করা সম্ভব।
SAS (Statistical Analysis System) একটি শক্তিশালী ডেটা প্রক্রিয়াকরণ প্ল্যাটফর্ম যা ডেটা বিশ্লেষণ, ম্যানিপুলেশন এবং ম্যানেজমেন্টের জন্য বিভিন্ন টুলস সরবরাহ করে। এর মধ্যে Data Sorting (ডেটা সাজানো) এবং Merging (ডেটা একত্রিত করা) অন্যতম গুরুত্বপূর্ণ এবং বহুল ব্যবহৃত কার্যাবলী। এই দুটি টেকনিক ডেটা পরিচালনায় অত্যন্ত গুরুত্বপূর্ণ, বিশেষত যখন বড় ডেটাসেটগুলির সাথে কাজ করা হয়।
Data Sorting in SAS (ডেটা সাজানো)
ডেটা সাজানোর মাধ্যমে আপনি আপনার ডেটাসেটের রেকর্ডগুলো একটি নির্দিষ্ট ক্রমে সাজাতে পারেন, যেমন অক্ষরানুসারে (alphabetically) বা সংখ্যা অনুযায়ী (numerically)। SAS এ ডেটা সাজানোর জন্য PROC SORT স্টেটমেন্ট ব্যবহার করা হয়।
PROC SORT ব্যবহার
সাধারণ সিনট্যাক্স:
proc sort data=dataset_name;
by variable_name;
run;
এখানে:
dataset_name: যে ডেটাসেটটি আপনি সাজাতে চান।variable_name: সেই ভেরিয়েবলটি যার ভিত্তিতে ডেটা সাজানো হবে।
উদাহরণ:
ধরা যাক, আমাদের কাছে sashelp.class নামে একটি ডেটাসেট আছে এবং আমরা এটি age (বয়স) ভেরিয়েবলের ভিত্তিতে সাজাতে চাই।
proc sort data=sashelp.class;
by age;
run;
এই কোডটি sashelp.class ডেটাসেটটি age ভেরিয়েবল অনুসারে সাজিয়ে দিবে।
বহু ভেরিয়েবল অনুযায়ী সাজানো
আপনি একাধিক ভেরিয়েবলের ভিত্তিতেও ডেটা সাজাতে পারেন। এতে প্রথমে একটি ভেরিয়েবল এবং পরে অন্য ভেরিয়েবলগুলো অনুসারে সাজানো হয়।
proc sort data=sashelp.class;
by sex age;
run;
এই ক্ষেত্রে, প্রথমে sex ভেরিয়েবল অনুযায়ী সাজানো হবে এবং তারপর age ভেরিয়েবল অনুসারে।
Merging Data in SAS (ডেটা একত্রিত করা)
ডেটা একত্রিত করা বা merging হল দুটি বা তার বেশি ডেটাসেটের মধ্যে সম্পর্ক স্থাপন করে একত্রিত করা। SAS এ ডেটা মর্জ করার জন্য MERGE স্টেটমেন্ট ব্যবহার করা হয়। সাধারণত, একাধিক ডেটাসেট একত্রিত করার জন্য DATA স্টেপে MERGE স্টেটমেন্ট ব্যবহার করা হয়।
MERGE ব্যবহার
সাধারণ সিনট্যাক্স:
data new_dataset;
merge dataset1 dataset2;
by common_variable;
run;
এখানে:
dataset1এবংdataset2: একত্রিত করতে চাওয়া ডেটাসেটগুলো।common_variable: যেই ভেরিয়েবল বা কীগুলোর উপর ভিত্তি করে ডেটা একত্রিত হবে।
উদাহরণ:
ধরা যাক, আমাদের কাছে দুটি ডেটাসেট রয়েছে: sashelp.class এবং sashelp.shoes, এবং আমরা এই দুটি ডেটাসেটকে sex ভেরিয়েবলের উপর ভিত্তি করে একত্রিত করতে চাই।
data combined_data;
merge sashelp.class sashelp.shoes;
by sex;
run;
এখানে sashelp.class এবং sashelp.shoes ডেটাসেট দুটি sex ভেরিয়েবলের উপর ভিত্তি করে একত্রিত হবে।
BY স্টেটমেন্টের ব্যবহার
ডেটা একত্রিত করার জন্য BY স্টেটমেন্ট ব্যবহৃত হয়, তবে এর জন্য দুটি ডেটাসেটেই ঐ BY ভেরিয়েবল উপস্থিত থাকতে হবে এবং উভয় ডেটাসেট সাজানো (sorted) থাকতে হবে।
একাধিক ডেটাসেট একত্রিত করা
একাধিক ডেটাসেট একত্রিত করতে হলে, আপনি কয়েকটি ডেটাসেট উল্লেখ করতে পারেন। যেমন:
data combined_data;
merge dataset1 dataset2 dataset3;
by common_variable;
run;
Data Sorting এবং Merging এর পার্থক্য
| বিষয় | Data Sorting | Data Merging |
|---|---|---|
| কাজের উদ্দেশ্য | ডেটাকে একটি নির্দিষ্ট ক্রমে সাজানো | একাধিক ডেটাসেটকে একত্রিত করা |
| ব্যবহৃত স্টেটমেন্ট | PROC SORT | MERGE (DATA step এর মধ্যে) |
| ভেরিয়েবল প্রয়োজন | সাজানোর জন্য একটি বা একাধিক ভেরিয়েবল | একত্রিত করার জন্য একটি সাধারণ ভেরিয়েবল বা কী |
| আউটপুট | একটি সাজানো ডেটাসেট | একত্রিত বা সংযুক্ত ডেটাসেট |
| সাজানোর শর্ত | ডেটা সাজানো থাকে সাজানোর ভেরিয়েবলের ভিত্তিতে | একটি সাধারণ ভেরিয়েবল বা কী-এর ভিত্তিতে একত্রিত করা |
Data Sorting এবং Merging এর ব্যবহারিক ক্ষেত্রে
- Data Sorting: যখন আপনাকে ডেটার মধ্যে নির্দিষ্ট ক্রমে সাজানোর প্রয়োজন হয়, যেমন নাম, বয়স, আয়, ইত্যাদি ভেরিয়েবলের উপর ভিত্তি করে বিশ্লেষণ বা রিপোর্ট তৈরি করা।
- Data Merging: যখন বিভিন্ন ডেটাসেট থেকে একত্রিত তথ্যের প্রয়োজন হয়, যেমন বিভিন্ন বিভাগের ডেটাসেট বা বিভিন্ন সময়কালের তথ্য সংযুক্ত করা।
SAS এ Sorting এবং Merging দুটি গুরুত্বপূর্ণ টেকনিক, যা ডেটা বিশ্লেষণের জন্য অতি প্রয়োজনীয় এবং এগুলোর মাধ্যমে আপনি আপনার ডেটাকে কার্যকরীভাবে সাজাতে এবং একত্রিত করতে পারবেন।
Read more