Chào mọi người,
Dạo này mình hay làm việc với các file Excel có dữ liệu khá phức tạp, đặc biệt là các bảng lồng nhau. Đôi khi dữ liệu được tổ chức theo kiểu mỗi dòng là một bản ghi, nhưng lại chứa các bảng con bên trong. Việc xử lý thủ công những cấu trúc này rất tốn thời gian và dễ sai sót.
Trong quá trình tìm hiểu, mình có phát hiện ra một cách xử lý khá hiệu quả bằng Power Query. Hôm nay mình muốn chia sẻ với anh em trong diễn đàn để cùng thảo luận và học hỏi.
Giả sử chúng ta có một bảng dữ liệu chính, và một cột trong bảng đó lại chứa các bảng con. Ví dụ:
ID | Tên Sản Phẩm | Chi Tiết Đơn Hàng
----------------------------------------------------------
1 | Laptop ABC | Table([Mã Đơn, Số Lượng, Giá])
2 | Chuột XYZ | Table([Mã Đơn, Số Lượng, Giá])Để xử lý, chúng ta có thể sử dụng Power Query như sau:
- Bước 1: Load dữ liệu vào Power Query.
- Bước 2: Chọn cột chứa bảng con (ví dụ: 'Chi Tiết Đơn Hàng'). Lúc này, bạn sẽ thấy chữ Table trong mỗi ô.
- Bước 3: Nhấn vào biểu tượng mở rộng (Expand) ở tiêu đề cột 'Chi Tiết Đơn Hàng'. Power Query sẽ hiển thị các cột có trong bảng con. Bạn có thể chọn các cột muốn giữ lại và bỏ tích ô 'Use original column name as prefix' nếu không muốn tên cột bị thêm tiền tố.
- Bước 4: Nhấn OK. Power Query sẽ tự động 'làm phẳng' các bảng lồng nhau này thành một bảng dữ liệu lớn hơn, mỗi dòng là một chi tiết đơn hàng tương ứng với sản phẩm.
Cách này rất hữu ích khi bạn cần phân tích chi tiết từng đơn hàng, tính tổng số lượng, giá trị cho từng mặt hàng, hoặc thực hiện các phép tính phức tạp hơn trên dữ liệu chi tiết.
Anh em nào đã từng gặp trường hợp tương tự và có cách xử lý khác hoặc mẹo hay hơn thì chia sẻ thêm nhé!