Chào các bác, dạo này em hay phải làm việc với dữ liệu mà nhiều khi nó cứ 'lộn xộn' từ nhiều nguồn khác nhau đổ về. Hôm nay em muốn chia sẻ một tình huống khá hay gặp và cách em đã xử lý nó bằng Power Query, hy vọng giúp ích được cho mọi người.
Tình huống của em là có một bảng dữ liệu, mỗi mã sản phẩm có thể xuất hiện ở nhiều dòng khác nhau, mỗi dòng lại ghi nhận một thông tin khác nhau (ví dụ: ngày bán, số lượng, giá...). Em cần biến đổi sao cho mỗi mã sản phẩm chỉ xuất hiện ở một dòng duy nhất, và các thông tin tương ứng sẽ được gom lại vào các cột riêng biệt. Nghe hơi giống Pivot Table nhưng không hẳn, vì em cần kiểm soát cấu trúc cột đầu ra rõ ràng hơn.
Sau một hồi loay hoay, em nghĩ ngay đến Power Query. Đây là cách em làm:
- Đầu tiên, em tải dữ liệu vào Power Query.
- Tiếp theo, em chọn cột chứa mã sản phẩm (cột 'key' mà em muốn gom nhóm).
- Vào tab Transform, chọn Pivot Column.
- Tại ô Values Column, em chọn cột chứa thông tin cần gom (ví dụ: cột 'Số lượng' hoặc 'Giá').
- Quan trọng nhất là phần Advanced options. Em chọn Don't Aggregate để nó không tự động tính tổng hay đếm gì cả. Nếu em muốn gom nhiều thông tin vào một dòng, em có thể chọn các cột khác nhau cho Values Column và lặp lại bước Pivot, hoặc có thể chọn một cột chứa dữ liệu đa dạng và dùng chức năng 'Group By' với 'All Rows' trước khi Pivot.
- Cuối cùng, em có thể xử lý thêm các giá trị null (nếu có) và load kết quả ra Excel.
Cách này giúp em xử lý gọn gàng các bảng dữ liệu 'phân mảnh', biến nó thành một cấu trúc 'chuẩn' để dễ dàng phân tích hoặc làm báo cáo hơn. Có bác nào có cách hay hơn hoặc gặp tình huống tương tự có thể chia sẻ thêm không ạ?