
ডেটা ক্লিনিং ডেটা বিশ্লেষণ এবং গণনার জন্য অত্যন্ত গুরুত্বপূর্ণ এবং এটি ডেটা প্রস্তুতি ও ফরম্যাটিংয়ের প্রথম ধাপ। ডেটা ক্লিনিং বলতে অসঙ্গতি, ত্রুটি এবং অপ্রয়োজনীয় ফরম্যাটিং সরানোর প্রক্রিয়াকে বোঝায়। মাইক্রোসফট এক্সেলের পাওয়ার কোয়ারি এবং গুগল শিটসের REGEX ফাংশন উভয়েই উন্নত ক্লিনিংয়ের জন্য শক্তিশালী হাতিয়ার। আজ আমরা আপনাকে দেখাব কীভাবে পাওয়ার কোয়ারি এবং গুগল শিটসের REGEX ফাংশন ব্যবহার করে উন্নত ডেটা ক্লিনিং করতে হয় এবং তাদের মধ্যে তুলনা করব।
এক্সেলের পাওয়ার কোয়ারি
পাওয়ার কোয়ারি এক্সেলের একটি বিল্ট-ইন ফিচার যা ডেটা রূপান্তর এবং ক্লিনিংয়ের জন্য ব্যবহারকারী-বান্ধব ইন্টারফেস প্রদান করে। এটি কোনো জটিল ফর্মুলা ছাড়াই ডেটা ক্লিন এবং ফরম্যাট করে। পাওয়ার কোয়ারি বিভিন্ন সোর্স থেকে ডেটা ইম্পোর্ট করে এবং শক্তিশালী ডেটা কানেক্টিভিটি অফার করে। জটিল ডেটা-ক্লিনিং কাজ সম্পাদনের জন্য এতে নমনীয় বৈশিষ্ট্য রয়েছে।
গুগল শিটসের REGEX ফাংশন
গুগল শিটসের REGEX ফাংশন রেগুলার এক্সপ্রেশন ব্যবহার করে টেক্সট ডেটার মধ্যে প্যাটার্ন খুঁজে বের করে, যা টেক্সট এন্ট্রি পার্সিং, ফরম্যাটিং বা যাচাই করার জন্য আদর্শ।
- REGEXREPLACE: রেগুলার এক্সপ্রেশন দিয়ে মিলে যাওয়া টেক্সটকে নির্দিষ্ট টেক্সট দিয়ে প্রতিস্থাপন করে।
- =REGEXREPLACE(text, regular_expression, replacement)
- REGEXMATCH: একটি টেক্সট স্ট্রিং নির্দিষ্ট রেগুলার এক্সপ্রেশনের সাথে মিলে যায় কিনা তা যাচাই করে।
- =REGEXMATCH(text, regular_expression)
- REGEXEXTRACT: রেগুলার এক্সপ্রেশন ভিত্তিকভাবে টেক্সট থেকে মিলে যাওয়া সাবস্ট্রিং বের করে।
- =REGEXEXTRACT(text, regular_expression)
এই ফাংশনগুলি ডেটা ক্লিনিং, প্যাটার্ন স্বীকৃতি এবং ডাইনামিক টেক্সট ম্যানিপুলেশনের জন্য উপযোগী।
আসুন একটি রড ডেটাসেট বিবেচনা করি যাতে ভুল ফরম্যাটিং, অপ্রয়োজনীয় ক্যারেক্টার, ত্রুটি, ব্ল্যাঙ্ক স্পেস ইত্যাদি রয়েছে। এক্সেলের পাওয়ার কোয়ারি এবং গুগল শিটসের REGEX ফাংশন ব্যবহার করে উন্নত ডেটা ক্লিনিং দেখাব এবং তাদের মধ্যে তুলনা করব।
অপ্রয়োজনীয় ক্যারেক্টার সরানো
ফোন নম্বরের ডেটাসেট থেকে প্যারেন্থেসিস, ড্যাশ বা স্পেসের মতো অবাঞ্ছিত ক্যারেক্টার সরিয়ে ক্লিন করা।
পাওয়ার কোয়ারি
- ডেটা রেঞ্জ সিলেক্ট করুন।
- Data ট্যাবে যান >> From Table/Range সিলেক্ট করুন।
- Power Query এডিটর খুলবে। কলাম সিলেক্ট করুন। আমরা Phone Number কলাম সিলেক্ট করেছি।
- Transform ট্যাবে যান >> Replace Values সিলেক্ট করুন।
- Replace Values ডায়ালগ বক্সে:
- Value to Find বক্সে: অবাঞ্ছিত ক্যারেক্টার ((, ), -, ) একটি একটি করে লিখুন।
- Replace with বক্সে: খালি রাখুন বা যদি কোনো মান দিয়ে প্রতিস্থাপন করতে চান তবে সেটি দিন।
- OK ক্লিক করুন।

