Data Aggregation এবং Summarization Techniques

Database Tutorials - টি-এসকিউএল (T-SQL) - T-SQL এবং Data Warehousing
376

Data Aggregation এবং Summarization হল ডেটাবেসের মাধ্যমে বিশাল পরিমাণ ডেটা সহজভাবে উপস্থাপন করার কৌশল। T-SQL এ ডেটার উপর বিভিন্ন ধরণের aggregated calculations (যেমন: মোট, গড়, সর্বাধিক, ন্যূনতম ইত্যাদি) করার জন্য Aggregation Functions ব্যবহার করা হয়। এটি ডেটার বিশ্লেষণ এবং রিপোর্টিং এর জন্য গুরুত্বপূর্ণ।

এখানে কিছু Data Aggregation এবং Summarization এর সাধারণ কৌশল এবং T-SQL এ তাদের প্রয়োগের উদাহরণ দেওয়া হলো।


1. Aggregation Functions:

T-SQL এ Aggregation Functions ব্যবহার করে আপনি গ্রুপড ডেটার উপর বিভিন্ন গণনা করতে পারেন। এই ফাংশনগুলো ডেটার একটি গ্রুপ বা সেটের উপর বিভিন্ন ধরনের summary statistics তৈরি করতে সহায়তা করে। সাধারণত, GROUP BY ক্লজের সাথে এই ফাংশনগুলো ব্যবহার করা হয়।

১.1. COUNT()

COUNT() ফাংশনটি একটি নির্দিষ্ট কলামে বা সারিতে মোট রেকর্ডের সংখ্যা বের করে।

উদাহরণ:

SELECT COUNT(*) AS TotalEmployees
FROM Employees;

এটি Employees টেবিলের মোট রেকর্ড বা সারি সংখ্যা রিটার্ন করবে।

১.2. SUM()

SUM() ফাংশনটি একটি কলামের মোট যোগফল বের করে।

উদাহরণ:

SELECT Department, SUM(Salary) AS TotalSalary
FROM Employees
GROUP BY Department;

এটি প্রতিটি Department এর জন্য মোট বেতন (Salary) বের করবে।

১.3. AVG()

AVG() ফাংশনটি একটি কলামের গড় মান বের করে।

উদাহরণ:

SELECT Department, AVG(Salary) AS AverageSalary
FROM Employees
GROUP BY Department;

এটি প্রতিটি Department এর জন্য গড় বেতন (Salary) বের করবে।

১.4. MIN()

MIN() ফাংশনটি একটি কলামের ন্যূনতম মান বের করে।

উদাহরণ:

SELECT Department, MIN(Salary) AS MinSalary
FROM Employees
GROUP BY Department;

এটি প্রতিটি Department এর জন্য সর্বনিম্ন বেতন বের করবে।

১.5. MAX()

MAX() ফাংশনটি একটি কলামের সর্বাধিক মান বের করে।

উদাহরণ:

SELECT Department, MAX(Salary) AS MaxSalary
FROM Employees
GROUP BY Department;

এটি প্রতিটি Department এর জন্য সর্বোচ্চ বেতন বের করবে।


2. GROUP BY Clause:

GROUP BY ক্লজের মাধ্যমে আপনি ডেটাকে নির্দিষ্ট ফিল্ড বা কলামের ভিত্তিতে গ্রুপ করতে পারেন, এবং তারপর বিভিন্ন aggregation ফাংশন ব্যবহার করে গ্রুপের উপর গণনা করতে পারেন। এটি ডেটাকে আরও সারাংশ আকারে উপস্থাপন করতে সাহায্য করে।

উদাহরণ:

SELECT Department, COUNT(*) AS TotalEmployees, AVG(Salary) AS AverageSalary
FROM Employees
GROUP BY Department;

এটি Employees টেবিলের Department অনুযায়ী মোট কর্মচারীর সংখ্যা এবং গড় বেতন দেখাবে।


3. HAVING Clause:

HAVING ক্লজ ব্যবহার করা হয় যখন GROUP BY এর মাধ্যমে গ্রুপিং করা হয় এবং গ্রুপের উপর নির্দিষ্ট শর্ত প্রয়োগ করতে হয়। WHERE ক্লজ শুধুমাত্র রেকর্ড ফিল্টার করতে ব্যবহৃত হয়, কিন্তু HAVING ক্লজ গ্রুপগুলোর উপর শর্ত প্রয়োগ করে।

উদাহরণ:

SELECT Department, AVG(Salary) AS AverageSalary
FROM Employees
GROUP BY Department
HAVING AVG(Salary) > 50000;

এটি শুধুমাত্র সেই Department গুলো দেখাবে যাদের গড় বেতন ৫০,০০০ এর বেশি।


4. DISTINCT Keyword:

