Chào các anh chị em trong diễn đàn,
Dạo gần đây mình thường xuyên phải làm việc với các file Excel có cấu trúc dữ liệu khá phức tạp, đặc biệt là các dạng nested lists (danh sách lồng nhau). Ví dụ, trong một ô có thể chứa nhiều giá trị cách nhau bởi dấu phẩy, hoặc thậm chí là một bảng nhỏ bên trong.
Việc xử lý thủ công các loại dữ liệu này rất tốn thời gian và dễ sai sót. Mình đã thử tìm hiểu và áp dụng Power Query để giải quyết vấn đề này và thấy hiệu quả rõ rệt. Hôm nay mình muốn chia sẻ lại cách làm để mọi người tham khảo, hy vọng sẽ giúp ích cho các bạn nào đang gặp tình huống tương tự.
Trường hợp cụ thể: Dữ liệu trong một cột có các ô chứa nhiều mã sản phẩm cách nhau bởi dấu chấm phẩy (;).
Cách xử lý với Power Query:
- Bước 1: Import dữ liệu vào Power Query.
- Bước 2: Chọn cột chứa dữ liệu lồng nhau.
- Bước 3: Vào tab Add Column, chọn Custom Column.
- Bước 4: Trong cửa sổ Custom Column, nhập công thức sau để tách chuỗi:
Text.Split([Tên_Cột_Dữ_Liệu], ";"). Đặt tên cho cột mới là 'Mã Sản Phẩm Tách'. - Bước 5: Sau khi tạo cột mới, bạn sẽ thấy mỗi ô chứa một list. Nhấp vào biểu tượng mũi tên hai chiều ở tiêu đề cột 'Mã Sản Phẩm Tách'.
- Bước 6: Chọn Mở rộng thành các hàng mới (Expand to New Rows).
Kết quả là mỗi mã sản phẩm sẽ nằm trên một hàng riêng biệt, giúp việc phân tích và tổng hợp dữ liệu trở nên dễ dàng hơn rất nhiều.
Cách này rất hữu ích cho các bạn làm báo cáo, tổng hợp dữ liệu bán hàng, quản lý kho,...
Có anh chị nào có kinh nghiệm xử lý các dạng dữ liệu lồng nhau khác bằng Power Query không ạ? Cùng thảo luận thêm nhé!