- Close & Load সিলেক্ট করুন যাতে ক্লিন করা ডেটা এক্সেলে ফিরে আসে।

গুগল শিটস REGEXREPLACE ফাংশন
গুগল শিটসে REGEXREPLACE ফাংশন ব্যবহার করে ডেটা ক্লিনিং এবং ফরম্যাটিং একসাথে করা যায়। সেল G2-এ নিচের ফর্মুলা লিখুন:
=ARRAYFORMULA(IF(LEN(REGEXREPLACE(D2:D6, "[^0-9]", ""))=10, "(" & MID(REGEXREPLACE(D2:D6, "[^0-9]", ""), 1, 3) & ") " & MID(REGEXREPLACE(D2:D6, "[^0-9]", ""), 4, 3) & "-" & MID(REGEXREPLACE(D2:D6, "[^0-9]", ""), 7, 4), "Invalid"))
এই ফর্মুলা সব নন-নмериক ক্যারেক্টার সরিয়ে দেবে। তারপর এটি যাচাই করবে ক্লিন করা নম্বরটি ঠিক ১০ ডিজিটের কিনা। যদি বৈধ হয়, তবে (XXX) XXX-XXXX ফরম্যাটে দেখাবে; অন্যথায় "Invalid" রিটার্ন করবে।

গুগল শিটস REGEXREPLACE ফাংশন (সাধারণ ক্লিনিং)
অপ্রয়োজনীয় স্পেশাল ক্যারেক্টার সরানোর জন্য নিচের ফর্মুলা ব্যবহার করুন:
ফর্মুলা:
=REGEXREPLACE(D2, "[^a-zA-Z0-9]", "")
এই [^a-zA-Z0-9] প্যাটার্ন যেকোনো অক্ষর বা অঙ্ক বাদে অন্য সব ক্যারেক্টার সরিয়ে দেয়।
যদি আপনি রেগুলার এক্সপ্রেশনের সাথে পরিচিত হন, তবে REGEXREPLACE ফাংশন একটি ফর্মুলায় লেটার বা ডিজিট বাদে সব ক্যারেক্টার সরাতে পারে।

টেক্সট কেস স্ট্যান্ডার্ডাইজ করা
ডেটাসেটে মিশ্র টেক্সট থাকতে পারে; আপনি সব টেক্সট এন্ট্রিকে লোয়ারকেস বা টাইটেল কেসে রূপান্তর করতে পারেন।
পাওয়ার কোয়ারি
ডেটা রেঞ্জ সিলেক্ট করে Data ট্যাবে যান >> From Table/Range সিলেক্ট করে পাওয়ার কোয়ারি খুলুন।
- রূপান্তর করার জন্য টেক্সট থাকা কলাম সিলেক্ট করুন।
- Transform ট্যাবে যান >> Capitalize Each Word সিলেক্ট করুন।

গুগল শিটস PROPER ফাংশন
গুগল শিটসে রেগুলার এক্সপ্রেশন দিয়ে সরাসরি প্রতিটি শব্দ ক্যাপিটালাইজ করার উপায় নেই, কারণ REGEXREPLACE রেগেক্স প্যাটার্ন বা রিপ্লেসমেন্টের মধ্যে UPPER এবং LOWER ফাংশন সরাসরি সাপোর্ট করে না। আপনি PROPER, UPPER, বা LOWER ফাংশন ব্যবহার করতে পারেন।
এই ফর্মুলা নিশ্চিত করে যে প্রতিটি শব্দ ক্যাপিটালাইজড এবং প্রথম অক্ষর বাদে সব ছোট হাতের অক্ষরে রূপান্তরিত হয়েছে।

