SAS (Statistical Analysis System) প্রোগ্রামিং ভাষায় Functions এবং Expressions গুরুত্বপূর্ণ ভূমিকা পালন করে, যা ডেটা বিশ্লেষণ এবং ম্যানিপুলেশনের জন্য ব্যবহৃত হয়। Functions এবং Expressions দ্বারা ডেটার মান পরিবর্তন, হিসাব করা, ফিল্টার করা, এবং আরও অনেক কার্যাবলী করা সম্ভব। এই টুলগুলোর মাধ্যমে স্যাসে ডেটার ওপর বিভিন্ন ধরনের গণনা বা পরিবর্তন করা হয়।
SAS Functions
SAS Functions হল পূর্বনির্ধারিত কমান্ড যা ডেটা ম্যানিপুলেশন, পরিসংখ্যান, স্ট্রিং অপারেশন, ডেটার টাইম ক্যালকুলেশন ইত্যাদি কাজ করার জন্য ব্যবহার করা হয়। এসব ফাংশন প্রোগ্রামে সহজেই মান নির্ধারণ করতে বা ডেটার সাথে গণনা করতে সাহায্য করে।
Types of SAS Functions:
- নিউমেরিক ফাংশন (Numeric Functions)
- স্ট্রিং ফাংশন (String Functions)
- ডেটা ফাংশন (Date Functions)
- কনভার্সন ফাংশন (Conversion Functions)
- অন্যান্য ফাংশন (Other Functions)
১. নিউমেরিক ফাংশন (Numeric Functions)
নিউমেরিক ফাংশনগুলি গাণিতিক বা পরিসংখ্যানগত গণনা করতে ব্যবহৃত হয়।
উদাহরণ:
SUM(): দুটি বা ততোধিক মান যোগ করে।total = SUM(salary, bonus); /* salary এবং bonus যোগ করা */MEAN(): গড় বের করার জন্য ব্যবহৃত হয়।average = MEAN(salary, bonus, commission); /* salary, bonus, commission এর গড় বের করা */ROUND(): কোনো ভ্যালুকে নির্দিষ্ট ডিজিট পর্যন্ত রাউন্ড করা হয়।rounded_value = ROUND(price, 0.01); /* price রাউন্ড করা হবে 0.01 এর কাছাকাছি */
২. স্ট্রিং ফাংশন (String Functions)
স্ট্রিং ফাংশনগুলি টেক্সট বা স্ট্রিং ডেটা ম্যানিপুলেট করতে ব্যবহৃত হয়। এটি স্ট্রিংয়ের দৈর্ঘ্য পরিমাপ করা, সাবস্ট্রিং তৈরি করা, ক্যাপিটালাইজেশন, এবং অন্যান্য কার্যাবলী সম্পাদন করতে সাহায্য করে।
উদাহরণ:
LENGTH(): স্ট্রিং এর দৈর্ঘ্য নির্ধারণ করে।len_name = LENGTH(name); /* নামের দৈর্ঘ্য নির্ধারণ */SUBSTR(): স্ট্রিং থেকে সাবস্ট্রিং বের করা হয়।first_name = SUBSTR(name, 1, 5); /* নামের প্রথম ৫ অক্ষর বের করা */UPCASE(): স্ট্রিংয়ের সমস্ত অক্ষর বড় হাতের অক্ষরে পরিবর্তন করে।upper_name = UPCASE(name); /* নামকে বড় হাতের অক্ষরে পরিবর্তন */
৩. ডেটা ফাংশন (Date Functions)
ডেটা ফাংশনগুলি সময় এবং তারিখের সাথে কাজ করতে ব্যবহৃত হয়। এটি তারিখের পার্থক্য বের করা, বর্তমান তারিখ বা সময় পাওয়া, বা সময় ফর্ম্যাট পরিবর্তন করতে ব্যবহৃত হয়।
উদাহরণ:
TODAY(): বর্তমান তারিখ প্রদান করে।current_date = TODAY(); /* বর্তমান তারিখ বের করা */INTNX(): নির্দিষ্ট তারিখে দিন, মাস, বা বছর যোগ করে।next_month = INTNX('month', today_date, 1); /* এক মাস পরবর্তী তারিখ বের করা */YEAR(): একটি তারিখ থেকে বছর বের করা।year_of_birth = YEAR(birth_date); /* জন্ম তারিখ থেকে বছর বের করা */
৪. কনভার্সন ফাংশন (Conversion Functions)
কনভার্সন ফাংশনগুলি এক ধরনের ডেটাকে অন্য ধরনের ডেটায় রূপান্তর করতে ব্যবহৃত হয়। যেমন, স্ট্রিং থেকে নাম্বার, নাম্বার থেকে স্ট্রিং ইত্যাদি।
উদাহরণ:
PUT(): স্ট্রিং ডেটাতে কনভার্ট করা।str_salary = PUT(salary, 8.2); /* salary ভেরিয়েবলকে স্ট্রিং এ রূপান্তর করা */INPUT(): স্ট্রিং থেকে সংখ্যা বা তারিখে রূপান্তর করা।num_date = INPUT(date_str, MMDDYY10.); /* স্ট্রিং থেকে তারিখে রূপান্তর করা */
SAS Expressions
SAS Expression হলো সেক্ষেত্রে ব্যবহারিত ফাংশন, অপারেটর এবং ভেরিয়েবলের একটি সংমিশ্রণ যা নির্দিষ্ট কার্যাবলী সম্পাদন করে। একটি এক্সপ্রেশন সাধারণত গাণিতিক গণনা, স্ট্রিং ম্যানিপুলেশন, অথবা ডেটা টাইপ কনভার্সনের জন্য ব্যবহৃত হয়।
১. গাণিতিক এক্সপ্রেশন (Mathematical Expressions)
SAS প্রোগ্রামে গাণিতিক এক্সপ্রেশন সাধারণত নিউমেরিক ফাংশন এবং অপারেটর ব্যবহার করে গণনা করতে ব্যবহৃত হয়।
উদাহরণ:
total_salary = salary + bonus; /* salary এবং bonus যোগ করা */
২. তুলনা এক্সপ্রেশন (Comparison Expressions)
তুলনা এক্সপ্রেশনটি একটি শর্ত যাচাই করে, যেমন সমান, বড়, ছোট ইত্যাদি।
উদাহরণ:
if age > 30 then status = 'Senior'; /* age যদি ৩০ এর বেশি হয়, তবে status 'Senior' হবে */
৩. লজিক্যাল এক্সপ্রেশন (Logical Expressions)
লজিক্যাল এক্সপ্রেশনগুলি একাধিক শর্ত যাচাই করার জন্য ব্যবহৃত হয়, যেমন AND, OR অপারেটর ব্যবহার করা।
উদাহরণ:
if age > 30 and salary > 50000 then status = 'Eligible'; /* age এবং salary শর্ত পূর্ণ হলে status 'Eligible' হবে */
সারাংশ
SAS Functions এবং Expressions ডেটা ম্যানিপুলেশন এবং বিশ্লেষণের জন্য অত্যন্ত গুরুত্বপূর্ণ। Functions এর মাধ্যমে সহজেই গাণিতিক, স্ট্রিং, ডেটা বা টাইপ কনভার্সন সম্পর্কিত কাজ করা যায়, এবং Expressions ব্যবহার করে শর্ত, গাণিতিক গণনা, তুলনা এবং লজিক্যাল কার্যাবলী সম্পাদন করা হয়। স্যাসে Functions এবং Expressions ব্যবহার করে ডেটাকে বিশ্লেষণ এবং প্রক্রিয়া করা সহজ এবং কার্যকরী হয়ে ওঠে।
SAS একটি শক্তিশালী সফটওয়্যার যা ডেটা বিশ্লেষণ এবং ম্যানিপুলেশন করার জন্য বিভিন্ন ফাংশন প্রদান করে। এর মধ্যে Numeric Functions যেমন SUM, MEAN, এবং ROUND অত্যন্ত গুরুত্বপূর্ণ, কারণ এগুলি সংখ্যাসম্পর্কিত কাজ করতে ব্যবহৃত হয়। এই ফাংশনগুলোর সাহায্যে আপনি সহজেই ডেটার গাণিতিক হিসাব করতে পারেন।
SUM Function
SUM ফাংশনটি এক বা একাধিক ভেরিয়েবলের সমষ্টি বের করার জন্য ব্যবহৃত হয়। এটি সাধারণত ডেটাসেটের বিভিন্ন ভেরিয়েবলের মোট বা যোগফল বের করতে ব্যবহৃত হয়।
উদাহরণ: SUM ফাংশন ব্যবহার
data sales;
input product $ price quantity;
total_sales = sum(price, quantity);
datalines;
Product1 10 5
Product2 20 3
Product3 15 7
;
run;
proc print data=sales;
run;
এখানে:
priceএবংquantityভেরিয়েবলের যোগফল বের করতেsum(price, quantity)ব্যবহার করা হয়েছে।total_salesনামে একটি নতুন ভেরিয়েবল তৈরি করা হয়েছে, যা প্রতিটি প্রোডাক্টের মোট বিক্রয় প্রদর্শন করবে।
MEAN Function
MEAN ফাংশনটি একটি ডেটাসেট বা কলামের গড় মান বের করার জন্য ব্যবহৃত হয়। এটি বিভিন্ন সংখ্যার গড় বা অ্যাভারেজ হিসাব করতে ব্যবহৃত হয়, যা পরিসংখ্যানগত বিশ্লেষণে গুরুত্বপূর্ণ।
উদাহরণ: MEAN ফাংশন ব্যবহার
data scores;
input student $ score1 score2 score3;
average_score = mean(score1, score2, score3);
datalines;
John 85 90 78
Sara 92 88 95
Mike 80 76 85
;
run;
proc print data=scores;
run;
এখানে:
score1,score2, এবংscore3এর গড় বের করতেmean(score1, score2, score3)ব্যবহার করা হয়েছে।average_scoreনামক একটি নতুন ভেরিয়েবল তৈরি করা হয়েছে, যা ছাত্রদের গড় স্কোর দেখাবে।
ROUND Function
ROUND ফাংশনটি একটি নির্দিষ্ট ডেসিমাল পয়েন্ট বা সন্নিকটবর্তী পূর্ণসংখ্যায় রাউন্ড করার জন্য ব্যবহৃত হয়। এটি বিশেষত যখন বড় সংখ্যাকে নির্দিষ্ট দশমিক পয়েন্ট বা পূর্ণসংখ্যা হিসেবে রাউন্ড করতে হয়, তখন সহায়ক।
উদাহরণ: ROUND ফাংশন ব্যবহার
data prices;
input item $ price;
rounded_price = round(price, 0.5);
datalines;
Apple 2.75
Banana 3.25
Orange 4.60
;
run;
proc print data=prices;
run;
এখানে:
round(price, 0.5)ব্যবহার করা হয়েছে যাতেpriceভেরিয়েবলের মান ০.৫ এর সবচেয়ে কাছাকাছি পূর্ণসংখ্যায় রাউন্ড করা যায়।rounded_priceনামক একটি নতুন ভেরিয়েবল তৈরি করা হয়েছে যা রাউন্ড করা দাম দেখাবে।
সারাংশ
SAS-এ Numeric Functions যেমন SUM, MEAN, এবং ROUND ডেটা বিশ্লেষণের জন্য অত্যন্ত গুরুত্বপূর্ণ ফাংশন। SUM ব্যবহার করে আপনি ডেটার যোগফল বের করতে পারেন, MEAN ব্যবহার করে গড় হিসাব করতে পারেন, এবং ROUND ব্যবহার করে নির্দিষ্ট দশমিক বা পূর্ণসংখ্যায় রাউন্ড করতে পারেন। এই ফাংশনগুলো ডেটার গাণিতিক বিশ্লেষণকে সহজ এবং দ্রুত করতে সহায়তা করে।
SAS-এ Character Functions ব্যবহার করে আপনি টেক্সট বা ক্যারেক্টার ডেটা ম্যানিপুলেট করতে পারেন। এই ফাংশনগুলি ক্যারেক্টার ভেরিয়েবলের উপর বিভিন্ন ধরণের প্রক্রিয়া যেমন সাবস্ট্রিং এক্সট্র্যাকশন, ফাঁকা জায়গা সরানো এবং দৈর্ঘ্য নির্ধারণের জন্য ব্যবহৃত হয়। এখানে আমরা কিছু সাধারণ ক্যারেক্টার ফাংশন যেমন SUBSTR, TRIM, এবং LENGTH সম্পর্কে আলোচনা করব।
১. SUBSTR (Substring Extraction)
SUBSTR ফাংশনটি একটি স্ট্রিং থেকে একটি নির্দিষ্ট অংশ (substring) বের করতে ব্যবহৃত হয়। এটি মূল স্ট্রিং থেকে শুরু হওয়ার পজিশন এবং কতগুলো ক্যারেক্টার বের করতে হবে তা নির্দিষ্ট করে।
SUBSTR ফাংশনের গঠন:
SUBSTR(string, start, length)
- string: মূল স্ট্রিং বা ভেরিয়েবল।
- start: যেখান থেকে সাবস্ট্রিং শুরু হবে।
- length (optional): কতটি ক্যারেক্টার সাবস্ট্রিং হিসেবে নেওয়া হবে।
উদাহরণ:
data example;
input fullname $20.;
first_name = substr(fullname, 1, 5); /* প্রথম ৫টি ক্যারেক্টার */
last_name = substr(fullname, 7); /* ৭ম পজিশন থেকে বাকি */
datalines;
Johnathan Doe
Michael Smith
Sara Lee
;
run;
proc print data=example;
run;
এখানে:
- first_name ভেরিয়েবলটি fullname ভেরিয়েবলের প্রথম ৫টি ক্যারেক্টার (যেমন "John") গ্রহণ করবে।
- last_name ভেরিয়েবলটি ৭ম ক্যারেক্টার থেকে শুরু করে বাকী অংশ (যেমন "Doe") গ্রহণ করবে।
২. TRIM (Removing Trailing Spaces)
TRIM ফাংশনটি একটি স্ট্রিংয়ের শেষে থাকা অতিরিক্ত ফাঁকা স্থান (trailing spaces) সরাতে ব্যবহৃত হয়। এটি মূল স্ট্রিংয়ের শেষে থাকা এক বা একাধিক ফাঁকা স্থান মুছে দেয়, তবে স্ট্রিংয়ের শুরু বা মাঝখানে থাকা ফাঁকা স্থান অপরিবর্তিত থাকে।
TRIM ফাংশনের গঠন:
TRIM(string)
- string: যে স্ট্রিং থেকে ফাঁকা স্থান সরাতে হবে।
উদাহরণ:
data example;
input name $20.;
trimmed_name = trim(name); /* নামের শেষে থাকা ফাঁকা স্থান সরানো */
datalines;
John
Michael
Sara
;
run;
proc print data=example;
run;
এখানে:
- trimmed_name ভেরিয়েবলটি name ভেরিয়েবল থেকে শেষে থাকা ফাঁকা স্থান মুছে দিবে। (যেমন "John " থেকে "John")
৩. LENGTH (Length of a String)
LENGTH ফাংশনটি একটি স্ট্রিং বা ক্যারেক্টার ভেরিয়েবলের দৈর্ঘ্য নির্ধারণ করতে ব্যবহৃত হয়। এটি একটি স্ট্রিংয়ের মোট ক্যারেক্টারের সংখ্যা নির্ধারণ করে, এবং স্ট্রিংয়ের শেষে থাকা ফাঁকা স্থানও গণনা করে।
LENGTH ফাংশনের গঠন:
LENGTH(string)
- string: যে স্ট্রিংয়ের দৈর্ঘ্য নির্ধারণ করতে হবে।
উদাহরণ:
data example;
input name $20.;
name_length = length(name); /* নামের দৈর্ঘ্য নির্ধারণ */
datalines;
Johnathan
Michael
Sara
;
run;
proc print data=example;
run;
এখানে:
- name_length ভেরিয়েবলটি name ভেরিয়েবলের দৈর্ঘ্য নির্ধারণ করবে। যেমন, "Johnathan" এর দৈর্ঘ্য 9 এবং "Sara" এর দৈর্ঘ্য 4।
সারাংশ
SAS-এ Character Functions যেমন SUBSTR, TRIM, এবং LENGTH অত্যন্ত কার্যকরী ফাংশন যা ক্যারেক্টার ভেরিয়েবল বা স্ট্রিংয়ের উপর বিভিন্ন প্রক্রিয়া সম্পাদন করতে সহায়তা করে:
- SUBSTR ফাংশন ব্যবহার করে স্ট্রিংয়ের নির্দিষ্ট অংশ (substring) বের করা যায়।
- TRIM ফাংশনটি স্ট্রিংয়ের শেষে থাকা অতিরিক্ত ফাঁকা স্থান সরিয়ে স্ট্রিংকে পরিষ্কার করে।
- LENGTH ফাংশনটি স্ট্রিংয়ের মোট দৈর্ঘ্য নির্ধারণ করে।
এই ফাংশনগুলির মাধ্যমে আপনি ডেটার সাথে আরও কার্যকরভাবে কাজ করতে পারবেন এবং তা বিশ্লেষণের জন্য উপযোগী করতে পারবেন।
SAS-এ Date Functions ব্যবহার করা হয় ডেটার সাথে কাজ করার জন্য, যেমন তারিখের গাণিতিক হিসাব, তারিখের মান বের করা, অথবা নির্দিষ্ট তারিখ থেকে পূর্ববর্তী বা পরবর্তী তারিখ বের করা। TODAY, DATEPART, এবং INTNX হল স্যাসের অন্যতম শক্তিশালী ডেটা ফাংশন, যা তারিখের সাথে বিভিন্ন ধরনের অপারেশন সম্পাদন করতে সহায়তা করে।
১. TODAY Function
TODAY ফাংশনটি বর্তমান দিনের তারিখ প্রদান করে। এটি সিস্টেমের বর্তমান তারিখ (বর্তমান সিস্টেমের ক্যালেন্ডার অনুযায়ী) হিসাবে দিন, মাস, বছর প্রদর্শন করে।
ব্যবহার:
today_date = today();
এখানে:
today()ফাংশনটি বর্তমান দিনের তারিখ প্রদান করবে এবং এটি ডেট টাইপ হিসাবে আউটপুট করবে।
উদাহরণ:
data current_date;
current_date = today();
format current_date date9.;
run;
proc print data=current_date;
run;
এখানে:
current_dateভেরিয়েবলটিtoday()ফাংশন দিয়ে বর্তমান তারিখ ধারণ করবে।formatস্টেটমেন্টের মাধ্যমে আমরা তারিখের প্রদর্শন ফরম্যাটdate9.নির্ধারণ করেছি, যা তারিখটিddMONyyyyআকারে প্রদর্শন করবে।
২. DATEPART Function
DATEPART ফাংশনটি datetime values থেকে শুধুমাত্র তারিখের অংশ (date) বের করতে ব্যবহৃত হয়। সাধারণত, যখন সময় এবং তারিখ উভয়ই একত্রে থাকে (datetime value), তখন DATEPART ফাংশন দিয়ে শুধুমাত্র তারিখের অংশ বের করা যায়।
ব্যবহার:
date_only = datepart(datetime_value);
এখানে:
datetime_valueহল সেই ভেরিয়েবল যেটি datetime ফরম্যাটে রয়েছে, এবংdatepart()তারিখের অংশটি বের করবে।
উদাহরণ:
data date_only_data;
datetime_value = datetime();
date_only = datepart(datetime_value);
format date_only date9.;
run;
proc print data=date_only_data;
run;
এখানে:
datetime_valueভেরিয়েবলটিdatetime()ফাংশন দিয়ে বর্তমান তারিখ এবং সময় ধারণ করবে।date_onlyভেরিয়েবলটিdatepart()ফাংশন দিয়ে শুধু তারিখের অংশ বের করবে।formatস্টেটমেন্ট ব্যবহার করে আমরাdate9.ফরম্যাটে তারিখটি প্রদর্শন করেছি।
৩. INTNX Function
INTNX ফাংশনটি একটি তারিখ থেকে পূর্ববর্তী বা পরবর্তী তারিখ বের করতে ব্যবহৃত হয়। এটি একটি নির্দিষ্ট সময়ের ইউনিট (যেমন, দিন, সপ্তাহ, মাস, বছর) ব্যবহার করে তারিখের সাথে গাণিতিক অপারেশন করতে সহায়তা করে।
ব্যবহার:
new_date = intnx('unit', start_date, increment);
এখানে:
'unit'হলো সময়ের ইউনিট, যেমন 'day', 'month', 'year' ইত্যাদি।start_dateহলো মূল তারিখ, যার উপর ভিত্তি করে নতুন তারিখ বের করা হবে।incrementহলো কেমন পরিমাণ তারিখ পরিবর্তন করতে হবে (যেমন 1 দিন, 2 মাস, -1 বছর ইত্যাদি)।
উদাহরণ:
১. পরবর্তী মাসের প্রথম তারিখ বের করা:
data next_month;
today_date = today();
next_month_date = intnx('month', today_date, 1, 'beginning');
format today_date next_month_date date9.;
run;
proc print data=next_month;
run;
এখানে:
today_dateভেরিয়েবলটি বর্তমান তারিখ ধারণ করছে, যাtoday()ফাংশন দিয়ে পাওয়া গেছে।intnx('month', today_date, 1, 'beginning')দিয়ে আমরা পরবর্তী মাসের প্রথম তারিখ বের করেছি।'beginning'অপশনটি পরবর্তী মাসের প্রথম দিনটি ফিরিয়ে দেবে।
২. গত বছর একই তারিখ বের করা:
data last_year;
today_date = today();
last_year_date = intnx('year', today_date, -1);
format today_date last_year_date date9.;
run;
proc print data=last_year;
run;
এখানে:
intnx('year', today_date, -1)দিয়ে গত বছর একই তারিখ বের করা হয়েছে।-1নির্দেশ করছে গত বছরের একই তারিখ।
সারাংশ
SAS-এ Date Functions যেমন TODAY, DATEPART, এবং INTNX অত্যন্ত গুরুত্বপূর্ণ ফাংশন, যা তারিখের সাথে সম্পর্কিত বিভিন্ন গাণিতিক এবং বিশ্লেষণাত্মক কাজ সহজ করে তোলে:
- TODAY: বর্তমান দিনের তারিখ প্রদান করে।
- DATEPART: একটি datetime value থেকে শুধু তারিখের অংশ বের করে।
- INTNX: একটি নির্দিষ্ট তারিখ থেকে পূর্ববর্তী বা পরবর্তী তারিখ বের করতে ব্যবহৃত হয়।
এই ফাংশনগুলো তারিখের সাথে গাণিতিক কাজ এবং বিশ্লেষণ করতে সহায়তা করে, যা ডেটা ম্যানিপুলেশন এবং বিশ্লেষণে অত্যন্ত কার্যকরী।
SAS (Statistical Analysis System) ডেটা বিশ্লেষণের জন্য ব্যাপকভাবে ব্যবহৃত একটি শক্তিশালী টুল। এটি বিভিন্ন ধরনের Functions প্রদান করে, যা ডেটা ম্যানিপুলেশন, পরিসংখ্যানগত বিশ্লেষণ এবং Complex Calculations বা জটিল গাণিতিক হিসাব করার জন্য ব্যবহৃত হয়। SAS-এ Functions ব্যবহার করে আপনি সহজে জটিল গাণিতিক হিসাব, স্ট্যাটিস্টিক্যাল ক্যালকুলেশন, ডেটার রূপান্তর এবং অন্যান্য গণনা করতে পারেন।
এখানে আমরা কিছু সাধারণ এবং উন্নত Functions সম্পর্কে আলোচনা করব যা স্যাসে জটিল গণনার জন্য ব্যবহৃত হয়।
১. Mathematical Functions (গাণিতিক ফাংশন)
SAS-এ বিভিন্ন গাণিতিক ফাংশন আছে যা জটিল গাণিতিক হিসাব করতে ব্যবহৃত হয়, যেমন যোগফল, গড়, স্ট্যান্ডার্ড ডেভিয়েশন, লগারিদমিক ফাংশন ইত্যাদি।
১.১. SUM Function (যোগফল বের করা)
SUM ফাংশনটি একাধিক ভেরিয়েবলের যোগফল বের করার জন্য ব্যবহৃত হয়।
উদাহরণ:
data sales;
input product $ price quantity;
total_sales = sum(price, quantity);
datalines;
Apple 10 5
Banana 15 3
Orange 20 4
;
run;
proc print data=sales;
run;
এখানে sum(price, quantity) দিয়ে প্রতিটি প্রোডাক্টের দাম এবং পরিমাণ যোগ করে মোট বিক্রয় বের করা হয়েছে।
১.২. MEAN Function (গড় বের করা)
MEAN ফাংশনটি নির্দিষ্ট ভেরিয়েবলের গড় বের করার জন্য ব্যবহৃত হয়।
উদাহরণ:
data students;
input student $ score1 score2 score3;
average_score = mean(score1, score2, score3);
datalines;
John 80 90 85
Sara 85 95 90
Mike 78 82 88
;
run;
proc print data=students;
run;
এখানে mean(score1, score2, score3) ফাংশনটি তিনটি স্কোরের গড় বের করছে এবং average_score ভেরিয়েবলে সংরক্ষণ করছে।
১.৩. ROUND Function (রাউন্ডিং করা)
ROUND ফাংশনটি কোনো সংখ্যা নির্দিষ্ট দশমিক স্থান বা পূর্ণসংখ্যায় রাউন্ড করার জন্য ব্যবহৃত হয়।
উদাহরণ:
data prices;
input item $ price;
rounded_price = round(price, 0.5);
datalines;
Apple 2.75
Banana 3.20
Orange 4.60
;
run;
proc print data=prices;
run;
এখানে, round(price, 0.5) ফাংশনটি দামগুলিকে ০.৫ এর সবচেয়ে কাছাকাছি পূর্ণসংখ্যায় রাউন্ড করছে।
২. Statistical Functions (পরিসংখ্যান ফাংশন)
SAS-এ পরিসংখ্যান সম্পর্কিত অনেক ফাংশন রয়েছে, যেগুলি জটিল পরিসংখ্যানগত বিশ্লেষণ করতে ব্যবহৃত হয়।
২.১. STANDARD Deviation (স্ট্যান্ডার্ড ডেভিয়েশন)
STD ফাংশনটি ডেটার স্ট্যান্ডার্ড ডেভিয়েশন বের করার জন্য ব্যবহৃত হয়।
উদাহরণ:
data scores;
input student $ score1 score2 score3;
std_dev = std(score1, score2, score3);
datalines;
John 80 90 85
Sara 85 95 90
Mike 78 82 88
;
run;
proc print data=scores;
run;
এখানে, std(score1, score2, score3) ফাংশনটি স্কোরগুলির স্ট্যান্ডার্ড ডেভিয়েশন বের করছে।
২.২. MEDIAN Function (মিডিয়ান বের করা)
MEDIAN ফাংশনটি একটি ডেটাসেটের বা ভেরিয়েবলের মিডিয়ান (মাঝারি মান) বের করার জন্য ব্যবহৃত হয়।
উদাহরণ:
data scores;
input student $ score1 score2 score3;
median_score = median(score1, score2, score3);
datalines;
John 80 90 85
Sara 85 95 90
Mike 78 82 88
;
run;
proc print data=scores;
run;
এখানে, median(score1, score2, score3) ফাংশনটি তিনটি স্কোরের মধ্যবর্তী মান বের করবে।
৩. Date and Time Functions (তারিখ এবং সময় ফাংশন)
SAS-এ তারিখ এবং সময় সম্পর্কিত অনেক ফাংশন রয়েছে, যা জটিল সময় বা তারিখ গণনা করতে ব্যবহৃত হয়।
৩.১. TODAY Function (আজকের তারিখ)
TODAY() ফাংশনটি বর্তমান তারিখ (আজকের দিন) প্রদান করে।
উদাহরণ:
data today_date;
today = today();
format today date9.;
run;
proc print data=today_date;
run;
এখানে, today() ফাংশনটি বর্তমান তারিখ প্রদান করবে এবং date9. ফরম্যাটে সেটি দেখানো হবে।
৩.২. INTCK Function (তারিখের মধ্যে দিন সংখ্যা গণনা)
INTCK ফাংশনটি দুটি তারিখের মধ্যে কতটি দিন, মাস বা বছর পার হয়েছে তা গণনা করতে ব্যবহৃত হয়।
উদাহরণ:
data date_diff;
input start_date : date9. end_date : date9.;
days_diff = intck('day', start_date, end_date);
format start_date end_date date9.;
datalines;
01JAN2020 10JAN2020
01FEB2020 05FEB2020
;
run;
proc print data=date_diff;
run;
এখানে, intck('day', start_date, end_date) ফাংশনটি দুইটি তারিখের মধ্যে দিন সংখ্যা গণনা করছে।
৪. Advanced Functions (উন্নত ফাংশন)
SAS-এ কিছু উন্নত ফাংশনও রয়েছে যা আরও জটিল গাণিতিক ও পরিসংখ্যানগত হিসাব করতে ব্যবহৃত হয়।
৪.১. LOG Function (লগারিদমিক ফাংশন)
LOG ফাংশনটি একটি সংখ্যার প্রকৃত লগারিদম বের করার জন্য ব্যবহৃত হয়।
উদাহরণ:
data log_example;
input number;
log_value = log(number);
datalines;
10
100
1000
;
run;
proc print data=log_example;
run;
এখানে, log(number) ফাংশনটি সংখ্যার প্রকৃত লগারিদম বের করবে।
৪.২. EXP Function (এক্সপোনেনশিয়াল ফাংশন)
EXP ফাংশনটি একটি সংখ্যার এক্সপোনেনশিয়াল বের করার জন্য ব্যবহৃত হয়।
উদাহরণ:
data exp_example;
input number;
exp_value = exp(number);
datalines;
1
2
3
;
run;
proc print data=exp_example;
run;
এখানে, exp(number) ফাংশনটি সংখ্যার এক্সপোনেনশিয়াল মান বের করবে।
উপসংহার
SAS-এ Functions ব্যবহার করে জটিল গাণিতিক হিসাব এবং পরিসংখ্যানগত বিশ্লেষণ করা অত্যন্ত সহজ। এখানে আলোচনা করা হয়েছে কিছু সাধারণ এবং উন্নত ফাংশনের মাধ্যমে কীভাবে জটিল গণনা করা যায়। ফাংশনগুলো যেমন SUM, MEAN, ROUND, STD, MEDIAN, এবং অন্যান্য পরিসংখ্যানিক ফাংশনগুলো ডেটার বিশ্লেষণে খুবই কার্যকরী। SAS আপনাকে এই ফাংশনগুলো ব্যবহার করে দ্রুত এবং নির্ভুলভাবে ডেটা বিশ্লেষণ এবং গাণিতিক হিসাব করতে সাহায্য করে।
Read more