Địa chỉ:
Lầu 7 Tòa nhà STA, 618 đường 3/2, Phường Diên Hồng (Phường 14, Quận 10), TP HCM
Giờ làm việc
Thứ 2 tới thứ 6: 9:00 - 18:00
Địa chỉ:
Lầu 7 Tòa nhà STA, 618 đường 3/2, Phường Diên Hồng (Phường 14, Quận 10), TP HCM
Giờ làm việc
Thứ 2 tới thứ 6: 9:00 - 18:00
Khi xử lý các tập dữ liệu lớn trong Excel hay Power BI, việc tóm tắt và tổng hợp thông tin theo từng nhóm là yêu cầu gần như bắt buộc. Trong số các công cụ xử lý dữ liệu hiện nay, Group by nổi lên như một trợ thủ đắc lực giúp bạn cô đọng dữ liệu thô thành các báo cáo tinh gọn chỉ trong vài cú click chuột. Bài viết này, Starttrain sẽ giúp bạn hiểu rõ bản chất Group by là gì, cách thức hoạt động của nó trong Power Query, đồng thời đi vào minh họa từng bước cực kỳ trực quan dựa trên dữ liệu thực tế.
Group by (Gom nhóm dữ liệu) là một khái niệm cơ bản bắt nguồn từ ngôn ngữ truy vấn cơ sở dữ liệu SQL. Hiểu một cách đơn giản nhất, Group by là quá trình gộp các dòng có cùng giá trị trong một hoặc nhiều cột được chỉ định lại thành một dòng duy nhất, đồng thời thực hiện các phép toán tính toán (như tính tổng, trung bình, đếm dòng, tìm giá trị lớn nhất/nhỏ nhất) trên các cột còn lại.
Ví dụ, nếu bạn có danh sách 1.000 giao dịch bán hàng của nhiều thành phố khác nhau, việc áp dụng Group by theo “Thành phố” với phép toán “Tính tổng doanh thu” sẽ trả về một bảng dữ liệu mới cực kỳ gọn gàng: mỗi dòng đại diện cho một thành phố duy nhất đi kèm với tổng số tiền bán được của thành phố đó.
Trong bộ công cụ Power Query, Group by không chỉ đơn thuần là một nút bấm gộp dòng, mà là một trong những tính năng biến đổi dữ liệu cốt lõi và mạnh mẽ nhất. Thay vì phải vật lộn với các công thức mảng Excel phức tạp hay viết mã DAX cồng kềnh sau khi tải dữ liệu, Power Query cho phép bạn thực hiện chuẩn hóa và thu gọn dữ liệu ngay từ khi đi vào.
Bạn có thể tìm thấy nút Group By ở hai nơi trên thanh Ribbon của Power Query Editor:
Cả hai vị trí này đều dẫn đến cùng một hộp thoại thiết lập, giúp bạn dễ dàng thao tác dù đang làm việc ở bất kỳ giao diện nào.
Khi bạn thực hiện thao tác Group by, Power Query sẽ sử dụng hàm Table.Group trong ngôn ngữ M. Hàm này sẽ quét qua toàn bộ bảng dữ liệu, phân loại các bản ghi dựa trên cột khóa mà bạn đã chọn, sau đó tạo ra một bảng mới với các giá trị duy nhất từ cột khóa đó, đi kèm với các cột kết quả tính toán mới.
Hộp thoại Group By của Power Query cung cấp sẵn một loạt các phép toán thông dụng giúp bạn xử lý hầu hết mọi yêu cầu nghiệp vụ từ cơ bản đến nâng cao:
Trong giao diện Power Query Editor, ta có bảng dữ liệu FactTransactions chứa các thông tin như: card_id, client_id, amount (số tiền), date (ngày giao dịch), errors, mcc, và merchant_city (thành phố của đơn vị bán hàng).Để bắt đầu gom nhóm, bạn chọn thẻ Transform trên thanh công cụ và nhấn chọn biểu tượng Group By ở góc trái màn hình.

Khi hộp thoại Group By hiện lên, bạn chọn chế độ Basic mặc định để thực hiện gom nhóm theo một điều kiện duy nhất:
Sau khi thiết lập xong, bạn nhấn OK.

Ngay lập tức, Power Query sẽ thu gọn bảng dữ liệu của bạn. Thay vì hàng ngàn giao dịch riêng lẻ, bảng dữ liệu lúc này chỉ còn đúng 2 cột: merchant_city và Total Amount.Mỗi thành phố (như Mamaroneck, Mount Vernon, ONLINE,…) bây giờ chỉ xuất hiện đúng 1 dòng đi kèm tổng số tiền giao dịch tương ứng.

Trong nhiều trường hợp, việc gom nhóm theo 1 cột là chưa đủ. Bạn muốn biết tổng số tiền giao dịch của từng thành phố đối với từng thẻ (card_id) cụ thể.
Lúc này, bạn bấm đúp vào bước “Grouped Rows” ở phần Applied Steps để mở lại hộp thoại, sau đó chọn chế độ Advanced:

Kết quả trả về là một bảng dữ liệu chi tiết hơn. Bạn sẽ thấy cột merchant_city kết hợp với cột card_id để tạo ra các tổ hợp duy nhất. Ví dụ, thành phố Mamaroneck sẽ được chia nhỏ ra thành các dòng tương ứng với các thẻ số 19, thẻ số 27, … đi kèm với tổng số tiền giao dịch của riêng thẻ đó tại thành phố đó.

Power Query còn cho phép bạn tính toán nhiều chỉ số khác nhau trong cùng một lần gom nhóm. Tại hộp thoại Advanced, bên dưới phần cấu hình tính tổng:
Nhấn OK để áp dụng thay đổi.

