আসসালামু আলাইকুম! কেমন আছেন সবাই? আশা করি ভালো আছেন। আজকাল ডেটা অ্যানালাইসিস বা তথ্য বিশ্লেষণ আমাদের দৈনন্দিন জীবনের এক অবিচ্ছেদ্য অংশ হয়ে উঠেছে। ব্যবসা থেকে শুরু করে ব্যক্তিগত জীবনেও আমরা প্রতিনিয়ত বিভিন্ন ডেটা নিয়ে কাজ করছি। আর এই ডেটাকে সহজে বোঝা এবং সেখান থেকে প্রয়োজনীয় সিদ্ধান্ত নেওয়ার জন্য Power BI এক অসাধারণ টুল। কিন্তু Power BI কে যদি আপনি পুরোপুরি কাজে লাগাতে চান, তাহলে আপনাকে DAX এর সাথে পরিচিত হতেই হবে। DAX কি, কেন এটা এত গুরুত্বপূর্ণ, আর কিভাবে এটা আপনার ডেটা অ্যানালাইসিসের অভিজ্ঞতাকে আরও সমৃদ্ধ করবে, আজ আমরা এই বিষয়গুলো নিয়েই বিস্তারিত আলোচনা করব। চলুন, তাহলে শুরু করা যাক!
DAX কী? Power BI-এর জন্য কেন এটি অপরিহার্য?
DAX (Data Analysis Expressions) হলো একটি ফাংশনাল ল্যাঙ্গুয়েজ, যা Microsoft Power BI, Power Pivot in Excel এবং SQL Server Analysis Services (SSAS) এর জন্য ডিজাইন করা হয়েছে। সহজভাবে বলতে গেলে, DAX হলো এক ধরনের ফর্মুলা বা সূত্র, যা আপনাকে আপনার ডেটা থেকে নতুন তথ্য তৈরি করতে, ডেটা ফিল্টার করতে এবং জটিল ক্যালকুলেশন করতে সাহায্য করে। অনেকটা Excel-এর ফর্মুলার মতোই, কিন্তু আরও অনেক বেশি শক্তিশালী এবং ডেটা মডেলিংয়ের জন্য বিশেষভাবে তৈরি।
ধরুন, আপনার কাছে বাংলাদেশের বিভিন্ন জেলার জনসংখ্যার ডেটা আছে। আপনি যদি জানতে চান, প্রতিটি জেলার পুরুষ ও নারীর গড় অনুপাত কত, অথবা গত ৫ বছরে কোন জেলায় জনসংখ্যা সবচেয়ে বেশি বেড়েছে, তাহলে DAX আপনাকে এই প্রশ্নগুলোর উত্তর সহজে বের করতে সাহায্য করবে। DAX ব্যবহার করে আপনি আপনার ডেটাকে আরও গভীর এবং অর্থপূর্ণ উপায়ে বিশ্লেষণ করতে পারবেন।
DAX কেন এত গুরুত্বপূর্ণ?
DAX এর গুরুত্ব অপরিসীম, বিশেষ করে যখন আপনি বড় ডেটাসেট নিয়ে কাজ করছেন। এর কিছু মূল কারণ নিচে দেওয়া হলো:
- নতুন মেট্রিক্স তৈরি: DAX আপনাকে বিদ্যমান ডেটা থেকে নতুন মেজার (Measures) এবং কলাম (Calculated Columns) তৈরি করতে দেয়। যেমন, আপনি মোট বিক্রি, গড় লাভ, বা বার্ষিক বৃদ্ধির হার ইত্যাদি বের করতে পারবেন।
- জটিল বিশ্লেষণ: এটি আপনাকে ডেটা ফিল্টার করতে, সময়ভিত্তিক বিশ্লেষণ করতে (যেমন, গত বছরের একই সময়ের সাথে তুলনা), এবং আরও জটিল ব্যবসায়িক লজিক প্রয়োগ করতে সাহায্য করে।
- ডাইনামিক রিপোর্ট: DAX এর মাধ্যমে তৈরি মেজারগুলো আপনার রিপোর্টের ইন্টার্যাক্টিভিটি বাড়ায়। যখন আপনি স্লাইসার বা ফিল্টার ব্যবহার করেন, তখন DAX ফর্মুলাগুলো স্বয়ংক্রিয়ভাবে আপডেট হয়ে সঠিক ফলাফল দেখায়।
- ডেটা মডেলের শক্তি: Power BI এর ডেটা মডেলের সাথে DAX এর গভীর সম্পর্ক রয়েছে। DAX ব্যবহার করে আপনি আপনার ডেটা মডেলকে আরও শক্তিশালী এবং কার্যকরী করে তুলতে পারেন।
DAX-এর মৌলিক উপাদানসমূহ
DAX শিখতে হলে এর কিছু মৌলিক উপাদান সম্পর্কে ধারণা থাকা জরুরি। এগুলো হলো:
১. ক্যালকুলেটেড কলাম (Calculated Columns)
ক্যালকুলেটেড কলাম হলো ডেটা মডেলের বিদ্যমান টেবিলের উপর ভিত্তি করে তৈরি করা নতুন কলাম। এটি প্রতিটি রো (row) এর জন্য একটি নির্দিষ্ট মান গণনা করে। উদাহরণস্বরূপ, আপনার কাছে পণ্যের মূল্য (Price) এবং পরিমাণ (Quantity) এর কলাম থাকলে, আপনি একটি নতুন 'মোট মূল্য' (Total Price) কলাম তৈরি করতে পারেন, যা Price * Quantity করে বের করা হবে।
Total Price = Sales[Price] * Sales[Quantity]
এখানে Sales
হলো টেবিলের নাম।
২. মেজার (Measures)
মেজার হলো ডাইনামিক ক্যালকুলেশন যা ডেটা মডেল লোড হওয়ার সময় গণনা করা হয় না, বরং যখন আপনি এটি কোন ভিজ্যুয়ালে (যেমন, চার্ট বা টেবিল) ব্যবহার করেন, তখনই এটি গণনা করা হয়। মেজারগুলো সাধারণত অ্যাগ্রিগেশন (যেমন SUM, AVERAGE, COUNT) এর জন্য ব্যবহৃত হয়। এটি DAX এর সবচেয়ে শক্তিশালী উপাদানগুলোর একটি, কারণ এটি আপনাকে ডাইনামিক এবং কনটেক্সট-সেনসিটিভ বিশ্লেষণ করতে সাহায্য করে।
উদাহরণস্বরূপ, আপনি যদি মোট বিক্রির পরিমাণ বের করতে চান:
Total Sales = SUM(Sales[Sales Amount])
এই মেজারটি আপনার ডেটা মডেলের ফিল্টার অনুযায়ী নিজেকে পরিবর্তন করবে। যেমন, আপনি যদি একটি নির্দিষ্ট জেলার বিক্রি দেখতে চান, তাহলে Total Sales
মেজারটি শুধু সেই জেলার ডেটা থেকেই মোট বিক্রি দেখাবে।
৩. টেবিল (Tables)
DAX ব্যবহার করে আপনি নতুন টেবিলও তৈরি করতে পারেন। এটি সাধারণত ডেটা মডেলিংয়ের ক্ষেত্রে কাজে লাগে, যখন আপনি বিদ্যমান ডেটা থেকে একটি নতুন টেবিল তৈরি করতে চান যা আপনার বিশ্লেষণের জন্য উপযোগী।
৪. ফাংশন (Functions)
DAX-এ শত শত বিল্ট-ইন ফাংশন রয়েছে, যা বিভিন্ন ধরনের গণনা এবং ডেটা ম্যানিপুলেশনের জন্য ব্যবহৃত হয়। এই ফাংশনগুলো বিভিন্ন ক্যাটাগরিতে বিভক্ত, যেমন:
- অ্যাগ্রিগেশন ফাংশন: SUM, AVERAGE, MIN, MAX, COUNT
- লজিক্যাল ফাংশন: IF, AND, OR
- টেক্সট ফাংশন: CONCATENATE, LEFT, RIGHT
- ডেট অ্যান্ড টাইম ফাংশন: TODAY, YEAR, MONTH
- ফিল্টার ফাংশন: CALCULATE, ALL, ALLEXCEPT, FILTER
CALCULATE
ফাংশনটি DAX এর সবচেয়ে শক্তিশালী ফাংশনগুলোর মধ্যে একটি। এটি আপনাকে একটি এক্সপ্রেশনের ক্যালকুলেশন কনটেক্সট (context) পরিবর্তন করতে সাহায্য করে। এটি দিয়ে আপনি যেকোনো মেজার বা এক্সপ্রেশনকে নির্দিষ্ট শর্তের উপর ভিত্তি করে গণনা করতে পারবেন।
DAX এর ব্যবহারিক উদাহরণ: বাংলাদেশের প্রেক্ষাপটে
চলুন, একটি বাস্তব উদাহরণ দেখি। ধরুন, আপনার একটি অনলাইন শপ আছে, যা বাংলাদেশের বিভিন্ন জেলায় পণ্য ডেলিভারি করে। আপনার কাছে প্রতিটি অর্ডারের ডেটা আছে, যেখানে পণ্যের নাম, পরিমাণ, দাম, ডেলিভারি জেলা এবং অর্ডার ডেট রয়েছে।
আপনি জানতে চান:
- প্রতিটি জেলার মোট বিক্রি কত?
- কোন মাসে বিক্রি সবচেয়ে বেশি ছিল?
- গত বছরের তুলনায় এই বছর বিক্রি কেমন?
এই প্রশ্নগুলোর উত্তর DAX দিয়ে সহজে বের করা সম্ভব।
১. প্রতিটি জেলার মোট বিক্রি:
প্রথমে একটি Total Sales
মেজার তৈরি করুন:
Total Sales = SUM(Orders[Price] * Orders[Quantity])
এরপর, Power BI তে একটি টেবিল ভিজ্যুয়াল নিন এবং 'জেলা' কলামের সাথে Total Sales
মেজারটি যোগ করুন। আপনি সহজেই প্রতিটি জেলার মোট বিক্রি দেখতে পাবেন।
২. কোন মাসে বিক্রি সবচেয়ে বেশি ছিল?
আপনি Orders[Order Date]
কলাম থেকে একটি 'মাস' কলাম তৈরি করতে পারেন এবং তারপর Total Sales
মেজারটি মাসের সাথে বিশ্লেষণ করতে পারেন।
Month Name = FORMAT(Orders[Order Date], "MMMM")
এই নতুন 'Month Name' কলাম ব্যবহার করে আপনি মান্থলি সেলস ট্রেন্ড দেখতে পারবেন।
৩. গত বছরের তুলনায় এই বছর বিক্রি কেমন?
এটি একটু জটিল DAX ফাংশন ব্যবহার করে বের করা যায়, যাকে বলা হয় Time Intelligence Function।
Sales Last Year = CALCULATE(
[Total Sales],
SAMEPERIODLASTYEAR('Calendar'[Date])
)
এখানে 'Calendar'[Date]
একটি ডেট টেবিল থেকে আসা কলাম, যা টাইম ইন্টেলিজেন্স ফাংশন ব্যবহারের জন্য অপরিহার্য। এই মেজারটি আপনাকে গত বছরের একই সময়ের বিক্রি দেখাবে। এরপর আপনি একটি নতুন মেজার তৈরি করে বৃদ্ধির হার বের করতে পারবেন:
Year Over Year Growth = DIVIDE(
[Total Sales] - [Sales Last Year],
[Sales Last Year]
)
এই উদাহরণগুলো থেকে বোঝা যাচ্ছে DAX কিভাবে আপনার ডেটা বিশ্লেষণকে আরও শক্তিশালী এবং কার্যকর করে তুলতে পারে।
DAX শেখার রিসোর্স
DAX শিখতে হলে একটু ধৈর্য এবং অনুশীলন প্রয়োজন। অনলাইনে অনেক চমৎকার রিসোর্স রয়েছে:
- Microsoft Learn: DAX এর উপর Microsoft এর নিজস্ব ডকুমেন্টেশন এবং টিউটোরিয়াল।
- SQLBI: Marco Russo এবং Alberto Ferrari এর SQLBI ওয়েবসাইট DAX এর জন্য অন্যতম সেরা রিসোর্স। তাদের বই এবং অনলাইন কোর্সগুলো খুব জনপ্রিয়।
- YouTube: অনেক ইউটিউব চ্যানেল (যেমন Guy in a Cube) DAX এর উপর ফ্রি টিউটোরিয়াল অফার করে।
- প্র্যাকটিস: Power BI Desktop ডাউনলোড করে ডেটাসেট নিয়ে নিজে নিজে DAX ফর্মুলা লেখার চেষ্টা করুন। প্র্যাকটিসই আপনাকে DAX এ দক্ষ করে তুলবে।
সচরাচর জিজ্ঞাস্য প্রশ্ন (FAQ)
প্রশ্ন ১: DAX কি প্রোগ্রামিং ল্যাঙ্গুয়েজ?
উত্তর: DAX একটি ফাংশনাল ল্যাঙ্গুয়েজ, সম্পূর্ণ প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়। এটি মূলত ফর্মুলা লেখার জন্য ব্যবহৃত হয়, যেখানে আপনি বিভিন্ন ফাংশন এবং অপারেটর ব্যবহার করে ডেটা থেকে নতুন মান তৈরি করেন।
প্রশ্ন ২: DAX শিখতে কি কোডিং জ্ঞান থাকা জরুরি?
উত্তর: সরাসরি কোডিং জ্ঞান প্রয়োজন নেই, তবে লজিক্যাল থিঙ্কিং এবং ফর্মুলা লেখার ধারণা থাকলে DAX শেখা অনেক সহজ হয়। Excel এ ফর্মুলা ব্যবহারের অভিজ্ঞতা থাকলে DAX শেখা আপনার জন্য বেশ সুবিধাজনক হবে।
প্রশ্ন ৩: Excel-এর ফর্মুলার সাথে DAX-এর পার্থক্য কী?
উত্তর: Excel এর ফর্মুলা সাধারণত সেলের উপর কাজ করে, যেখানে প্রতিটি সেলের নিজস্ব রেফারেন্স থাকে। DAX টেবুলার ডেটার উপর কাজ করে এবং এটি ডেটা মডেলের কনটেক্সট (filter context, row context) এর উপর নির্ভরশীল। DAX অনেক বেশি শক্তিশালী এবং বড় ডেটাসেট হ্যান্ডেল করার জন্য অপ্টিমাইজ করা।
প্রশ্ন ৪: Power BI তে DAX কোথায় লিখতে হয়?
উত্তর: Power BI Desktop এ আপনি 'New Measure', 'New Column' বা 'New Table' অপশন ব্যবহার করে DAX ফর্মুলা লিখতে পারবেন। ফর্মুলা বারেই আপনি আপনার DAX এক্সপ্রেশনটি টাইপ করবেন।
প্রশ্ন ৫: DAX শিখতে কত সময় লাগে?
উত্তর: DAX এর মৌলিক বিষয়গুলো শিখতে কয়েক সপ্তাহ লাগতে পারে। তবে DAX এর সকল ফাংশন এবং অ্যাডভান্সড কনসেপ্টগুলো আয়ত্ত করতে বেশ কিছু সময় এবং অনুশীলন প্রয়োজন। এটি একটি চলমান শেখার প্রক্রিয়া।
প্রশ্ন ৬: DAX কি শুধুমাত্র Power BI এর জন্য ব্যবহৃত হয়?
উত্তর: না, DAX শুধুমাত্র Power BI এর জন্য নয়। এটি Microsoft এর অন্যান্য BI টুলস যেমন Power Pivot in Excel এবং SQL Server Analysis Services (SSAS) এর জন্যও ব্যবহৃত হয়।
মূল বিষয়গুলো (Key Takeaways)
- DAX (Data Analysis Expressions) হলো Power BI-এর জন্য একটি শক্তিশালী ফর্মুলা ল্যাঙ্গুয়েজ, যা ডেটা বিশ্লেষণ এবং নতুন মেট্রিক্স তৈরির জন্য ব্যবহৃত হয়।
- এটি আপনাকে ক্যালকুলেটেড কলাম (Calculated Columns) এবং মেজার (Measures) তৈরি করতে সাহায্য করে, যা আপনার ডেটা মডেলকে আরও অর্থপূর্ণ করে তোলে।
- মেজার (Measures) হলো ডাইনামিক ক্যালকুলেশন, যা রিপোর্টের ফিল্টার অনুযায়ী নিজেকে পরিবর্তন করে এবং এটি DAX এর সবচেয়ে গুরুত্বপূর্ণ অংশ।
- DAX এ শত শত ফাংশন (Functions) রয়েছে, যা বিভিন্ন ধরনের ডেটা ম্যানিপুলেশন এবং অ্যাগ্রিগেশনের জন্য ব্যবহৃত হয়। CALCULATE ফাংশনটি DAX এর অন্যতম শক্তিশালী ফাংশন।
- DAX শেখা আপনার Power BI দক্ষতা বাড়াতে এবং ডেটা থেকে আরও গভীর অন্তর্দৃষ্টি পেতে অপরিহার্য। ধৈর্য ধরে অনুশীলন করলে আপনি DAX এ দক্ষ হয়ে উঠতে পারবেন।
আশা করি, DAX সম্পর্কে আপনার একটি স্পষ্ট ধারণা হয়েছে। এটি প্রথমদিকে কিছুটা কঠিন মনে হতে পারে, কিন্তু নিয়মিত অনুশীলন এবং সঠিক রিসোর্স ব্যবহার করলে আপনি সহজেই এটি আয়ত্ত করতে পারবেন। Power BI এর সাথে DAX এর সঠিক ব্যবহার আপনার ডেটা অ্যানালাইসিসের ক্ষমতাকে নতুন উচ্চতায় নিয়ে যাবে। আপনার যদি DAX বা Power BI নিয়ে আর কোনো প্রশ্ন থাকে, তাহলে কমেন্ট করে জানাতে ভুলবেন না। আপনার ডেটা অ্যানালাইসিসের পথচলায় শুভকামনা!