DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করার জন্য। PATHCONTAINS একটি বিশেষ DAX ফাংশন যা hierarchy ডেটা চেক করতে ব্যবহৃত হয়, বিশেষত parent-child hierarchy-তে ব্যবহৃত হয়।
PATHCONTAINS ফাংশনটি ব্যবহার করে আপনি নির্ধারণ করতে পারেন যে একটি নির্দিষ্ট মান (child) অন্য কোনো মান (parent) এর অংশ কিনা, যা একটি হায়ারার্কিতে সম্পর্কিত।
এই প্রবন্ধে আমরা PATHCONTAINS ফাংশনটি কীভাবে ব্যবহার করা হয় এবং এটি কীভাবে hierarchy check করতে সহায়ক হয় তা আলোচনা করব।
PATHCONTAINS ফাংশন কী?
PATHCONTAINS ফাংশনটি parent-child hierarchy তে ব্যবহৃত হয়। এটি একটি টেবিলের মধ্যে প্যারেন্ট এবং চাইল্ড সম্পর্কের ভিত্তিতে একটি নির্দিষ্ট প্যারেন্টের মধ্যে কোনো চাইল্ড অবস্থিত কিনা তা পরীক্ষা করে। সাধারণত PATHCONTAINS ফাংশনটি PATH ফাংশনের সাথে ব্যবহৃত হয়, যা একটি parent-child সম্পর্কের path তৈরি করে।
Syntax:
PATHCONTAINS(<path>, <value>)
- : এটি একটি column যা PATH ফাংশন দিয়ে তৈরি করা হয়েছে এবং parent-child সম্পর্কের সম্পূর্ণ পথ ধারণ করে।
- : এটি একটি মান, যেটি আপনি চেক করতে চান যে এটি path এর মধ্যে রয়েছে কিনা।
PATHCONTAINS ফাংশনের ব্যবহার
ধরা যাক, আপনার Employee টেবিল আছে, যেখানে প্রতিটি EmployeeID এবং ManagerID কলাম রয়েছে। EmployeeID হল কর্মচারীর শনাক্তকরণ কোড এবং ManagerID হল সেই কর্মচারীর ব্যবস্থাপকের শনাক্তকরণ কোড। আপনি যদি জানতে চান যে একটি নির্দিষ্ট কর্মচারী কোনো প্যারেন্ট (ম্যানেজার) এর অধীনে কাজ করছে কিনা, তাহলে আপনি PATHCONTAINS ফাংশনটি ব্যবহার করতে পারেন।
উদাহরণ ১: PATHCONTAINS দিয়ে চেক করা
ধরা যাক, আপনি একটি Employee টেবিলের মধ্যে প্রতিটি কর্মচারীর ম্যানেজারের অধীনে কাজ করছে কিনা তা চেক করতে চান। প্রথমে, আপনি PATH ফাংশন ব্যবহার করে একটি পাথ তৈরি করবেন:
Employee Path = PATH(Employee[EmployeeID], Employee[ManagerID])
এখানে, PATH ফাংশনটি কর্মচারী এবং তাদের ব্যবস্থাপক (প্যারেন্ট) এর মধ্যে সম্পর্কের পাথ তৈরি করবে।
তারপর, আপনি PATHCONTAINS ফাংশন ব্যবহার করে চেক করতে পারেন, যদি একটি কর্মচারী নির্দিষ্ট ম্যানেজারের অধীনে কাজ করে:
Is Under Manager = PATHCONTAINS(Employee[Employee Path], 5)
এখানে, 5 হল ম্যানেজারের EmployeeID এবং Is Under Manager কলামটি জানাবে যে এই কর্মচারী ম্যানেজারের অধীনে কাজ করছে কিনা (যদি TRUE হয়, তবে কর্মচারী ঐ ম্যানেজারের অধীনে কাজ করছে, অন্যথায় FALSE হবে)।
PATHCONTAINS ফাংশনের ব্যবহারিক প্রয়োগ
PATHCONTAINS ফাংশনটি একটি parent-child hierarchy-তে ব্যবহৃত হয়, যেখানে আপনি চাইলে সহজেই বুঝতে পারেন যে কোনো নির্দিষ্ট child একটি নির্দিষ্ট parent এর অংশ কিনা। এটি Sales, Employee Management, বা Product Categories এর মতো বিভিন্ন ধরনের ডেটাতে ব্যবহৃত হতে পারে যেখানে প্যারেন্ট-চাইল্ড সম্পর্ক রয়েছে।
উদাহরণ ২: বিভাগ ভিত্তিক হিসাব
ধরা যাক, একটি Product টেবিল রয়েছে, যেখানে প্রতিটি পণ্য একটি ক্যাটেগরির অন্তর্ভুক্ত। এবং আপনি যদি জানতে চান, একটি পণ্য একটি নির্দিষ্ট ক্যাটেগরির অন্তর্গত কিনা, তাহলে PATHCONTAINS ফাংশন ব্যবহার করা যাবে।
Product Path = PATH(Product[ProductID], Product[CategoryID])
এখানে, PATH ফাংশনটি পণ্যের মধ্যে parent-child relationship তৈরি করবে যেখানে ProductID পণ্যের আইডি এবং CategoryID পণ্যের ক্যাটেগরি আইডি।
তারপর, আপনি PATHCONTAINS ব্যবহার করতে পারেন:
Is Under Category = PATHCONTAINS(Product[Product Path], 3)
এখানে 3 হল একটি নির্দিষ্ট ক্যাটেগরি আইডি, এবং Is Under Category কলামটি জানাবে যে পণ্যটি এই ক্যাটেগরির অংশ কিনা।
PATHCONTAINS ফাংশন ব্যবহার করার সময় গুরুত্বপূর্ণ পয়েন্ট
- Parent-Child Hierarchy: PATHCONTAINS ফাংশনটি শুধুমাত্র parent-child hierarchy-তে কার্যকর। এটি সম্পর্কিত কলামের মধ্যে কোনো হায়ারার্কি তৈরি করতে সহায়ক হয়।
- Performance: যেহেতু PATHCONTAINS অনেক ডেটার উপর কাজ করতে পারে, তাই এটি large datasets-এ প্রয়োগ করার সময় পারফরম্যান্স সংক্রান্ত কিছু সমস্যা হতে পারে। সুতরাং, যদি ডেটার সংখ্যা অনেক বেশি হয়, তবে এটি ব্যবহারের আগে পারফরম্যান্স পরীক্ষা করা উচিত।
- Combination with Other Functions: আপনি PATHCONTAINS ফাংশনটি CALCULATE, FILTER, বা IF ফাংশনের সাথে ব্যবহার করতে পারেন, যা আপনাকে আরো কাস্টম বিশ্লেষণ এবং ফিল্টারিং করতে সহায়তা করবে।
সারাংশ
PATHCONTAINS হল DAX-এর একটি গুরুত্বপূর্ণ ফাংশন যা parent-child hierarchy চেক করার জন্য ব্যবহৃত হয়। এটি ব্যবহার করে আপনি সহজেই চিহ্নিত করতে পারেন যে একটি নির্দিষ্ট পণ্য, কর্মচারী, বা অন্য কোন বস্তু একটি নির্দিষ্ট প্যারেন্টের অধীনে আছে কিনা। এই ফাংশনটি Sales, Employee Management, এবং Product Categorization এর মতো ক্ষেত্রে ব্যবহৃত হতে পারে, যেখানে ডেটাতে প্যারেন্ট-চাইল্ড সম্পর্ক আছে।
Read more