Bảng dữ liệu cuối cùng sẽ hiển thị đầy đủ 4 cột gồm: merchant_city, card_id, Total Amount (Tổng số tiền) và Avg Amount (Số tiền trung bình trên mỗi giao dịch).

Khi bạn thực hiện thao tác Group by trên giao diện, Power Query sẽ tự động viết một dòng mã bằng ngôn ngữ M ở thanh công thức. Hiểu rõ cấu trúc của đoạn mã này sẽ giúp bạn dễ dàng tùy biến dữ liệu theo những cách mà giao diện kéo thả thông thường không thể làm được.Cú pháp tổng quát của hàm gom nhóm trong ngôn ngữ M là: Table.Group(table, key, aggregatedColumns)
Trong đó:
Phân tích một ví dụ thực tế:Hãy nhìn lại đoạn mã M-code ở Bước 7:
Đã copy xong!
= Table.Group(
#"Changed Type",
{"merchant_city", "card_id"},
{
{"Total Amount", each List.Sum([amount]), type nullable number},
{"Avg Amount", each List.Average([amount]), type nullable number}
}
)Ở đây:Ta gom nhóm bảng #”Changed Type” dựa trên 2 cột khóa là “merchant_city” và “card_id”.
Ta tạo ra 2 cột mới cùng lúc:
Cột “Total Amount” thực hiện phép toán List.Sum trên cột [amount].
Cột “Avg Amount” thực hiện phép toán List.Average trên cột [amount].
Rất nhiều người mới học phân tích dữ liệu thường thắc mắc: “Tại sao phải dùng Group by trong Power Query khi chúng ta có thể làm điều tương tự bằng cách kéo thả Pivot Table trong Excel?”.
| Tiêu chí | Group by trong Power Query | Pivot Table trong Excel |
| Giai đoạn áp dụng | Diễn ra ở bước chuẩn bị và biến đổi dữ liệu (ETL – Extract, Transform, Load). | Diễn ra ở bước báo cáo và trực quan hóa dữ liệu (Reporting). |
| Ảnh hưởng đến hiệu năng | Giảm số lượng dòng dữ liệu trước khi nạp vào file, giúp tối ưu bộ nhớ cực tốt. | Giữ nguyên toàn bộ dữ liệu thô trong bộ nhớ, dễ gây đơ, lag file khi dữ liệu lên tới hàng triệu dòng. |
| Khả năng thay đổi | Cố định cấu trúc bảng dữ liệu đầu ra theo các chỉ số đã định sẵn. | Cho phép người xem báo cáo tự do kéo thả, thay đổi bộ lọc, hàng và cột linh hoạt. |
| Phù hợp cho | Chuẩn bị dữ liệu sạch, tinh gọn để làm data model cho Power BI hoặc làm nguồn cho các báo cáo chuẩn hóa. | Phân tích nhanh, khám phá dữ liệu (Ad-hoc analysis) trực tiếp trên Excel. |
Mặc dù Group by là một công cụ cực kỳ hữu ích, bạn vẫn cần ghi nhớ một số lưu ý quan trọng để tránh làm hỏng cấu trúc dữ liệu hoặc gây lỗi hệ thống:Mất mát dữ liệu chi tiết (Data Loss): Khi bạn gom nhóm dữ liệu bán hàng theo ngày hoặc theo thành phố, các thông tin chi tiết của từng giao dịch sẽ bị biến mất hoàn toàn.
Do đó, chỉ nên sử dụng Group by khi bạn chắc chắn không cần dùng đến các chi tiết đó ở các bước phân tích sau này. Mẹo nhỏ: Nếu muốn giữ lại dữ liệu chi tiết, hãy chọn phép toán All Rows trong phần Operation để tạo ra một cột chứa các bảng con chứa đầy đủ các dòng chi tiết ban đầu.
Đồng bộ kiểu dữ liệu (Data Types): Hãy đảm bảo rằng cột mà bạn chọn thực hiện các phép toán tính tổng hoặc trung bình bắt buộc phải có kiểu dữ liệu dạng Số. Nếu cột đó chứa ký tự text hoặc giá trị lỗi, Power Query sẽ trả về kết quả lỗi trên toàn bộ nhóm đó.
Tối ưu hóa cơ chế Query Folding: Khi bạn kết nối Power Query với các cơ sở dữ liệu quan hệ (như SQL Server, MySQL), bước Group by nên được thực hiện càng sớm càng tốt. Power Query có khả năng tự động dịch bước Group by này thành câu lệnh SQL và gửi trực tiếp về máy chủ cơ sở dữ liệu xử lý. Điều này giúp máy tính cá nhân của bạn không cần phải tải hàng triệu dòng dữ liệu thô về rồi mới gom nhóm.
Gom nhóm dữ liệu bằng Group by trong Power Query là kỹ năng cốt lõi giúp bạn làm sạch và cô đọng dữ liệu một cách thông minh, tối giản trước khi đưa vào phân tích hay trực quan hóa. Việc nắm chắc kỹ thuật Group by và kỹ năng đọc hiểu cấu trúc M-code sẽ giúp bạn chủ động tùy biến các phép toán phức tạp mà giao diện thông thường không đáp ứng được. Hãy bắt đầu ứng dụng tính năng Group by vào các dự án phân tích của mình ngay hôm nay để trải nghiệm sự khác biệt về cả hiệu suất hệ thống lẫn tốc độ xử lý báo cáo.
Tìm hiểu thêm khóa học Power BI tại Starttrain để xây dựng báo cáo và tư duy phân tích dữ liệu.

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official
Vui lòng liên hệ qua những thông tin bên dưới. Starttrain sẽ phản hồi bạn trong thời gian sớm nhất.