DISTINCT কীওয়ার্ডটি ডেটা থেকে duplicate values অপসারণ করতে ব্যবহৃত হয়। এটি বিশেষভাবে প্রয়োজনীয় যখন আপনি ডেটা এর ইউনিক মান গুলি দেখতে চান।

উদাহরণ:

SELECT DISTINCT Department
FROM Employees;

এটি Employees টেবিল থেকে ইউনিক Department এর নামগুলো দেখাবে।


5. Window Functions (Analytic Functions):

T-SQL এ Window Functions (যেমন: ROW_NUMBER(), RANK(), NTILE(), LEAD(), LAG()) বিভিন্ন ধরণের সারাংশ তৈরি করতে ব্যবহৃত হয়, যেখানে আপনাকে পুরো ডেটাসেটের উপর গ্রুপিং করতে না হয়। এগুলি ডেটাকে একটি উইন্ডো বা স্লাইস হিসেবে দেখাতে সাহায্য করে।

উদাহরণ:

ROW_NUMBER():
SELECT EmployeeID, Name, Department,
       ROW_NUMBER() OVER (PARTITION BY Department ORDER BY Salary DESC) AS RowNum
FROM Employees;

এটি প্রতিটি Department অনুযায়ী কর্মচারীদের একটি row number প্রদান করবে, যেখানে Salary অনুযায়ী ডেটা সাজানো হবে।

RANK():
SELECT EmployeeID, Name, Department, Salary,
       RANK() OVER (PARTITION BY Department ORDER BY Salary DESC) AS Rank
FROM Employees;

এটি Department এর মধ্যে Salary অনুযায়ী কর্মচারীদের rank প্রদান করবে, যেখানে সমান বেতনের কর্মচারীরা সমান র্যাংক পাবে।


6. Pivot and Unpivot

PIVOT এবং UNPIVOT ফাংশন ব্যবহার করে আপনি ডেটাকে উল্লম্ব থেকে অনুভূমিক বা অনুভূমিক থেকে উল্লম্ব রূপে রূপান্তর করতে পারেন।

PIVOT Example:

SELECT Department, [2019], [2020], [2021]
FROM (SELECT Department, Year, Salary FROM SalaryHistory) AS SourceTable
PIVOT (SUM(Salary) FOR Year IN ([2019], [2020], [2021])) AS PivotTable;

এটি SalaryHistory টেবিলের ডেটাকে পিভট করে Department অনুযায়ী বছরের ভিত্তিতে বেতন রিটার্ন করবে।

UNPIVOT Example:

SELECT Department, Year, Salary
FROM (SELECT Department, [2019], [2020], [2021] FROM SalaryHistory) AS SourceTable
UNPIVOT (Salary FOR Year IN ([2019], [2020], [2021])) AS UnpivotTable;

এটি PIVOT এর বিপরীত কাজ করে এবং Year এবং Salary অনুযায়ী ডেটা প্রদর্শন করবে।


7. Subqueries and Joins for Aggregation

কখনও কখনও subqueries বা JOIN ব্যবহার করে আপনি একাধিক টেবিলের ডেটা একত্রিত করে আগ্রিগেটেড ফলাফল পেতে পারেন।

Subquery Example:

SELECT Department, (SELECT AVG(Salary) FROM Employees e WHERE e.Department = d.Department) AS AverageSalary
FROM Departments d;

এটি Departments টেবিলের প্রতিটি Department এর জন্য গড় বেতন বের করবে, যেখানে সাবকুয়েরি ব্যবহার করা হয়েছে।

JOIN Example:

SELECT d.DepartmentName, AVG(e.Salary) AS AverageSalary
FROM Employees e
JOIN Departments d ON e.DepartmentID = d.DepartmentID
GROUP BY d.DepartmentName;

এটি Employees এবং Departments টেবিলের মধ্যে JOIN করে, প্রতিটি Department এর গড় বেতন বের করবে।


উপসংহার:

Data Aggregation এবং Summarization Techniques T-SQL এ খুবই গুরুত্বপূর্ণ, বিশেষ করে যখন ডেটাবেস থেকে বিশ্লেষণ বা রিপোর্ট তৈরি করতে হয়। Aggregation Functions (যেমন COUNT, SUM, AVG, MIN, MAX), GROUP BY, HAVING, Window Functions, PIVOT/UNPIVOT এবং Subqueries আপনাকে ডেটার উপর জটিল গণনা করতে সহায়তা করবে এবং সেগুলি উপস্থাপন করতে সাহায্য করবে। T-SQL এ এই কৌশলগুলো ব্যবহার করে আপনি খুব সহজেই ডেটাকে সংক্ষিপ্ত এবং অর্থপূর্ণভাবে উপস্থাপন করতে পারবেন।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...