SAS ম্যাক্রো একটি অত্যন্ত শক্তিশালী টুল যা কোড পুনরাবৃত্তি এড়াতে এবং কোডের কার্যকারিতা বাড়াতে ব্যবহৃত হয়। ম্যাক্রো ফাংশন এবং ম্যাক্রো এক্সপ্রেশন (Macro Functions and Macro Expressions) ম্যাক্রো ভেরিয়েবল এবং ম্যাক্রো প্রসিডিউরগুলোতে গাণিতিক ও লজিক্যাল অপারেশন এবং ডেটা ম্যানিপুলেশন করার জন্য ব্যবহৃত হয়। ম্যাক্রো ফাংশনগুলি ম্যাক্রো কোডের মধ্যে কিছু কার্যকরী ফাংশন এবং অ্যাকশন সম্পাদন করতে সহায়তা করে।
ম্যাক্রো ফাংশন (Macro Functions)
SAS ম্যাক্রো ফাংশনগুলি একটি কার্যকরী টুল যা ম্যাক্রো কোডে ডেটা ম্যানিপুলেশন এবং নির্দিষ্ট কাজের জন্য ব্যবহার করা হয়। এগুলি সাধারণত ম্যাক্রো কোডে ইনপুট হিসেবে পাওয়া ভেরিয়েবলের সাথে গণনা বা লজিক্যাল চেক করতে সহায়তা করে।
ম্যাক্রো ফাংশনের সাধারণ গঠন
%function_name(argument1, argument2, ...);
- function_name: ফাংশনের নাম।
- argument1, argument2, ...: ফাংশনের ইনপুট প্যারামিটার।
উদাহরণ: %EVAL ম্যাক্রো ফাংশন
%EVAL ফাংশনটি গাণিতিক অপারেশন সম্পাদন করতে ব্যবহৃত হয়। এটি একটি এক্সপ্রেশন হিসেবে গাণিতিক গাণনা গ্রহণ করে এবং ফলাফল প্রদান করে।
%let result = %eval(5 + 3); /* গাণিতিক অপারেশন */
%put &result; /* আউটপুট হবে 8 */
এখানে:
%eval(5 + 3)৫ এবং ৩ এর যোগফল বের করবে, যা ৮ হবে এবং সেটিresultভেরিয়েবলে সংরক্ষিত হবে।%put &result;আউটপুট উইন্ডোতে8প্রদর্শিত হবে।
উদাহরণ: %SYSEVALF ম্যাক্রো ফাংশন
%SYSEVALF ফাংশনটি দশমিক গাণিতিক অপারেশন করতে ব্যবহৃত হয়। এটি %EVAL এর মতো, তবে দশমিক গাণনা সক্ষম।
%let result = %sysevalf(3.5 + 2.2); /* দশমিক গাণিতিক অপারেশন */
%put &result; /* আউটপুট হবে 5.7 */
এখানে:
%sysevalf(3.5 + 2.2)দশমিক যোগফল হিসেবে5.7প্রদান করবে এবং সেটিresultভেরিয়েবলে সংরক্ষিত হবে।
ম্যাক্রো এক্সপ্রেশন (Macro Expressions)
SAS ম্যাক্রো এক্সপ্রেশন হল এক বা একাধিক ম্যাক্রো ফাংশন এবং অপারেটরের সংমিশ্রণ যা বিশেষ কার্যক্রম এবং ডেটা ম্যানিপুলেশন সম্পাদন করতে ব্যবহৃত হয়। ম্যাক্রো এক্সপ্রেশনগুলি ম্যাক্রো কোডের মধ্যে মান বের করার জন্য বা একটি প্রক্রিয়া সম্পাদন করতে ব্যবহৃত হতে পারে।
উদাহরণ: ম্যাক্রো এক্সপ্রেশন ব্যবহার
%let result = %eval(10 * 2); /* গাণিতিক এক্সপ্রেশন */
%put &result; /* আউটপুট হবে 20 */
এখানে:
%eval(10 * 2)একটি গাণিতিক এক্সপ্রেশন, যা ১০ গুণ ২ করে ফলাফল প্রদান করবে, অর্থাৎ ২০।
উদাহরণ: ক্যাটালগ ফাংশন ও ম্যাক্রো এক্সপ্রেশন
%let name = John;
%let greeting = Hello, &name!; /* ম্যাক্রো এক্সপ্রেশন ব্যবহার */
%put &greeting; /* আউটপুট হবে Hello, John! */
এখানে:
&nameম্যাক্রো ভেরিয়েবলকে এক্সপ্রেশন হিসেবে ব্যবহার করা হয়েছে, এবং তার ফলস্বরূপHello, John!আউটপুট প্রদর্শিত হবে।
ম্যাক্রো ফাংশন এবং এক্সপ্রেশনগুলির বিভিন্ন ব্যবহার
১. ম্যাক্রো ফাংশন ব্যবহার করে ডেটা চেক
%let value = 100;
%if %eval(&value > 50) %then %put Value is greater than 50;
এখানে:
%eval(&value > 50)ব্যবহার করে চেক করা হচ্ছে যেvalue৫০ এর বেশি কিনা।
২. ম্যাক্রো এক্সপ্রেশন ব্যবহার করে ডেটা সংযোগ
%let prefix = Sales;
%let suffix = Report;
%let report_name = &prefix &suffix;
%put &report_name;
এখানে:
&prefixএবং&suffixভেরিয়েবলগুলিকে একত্রিত করে একটি নতুনreport_nameতৈরি করা হয়েছে।
সারাংশ
SAS ম্যাক্রো ফাংশন এবং ম্যাক্রো এক্সপ্রেশন গুলি ম্যাক্রো প্রোগ্রামিংয়ে অত্যন্ত শক্তিশালী সরঞ্জাম। %EVAL, %SYSEVALF, এবং অন্যান্য ম্যাক্রো ফাংশন গাণিতিক অপারেশন, ভেরিয়েবল নির্ধারণ এবং লজিক্যাল চেক করতে ব্যবহৃত হয়। ম্যাক্রো এক্সপ্রেশনগুলি বিভিন্ন অপারেটর এবং ফাংশনের সংমিশ্রণে একটি কাজ সম্পাদন করতে ব্যবহৃত হয়, এবং এটি কোডের পুনরাবৃত্তি কমাতে সহায়তা করে। SAS ম্যাক্রো ব্যবহারে কাজ দ্রুত এবং কার্যকরী হয়, এবং কোডের পুনরাবৃত্তি থেকে মুক্তি পাওয়া যায়।
Read more