ডিলিমিটার দিয়ে ডেটা বিভাজন
মার্জড টেক্সট বা নামগুলো ডিলিমিটার দিয়ে আলাদা কলামে ভাগ করা যায়। পাওয়ার কোয়ারি এবং গুগল শিটসের REGEX ফাংশন ব্যবহার করে এটি দেখাব।
পাওয়ার কোয়ারি
ডেটা রেঞ্জ সিলেক্ট করে Data ট্যাবে যান >> From Table/Range সিলেক্ট করে পাওয়ার কোয়ারি খুলুন।
- নাম থাকা কলাম বেছে নিন।
- Home ট্যাবে যান >> Split Column থেকে By Delimiter সিলেক্ট করুন।

- Split Column by Delimiter ডায়ালগ বক্সে:
- Select and enter delimiter: এ Space( ) বেছে নিন।
- OK ক্লিক করুন।

- ফলাফলের কলামগুলোকে "First Name" এবং "Last Name" হিসেবে রিনেম করুন।

গুগল শিটস REGEXEXTRACT ফাংশন
REGEXEXTRACT ফাংশন ব্যবহার করে ডিলিমিটার দিয়ে ডেটা বিভাজন করা যায়। আপনার পছন্দের সেলে নিচের ফর্মুলা লিখুন:
=REGEXEXTRACT(E9, "^([^ ]+) (.+)$")
এই ফর্মুলা লাস্ট নেম এবং ফার্স্ট নেম দুটি সেলে আলাদা করে দেয়। প্রয়োজন অনুযায়ী আরও কলাম ব্যবহার করা যায়।

পাওয়ার কোয়ারি বনাম গুগল শিটস REGEX: কখন কোনটি ব্যবহার করবেন
পাওয়ার কোয়ারি বেসিক থেকে অ্যাডভান্সড ডেটা ক্লিনিংয়ের জন্য সবচেয়ে উপযোগী। এটি ব্যাপক, স্ট্রাকচারড ডেটা রূপান্তরের জন্য আদর্শ যেখানে ব্যবহারকারী-বান্ধব ইন্টারফেস থাকে। জটিল ডেটাসেট, স্ট্রাকচারড জয়েন এবং ডেটা মার্জ করার সময় এটি খুব কার্যকর।
গুগল শিটস REGEX ফাংশন দ্রুত টেক্সট-ভিত্তিক অপারেশন এবং ইনডিভিজুয়াল সেল থেকে নির্দিষ্ট টেক্সট এক্সট্রাকশনের জন্য उत्तম। রেগুলার এক্সপ্রেশন সিনট্যাক্সের সাথে আপনি যদি সহজ হন, তবে REGEX ফাংশন বিশেষভাবে সাহায্যকর।
উপসংহার
পাওয়ার কোয়ারি এবং গুগল শিটসের REGEX ফাংশন ডেটা ক্লিনING-র জন্য পরিপূরক টুল হিসেবে কাজ করে। পাওয়ার কোয়ারি এক্সেল ব্যবহারকারীদের জন্য বড় ডেটাসেটে ব্যাচ ট্রান্সফরমেশনের জন্য আদর্শ, درাস অন্যদিকে গুগল শিটস REGEX ফাংশন ছোট ডেটাসেটে টেক্সট-ভিত্তিক অপারেশনের জন্য নমনীয়তা প্রদান করে। দুটোই কার্যকরভাবে ব্যবহার করে শক্তিশালী, স্ট্রিমলাইনড ডেটা ক্লিনিং করা সম্ভব! উভয় টুল বুঝলে এক্সেল হোক বা গুগল শিটস - অধিকাংশ ক্লিনিং কাজ সহজেই হাতাতে পারবেন!
Get FREE Advanced Excel Exercises with Solutions!