DAX (Data Analysis Expressions) হল একটি ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করার জন্য। Text functions DAX-এর একটি গুরুত্বপূর্ণ অংশ, যা ডেটার স্ট্রিং বা টেক্সট ভ্যালু নিয়ে কাজ করার জন্য ব্যবহৃত হয়। এই ফাংশনগুলির মাধ্যমে আপনি টেক্সটের অংশ কেটে নেওয়া, একত্রিত করা, পরিবর্তন করা এবং ফরম্যাটিং করতে পারেন।
ড্যাক্সের Text Functions বিভিন্ন কাজের জন্য ব্যবহৃত হয়, যেমন টেক্সট স্ট্রিং যোগ করা, খালি স্থান মুছে ফেলা, টেক্সটকে বড় বা ছোট অক্ষরে রূপান্তর করা ইত্যাদি।
CONCATENATE ফাংশনটি দুটি টেক্সট স্ট্রিং একত্রিত (concatenate) করতে ব্যবহৃত হয়।
CONCATENATE(<text1>, <text2>)
Full Name = CONCATENATE(Customer[FirstName], Customer[LastName])
এটি FirstName এবং LastName কলামের মান একত্রিত করবে এবং Full Name তৈরি করবে।
& অপারেটরটি টেক্সট স্ট্রিং যোগ করার জন্য ব্যবহৃত হয়। এটি CONCATENATE ফাংশনের বিকল্প।
<text1> & <text2>
Full Name = Customer[FirstName] & " " & Customer[LastName]
এটি FirstName এবং LastName কলামের মান একত্রিত করবে এবং একটি স্পেস দিয়ে পার্থক্য করবে।
UPPER ফাংশনটি একটি টেক্সট স্ট্রিংকে বড় হাতের অক্ষরে রূপান্তর করে।
UPPER(<text>)
Uppercase Name = UPPER(Customer[FirstName])
এটি FirstName কলামের মানকে বড় হাতের অক্ষরে রূপান্তর করবে।
LOWER ফাংশনটি একটি টেক্সট স্ট্রিংকে ছোট হাতের অক্ষরে রূপান্তর করে।
LOWER(<text>)
Lowercase Name = LOWER(Customer[FirstName])
এটি FirstName কলামের মানকে ছোট হাতের অক্ষরে রূপান্তর করবে।
TRIM ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে অতিরিক্ত স্পেস মুছে ফেলতে ব্যবহৃত হয়।
TRIM(<text>)
Trimmed Name = TRIM(Customer[FullName])
এটি FullName কলামের অতিরিক্ত স্পেস মুছে ফেলবে।
LEFT ফাংশনটি একটি টেক্সট স্ট্রিংয়ের বাম দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।
LEFT(<text>, <num_characters>)
First 3 Characters = LEFT(Customer[FirstName], 3)
এটি FirstName কলামের প্রথম তিনটি অক্ষর বের করে।
RIGHT ফাংশনটি একটি টেক্সট স্ট্রিংয়ের ডান দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।
RIGHT(<text>, <num_characters>)
Last 3 Characters = RIGHT(Customer[LastName], 3)
এটি LastName কলামের শেষ তিনটি অক্ষর বের করে।
LEN ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মোট অক্ষরের সংখ্যা নির্ধারণ করে।
LEN(<text>)
Name Length = LEN(Customer[FullName])
এটি FullName কলামের অক্ষরের সংখ্যা বের করবে।
FIND ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে অন্য একটি স্ট্রিং খোঁজে এবং এর প্রথম উপস্থিতির অবস্থান প্রদান করে।
FIND(<find_text>, <within_text>, <start_position>, <not_found_value>)
Position of 'a' = FIND("a", Customer[FirstName], 1, 0)
এটি FirstName কলামে প্রথম 'a' অক্ষরের অবস্থান জানাবে।
REPLACE ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে নির্দিষ্ট অংশ প্রতিস্থাপন করে।
REPLACE(<old_text>, <start_position>, <num_characters>, <new_text>)
Replaced Name = REPLACE(Customer[FullName], 1, 4, "John")
এটি FullName কলামের প্রথম চারটি অক্ষর "John" দিয়ে প্রতিস্থাপন করবে।
SUBSTITUTE ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে একটি নির্দিষ্ট অংশ অন্য একটি স্ট্রিং দিয়ে প্রতিস্থাপন করে।
SUBSTITUTE(<text>, <old_text>, <new_text>, [<instance_num>])
Replaced Name = SUBSTITUTE(Customer[FullName], "Smith", "Johnson")
এটি FullName কলামের "Smith" শব্দটিকে "Johnson" দিয়ে প্রতিস্থাপন করবে।
TEXT ফাংশনটি একটি সংখ্যা বা তারিখকে নির্দিষ্ট ফরম্যাটে টেক্সট হিসেবে রূপান্তর করে।
TEXT(<value>, <format>)
Formatted Date = TEXT(Customer[JoinDate], "DD/MM/YYYY")
এটি JoinDate কলামের তারিখটিকে "DD/MM/YYYY" ফরম্যাটে রূপান্তর করবে।
DAX Text Functions ডেটা বিশ্লেষণের জন্য গুরুত্বপূর্ণ টুল হিসেবে কাজ করে। এই ফাংশনগুলির মাধ্যমে আপনি text manipulation যেমন স্ট্রিং যোগ, প্রতিস্থাপন, কাটাছেঁড়া, এবং ফরম্যাটিং করতে পারেন। কগনোস বা Power BI-তে DAX Text Functions ব্যবহার করে আপনি আপনার ডেটার উপর বিস্তারিত বিশ্লেষণ করতে পারবেন এবং কাস্টম রিপোর্ট তৈরি করতে সক্ষম হবেন। DAX-এর এই টেক্সট ফাংশনগুলির মাধ্যমে সহজেই ডেটাকে আকারে রূপান্তর করা সম্ভব, যা কার্যকরী ডেটা বিশ্লেষণ এবং ব্যবসায়িক সিদ্ধান্ত গ্রহণে সহায়ক।
DAX (Data Analysis Expressions) হল একটি এক্সপ্রেশন ভাষা যা বিশেষভাবে Power BI, Power Pivot এবং SQL Server Analysis Services (SSAS)-এ ডেটা বিশ্লেষণ এবং ক্যালকুলেশন করার জন্য ব্যবহৃত হয়। ড্যাক্সে CONCATENATE এবং CONCATENATEX দুটি গুরুত্বপূর্ণ ফাংশন যা strings যোগ করার জন্য ব্যবহৃত হয়। এই ফাংশনগুলি বিভিন্ন ধরনের টেক্সট ডেটা একত্রিত করতে সাহায্য করে, যেমন নাম, ঠিকানা, বা অন্যান্য টেক্সট ভ্যালু যা পৃথক কলামে থাকে।
এই প্রবন্ধে, আমরা CONCATENATE এবং CONCATENATEX ফাংশন সম্পর্কে বিস্তারিত আলোচনা করব এবং কীভাবে এগুলি strings যোগ করতে ব্যবহৃত হয় তা দেখব।
CONCATENATE ফাংশনটি একটি সাধারণ ড্যাক্স ফাংশন যা দুটি টেক্সট স্ট্রিং একত্রিত করে একটি নতুন স্ট্রিং তৈরি করে। এটি খুব সহজ এবং সরলভাবে দুটি ভ্যালু বা কলামের মানকে যোগ করতে ব্যবহৃত হয়।
CONCATENATE(<Text1>, <Text2>)
ধরা যাক, একটি Employee টেবিল রয়েছে যেখানে দুটি কলাম আছে: First Name এবং Last Name। যদি আপনি এই দুটি কলামকে একত্রিত করতে চান:
Full Name = CONCATENATE(Employee[First Name], Employee[Last Name])
এখানে, Full Name একটি নতুন কলাম হবে, যা First Name এবং Last Name একত্রিত করে একটি নতুন টেক্সট স্ট্রিং তৈরি করবে, যেমন "JohnDoe"।
CONCATENATEX ফাংশনটি আরও শক্তিশালী এবং নমনীয়, কারণ এটি একাধিক রেকর্ড বা ভ্যালু একত্রিত করার জন্য ব্যবহার করা হয়, এবং আপনি এতে একটি delimiter (অর্থাৎ একটি পৃথককারী চিহ্ন) ব্যবহার করতে পারেন। এটি মূলত টেবিল বা কলামের ভ্যালুগুলিকে একত্রিত করতে ব্যবহৃত হয় এবং এটি filter context ব্যবহার করে ডেটার উপর অপারেশন করে।
CONCATENATEX(<Table>, <Expression>, <Delimiter>, <OrderBy_Expression>, <Order>)
ধরা যাক, Employee টেবিলে অনেক First Name এবং Last Name রয়েছে, এবং আপনি First Name এবং Last Name একত্রিত করতে চান, কিন্তু প্রতিটি নামের মধ্যে একটি কমা (,
) এবং স্পেস দিয়ে আলাদা করতে চান। আপনি CONCATENATEX ফাংশন ব্যবহার করতে পারেন:
Full Name = CONCATENATEX(Employee, Employee[First Name] & " " & Employee[Last Name], ", ")
এখানে, Full Name কলামে প্রথম নাম এবং শেষ নাম comma এবং স্পেস দিয়ে যোগ হবে, যেমন:
John Doe, Jane Smith, Alan Turing
CONCATENATEX ফাংশন একাধিক ভ্যালুকে যোগ করতে সক্ষম, যেটি CONCATENATE ফাংশনের সীমাবদ্ধতাকে অতিক্রম করে।
এটি ব্যবহারকারীকে কাস্টম delimiter ব্যবহার করার সুযোগ দেয়, যেমন কমা, ড্যাশ, স্পেস, বা অন্যান্য চিহ্ন ব্যবহার করা।
CONCATENATEX ফাংশনটি টেক্সটগুলিকে নির্দিষ্ট অর্ডারে সাজানোর জন্য OrderBy_Expression এবং Order প্যারামিটার ব্যবহার করতে পারে, যা ascending বা descending হতে পারে।
Criteria | CONCATENATE | CONCATENATEX |
---|---|---|
Usage | দুটি টেক্সট স্ট্রিং একত্রিত করতে ব্যবহৃত হয়। | একাধিক ভ্যালু বা রেকর্ড একত্রিত করতে ব্যবহৃত হয়। |
Delimiter | কোনো delimiter ব্যবহার করা যায় না। | কাস্টম delimiter ব্যবহার করা যায়। |
Multiple Values | শুধুমাত্র দুটি মান যোগ করা যায়। | একাধিক মান যোগ করা যায়। |
Order | সজ্জিত করার কোনো অপশন নেই। | ভ্যালুগুলিকে সাজানোর জন্য OrderBy এবং Order প্যারামিটার ব্যবহার করা যায়। |
Context | একটি সাধারণ দুটি মানের যোগফল সরবরাহ করে। | ফিল্টার কনটেক্সট এবং টেবিলের মধ্যে সম্পর্ক ব্যবহার করে আরও শক্তিশালী ফলাফল প্রদান করে। |
CONCATENATE এবং CONCATENATEX দুটি গুরুত্বপূর্ণ DAX ফাংশন যা strings যোগ করার জন্য ব্যবহৃত হয়। CONCATENATE একটি সহজ ফাংশন যা দুটি টেক্সট স্ট্রিং একত্রিত করতে সাহায্য করে, তবে CONCATENATEX আরও উন্নত ফাংশন যা একাধিক টেক্সট ভ্যালু একত্রিত করতে, কাস্টম delimiter ব্যবহার করতে, এবং ভ্যালু সাজাতে সহায়ক। CONCATENATEX অনেক বেশি নমনীয় এবং পাওয়ারফুল, যা জটিল ডেটা ম্যানিপুলেশন এবং বিশ্লেষণ করতে ব্যবহৃত হয়। DAX ফাংশনগুলির মাধ্যমে আপনি ডেটা বিশ্লেষণ এবং কাস্টম রিপোর্ট তৈরি আরও সহজ এবং কার্যকরী করতে পারেন।
DAX (Data Analysis Expressions) হল একটি শক্তিশালী এক্সপ্রেশন ল্যাঙ্গুয়েজ যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। DAX এর মধ্যে টেক্সট ফাংশনগুলির ব্যবহার গুরুত্বপূর্ণ, কারণ এগুলি ডেটা মডেলিং এবং বিশ্লেষণের জন্য শক্তিশালী কাস্টম ক্যালকুলেশন তৈরিতে সহায়ক। LEFT, RIGHT, এবং MID ফাংশনগুলি ব্যবহৃত হয় টেক্সট স্ট্রিং থেকে নির্দিষ্ট অংশ বের করার জন্য। এই ফাংশনগুলির মাধ্যমে আপনি টেক্সট ডেটা বিশ্লেষণ করতে পারেন এবং কাস্টম রিপোর্ট তৈরি করতে সক্ষম হন।
এই প্রবন্ধে, আমরা LEFT, RIGHT, এবং MID ফাংশন ব্যবহার করে কিভাবে টেক্সট এক্সট্রাক্ট করা যায়, তা আলোচনা করব।
LEFT ফাংশনটি একটি টেক্সট স্ট্রিংয়ের বাম দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।
LEFT(<Text>, <Number_of_Characters>)
ধরা যাক, আপনার একটি ProductID কলাম রয়েছে যেখানে পণ্যের আইডি রয়েছে এবং আপনি প্রতিটি পণ্যের প্রথম 3 অক্ষর বের করতে চান, তাহলে এই ফাংশন ব্যবহার করবেন:
ProductPrefix = LEFT(Products[ProductID], 3)
এই ফর্মুলা Products[ProductID] কলামের প্রথম 3 অক্ষর বের করবে।
RIGHT ফাংশনটি একটি টেক্সট স্ট্রিংয়ের ডান দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।
RIGHT(<Text>, <Number_of_Characters>)
ধরা যাক, আপনার একটি InvoiceNumber কলাম রয়েছে এবং আপনি প্রতিটি ইনভয়েস নম্বরের শেষ 4 অক্ষর বের করতে চান, তাহলে এই ফাংশন ব্যবহার করবেন:
Last4Digits = RIGHT(Sales[InvoiceNumber], 4)
এই ফর্মুলা Sales[InvoiceNumber] কলামের শেষ 4 অক্ষর বের করবে।
MID ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে থেকে নির্দিষ্ট অবস্থান থেকে শুরু করে একটি নির্দিষ্ট সংখ্যক অক্ষর বের করে।
MID(<Text>, <Start_Position>, <Number_of_Characters>)
ধরা যাক, আপনার একটি ProductCode কলাম রয়েছে, এবং আপনি 2য় থেকে 4র্থ অক্ষর পর্যন্ত বের করতে চান, তাহলে এই ফাংশন ব্যবহার করবেন:
MiddleChars = MID(Products[ProductCode], 2, 3)
এই ফর্মুলা Products[ProductCode] কলামের 2য় অক্ষর থেকে শুরু করে 3টি অক্ষর বের করবে।
এই তিনটি ফাংশন text extraction বা টেক্সট ডেটার অংশ বের করার জন্য অত্যন্ত কার্যকরী। DAX এ এই ফাংশনগুলি সাধারণত ব্যবহৃত হয়:
এই ফাংশনগুলি টেক্সট বিশ্লেষণের জন্য অত্যন্ত গুরুত্বপূর্ণ এবং এগুলি খুব সহজেই ব্যবহার করা যায়। উদাহরণস্বরূপ, আপনি যদি কোনও EmployeeCode বা ProductID এর মধ্যে থেকে কিছু নির্দিষ্ট অংশ বের করতে চান, তখন আপনি এই ফাংশনগুলি ব্যবহার করতে পারেন।
DAX-এর এই ফাংশনগুলি আপনার ডেটা বিশ্লেষণকে আরও শক্তিশালী এবং কার্যকরী করে তোলে, বিশেষ করে যখন আপনাকে বড় টেক্সট স্ট্রিংয়ের মধ্যে থেকে নির্দিষ্ট অংশ বের করতে হয়।
DAX (Data Analysis Expressions) হলো একটি শক্তিশালী ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং রিপোর্ট তৈরির জন্য। DAX ফাংশনগুলির মধ্যে কিছু গুরুত্বপূর্ণ ফাংশন রয়েছে যা text manipulation-এ ব্যবহৃত হয়। এই ফাংশনগুলির মধ্যে UPPER, LOWER, এবং TRIM খুবই জনপ্রিয়, কারণ এগুলি টেক্সট ডেটা নিয়ে কাজ করার সময় খুবই কার্যকরী।
এই ফাংশনগুলি ব্যবহার করে আপনি টেক্সটের কেস পরিবর্তন করতে পারেন, অতিরিক্ত স্পেস অপসারণ করতে পারেন এবং ডেটা বিশ্লেষণ এবং রিপোর্ট তৈরি করার সময় টেক্সট ফিল্ডকে আরও সুসংগঠিত করতে পারেন।
UPPER ফাংশনটি একটি টেক্সট স্ট্রিংয়ের সমস্ত অক্ষরকে বড় হাতের অক্ষরে (uppercase) রূপান্তরিত করে। এটি একটি খুবই সহজ এবং জনপ্রিয় ফাংশন, যা টেক্সট ডেটার কেস নিয়ন্ত্রণ করতে ব্যবহৃত হয়।
UPPER(<Text>)
ধরা যাক, আপনার একটি টেবিল Customers আছে, যেখানে CustomerName কলামে গ্রাহকদের নাম রয়েছে। আপনি যদি সমস্ত নাম বড় হাতের অক্ষরে পরিবর্তন করতে চান, তাহলে আপনি এই ফাংশন ব্যবহার করবেন:
CustomerNameUpper = UPPER(Customers[CustomerName])
এই ফাংশনটি Customers[CustomerName] কলামের সমস্ত নামকে বড় হাতের অক্ষরে রূপান্তরিত করবে, যেমন "john doe" কে "JOHN DOE" তে পরিবর্তন করবে।
LOWER ফাংশনটি একটি টেক্সট স্ট্রিংয়ের সমস্ত অক্ষরকে ছোট হাতের অক্ষরে (lowercase) রূপান্তরিত করে। এটি সেই ক্ষেত্রগুলির জন্য কার্যকর যেখানে আপনি টেক্সটের কেস কমাতে চান।
LOWER(<Text>)
যদি আপনি Customers টেবিলের CustomerName কলামের সমস্ত নাম ছোট হাতের অক্ষরে পরিবর্তন করতে চান, তাহলে আপনি এই ফাংশন ব্যবহার করবেন:
CustomerNameLower = LOWER(Customers[CustomerName])
এই ফাংশনটি Customers[CustomerName] কলামের সমস্ত নামকে ছোট হাতের অক্ষরে রূপান্তরিত করবে, যেমন "JOHN DOE" কে "john doe" তে পরিবর্তন করবে।
TRIM ফাংশনটি একটি টেক্সট স্ট্রিংয়ের শুরু এবং শেষে থাকা অতিরিক্ত (extra) স্পেসগুলো অপসারণ করে। এটি টেক্সট ডেটাকে আরও পরিষ্কার এবং সঠিকভাবে বিশ্লেষণ করার জন্য ব্যবহৃত হয়। TRIM শুধুমাত্র শুরুর এবং শেষের অতিরিক্ত স্পেস অপসারণ করে, মধ্যবর্তী স্পেসগুলো ধরে রাখে।
TRIM(<Text>)
ধরা যাক, Customers টেবিলের CustomerName কলামে কিছু গ্রাহকের নামের শুরু বা শেষে অতিরিক্ত স্পেস রয়েছে। আপনি যদি এই অতিরিক্ত স্পেসগুলো অপসারণ করতে চান, তাহলে আপনি TRIM ফাংশন ব্যবহার করবেন:
TrimmedCustomerName = TRIM(Customers[CustomerName])
এই ফাংশনটি Customers[CustomerName] কলামের নাম থেকে শুরু এবং শেষে থাকা সমস্ত অতিরিক্ত স্পেস অপসারণ করবে, যেমন " john doe " কে "john doe" তে পরিবর্তন করবে।
TRIM ফাংশন ব্যবহার করে আপনি ডেটার শুরু এবং শেষে অতিরিক্ত স্পেস সরিয়ে ফেলতে পারেন, যা বিশ্লেষণ এবং রিপোর্ট তৈরি করার সময় গুরুত্বপূর্ণ।
UPPER এবং LOWER ফাংশন ব্যবহার করে আপনি টেক্সট ডেটাকে একরকম স্ট্যান্ডার্ডাইজড কেসে নিয়ে আসতে পারেন, যাতে ডেটার সাথে কাজ করা সহজ হয় এবং কেস সংক্রান্ত ভুল কমে।
যখন আপনি কগনোস বা Power BI-তে বিশ্লেষণ করছেন এবং বিভিন্ন টেক্সট মানের সাথে কাজ করছেন, তখন UPPER, LOWER, এবং TRIM ফাংশনগুলি ডেটা বিশ্লেষণকে আরও সুগম এবং কার্যকরী করে তোলে।
এছাড়াও, DAX এর অনেক অন্যান্য ফাংশন রয়েছে যা টেক্সট ম্যানিপুলেশনকে আরও কার্যকরী করে তোলে:
এই ফাংশনটি দুটি বা আরও বেশি টেক্সট স্ট্রিংকে একত্রিত করে। উদাহরণ:
FullName = CONCATENATE(Customers[FirstName], " " & Customers[LastName])
এই ফাংশনটি একটি নির্দিষ্ট অংশের টেক্সট অন্য টেক্সট দিয়ে প্রতিস্থাপন করে। উদাহরণ:
NewText = REPLACE(Customers[CustomerID], 1, 2, "XX")
এই ফাংশনটি সংখ্যাকে টেক্সটে রূপান্তর করে এবং নির্দিষ্ট ফরম্যাটে প্রদর্শন করে। উদাহরণ:
FormattedDate = TEXT(Order[OrderDate], "YYYY-MM-DD")
UPPER, LOWER, এবং TRIM হল ড্যাক্সের মৌলিক এবং অত্যন্ত গুরুত্বপূর্ণ ফাংশন যা টেক্সট ডেটা ম্যানিপুলেশন এবং বিশ্লেষণের জন্য ব্যবহৃত হয়। এগুলির মাধ্যমে আপনি টেক্সটের কেস পরিবর্তন করতে পারেন, অতিরিক্ত স্পেস অপসারণ করতে পারেন এবং ডেটাকে আরও পরিষ্কার ও সঠিকভাবে বিশ্লেষণ করতে সক্ষম হন। এই ফাংশনগুলির সঠিক ব্যবহার ডেটাকে আরও কার্যকরী এবং তথ্যভিত্তিক রিপোর্ট তৈরি করতে সহায়ক হয়।
DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। এটি ডেটা মডেলিং এবং বিশ্লেষণ কাজগুলোকে সহজ এবং শক্তিশালী করে তোলে। ড্যাক্সে SEARCH এবং FIND ফাংশন দুটি টেক্সট খোঁজার জন্য ব্যবহৃত হয়। এগুলি টেক্সট স্ট্রিংয়ের মধ্যে নির্দিষ্ট শব্দ বা অক্ষর খুঁজে বের করার জন্য ব্যবহৃত হয়, তবে তাদের মধ্যে কিছু পার্থক্যও রয়েছে।
এই ফাংশনগুলি ব্যবহার করে আপনি সহজেই ডেটার মধ্যে কোনও নির্দিষ্ট টেক্সট, শব্দ, বা অক্ষরের অবস্থান খুঁজে বের করতে পারেন, যা রিপোর্ট এবং ড্যাশবোর্ডের জন্য অত্যন্ত উপকারী হতে পারে।
SEARCH ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে একটি নির্দিষ্ট শব্দ বা অক্ষরের অবস্থান খুঁজে বের করার জন্য ব্যবহৃত হয়। এটি ক্যাপিটাল/লিটল কেস (case-insensitive) এবং একটি অংশের মেলা (partial match) সমর্থন করে। অর্থাৎ, এটি বড় অক্ষর এবং ছোট অক্ষরের পার্থক্য বুঝে না এবং এটি টেক্সটের প্রথম অংশে মিল খুঁজে পায়।
SEARCH(<find_text>, <within_text>, [start_position], [not_found_value])
SEARCH("apple", "I have an apple", 1, 0)
এই ফাংশনটি "I have an apple" টেক্সটের মধ্যে "apple" শব্দটি খুঁজবে এবং এর অবস্থান রিটার্ন করবে (এখানে এটি 12)। যদি "apple" শব্দটি না পায়, তবে এটি 0 রিটার্ন করবে, কারণ আমরা not_found_value হিসেবে 0 নির্ধারণ করেছি।
FIND ফাংশনটি ঠিক একইভাবে কাজ করে, তবে এটি case-sensitive (বড় এবং ছোট অক্ষর পার্থক্য সহ) এবং exact match সমর্থন করে। অর্থাৎ, এটি ক্যাপিটাল এবং ছোট অক্ষরের পার্থক্যকে স্বীকৃতি দেয় এবং এটি যে টেক্সটটি আপনি খুঁজছেন তার সঠিক অবস্থান খুঁজে বের করে।
FIND(<find_text>, <within_text>, [start_position], [not_found_value])
FIND("apple", "I have an Apple", 1, 0)
এটি "I have an Apple" টেক্সটের মধ্যে Apple (বড় অক্ষরে "A") শব্দটি খুঁজে পাবে না, কারণ FIND ফাংশনটি case-sensitive। ফলস্বরূপ এটি 0 রিটার্ন করবে, কারণ এখানে "apple" (ছোট অক্ষরে) এবং "Apple" (বড় অক্ষরে) মিলছে না।
ফিচার | SEARCH | FIND |
---|---|---|
Case Sensitivity | Case-insensitive | Case-sensitive |
Partial Matching | Supports partial matching | Supports exact matching |
Use Case | যখন আপনাকে বড় এবং ছোট অক্ষরের পার্থক্য না দেখলে খুঁজতে হয় | যখন আপনাকে exact match এবং case-sensitive matching দরকার |
Error Handling | not_found_value নির্ধারণ করা যাবে | not_found_value নির্ধারণ করা যাবে |
ধরা যাক, আমাদের "Product Names" কলামে কিছু পণ্যের নাম রয়েছে, এবং আমরা খুঁজতে চাই যদি সেই পণ্যের নামের মধ্যে "apple" থাকে।
SEARCH("apple", Products[ProductName], 1, 0)
এই ফাংশনটি "Products" টেবিলের ProductName কলামে "apple" শব্দটি খুঁজে বের করবে, এবং এটি ক্যাপিটাল বা ছোট অক্ষরের পার্থক্য না বুঝে প্রথম মিল খুঁজে ফেলবে। যদি পণ্য নামের মধ্যে "apple" থাকে, তবে এটি পজিশন রিটার্ন করবে, অন্যথায় 0 রিটার্ন করবে।
ধরা যাক, আমাদের "Product Names" কলামে কিছু পণ্যের নাম রয়েছে এবং আমরা শুধুমাত্র "Apple" (বড় অক্ষরে) পণ্যটি খুঁজতে চাই।
FIND("Apple", Products[ProductName], 1, 0)
এই ফাংশনটি "Products" টেবিলের ProductName কলামে "Apple" শব্দটি খুঁজে বের করবে এবং এটি শুধুমাত্র exact match এবং case-sensitive অনুসারে কাজ করবে। যদি "Apple" নামের পণ্য থাকে, তবে এটি পজিশন রিটার্ন করবে, অন্যথায় 0 রিটার্ন করবে।
Error Handling: যদি আপনি নিশ্চিত না হন যে টেক্সটটি খুঁজে পাওয়া যাবে কি না, তবে আপনি IFERROR অথবা ISNUMBER ফাংশন ব্যবহার করে ভুলের ক্ষেত্রে ডিফল্ট মান প্রদান করতে পারেন।
উদাহরণ:
IFERROR(SEARCH("apple", Products[ProductName], 1, 0), "Not Found")
SEARCH এবং FIND ফাংশনগুলি DAX ভাষায় টেক্সট খোঁজার জন্য অত্যন্ত গুরুত্বপূর্ণ এবং কার্যকরী টুল। SEARCH ফাংশনটি case-insensitive এবং partial matching সমর্থন করে, যেখানে FIND ফাংশনটি case-sensitive এবং exact match এর জন্য ব্যবহৃত হয়। এই ফাংশনগুলি ব্যবহার করে আপনি ডেটার মধ্যে নির্দিষ্ট টেক্সট, শব্দ, অথবা অক্ষরের অবস্থান সহজেই খুঁজে বের করতে পারেন, যা রিপোর্ট এবং বিশ্লেষণ প্রক্রিয়া আরও কার্যকরী করে তোলে।
Read more