Chào mọi người,
Mình thường xuyên phải làm việc với dữ liệu dạng text, và đôi khi cần phân tách một cột chứa nhiều thông tin thành các cột riêng biệt. Ví dụ, mình có một cột 'Địa chỉ' chứa thông tin như "Số nhà, Phường, Quận, Tỉnh". Power Query có chức năng 'Split Column' rất mạnh mẽ, nhưng đôi khi ký tự phân tách không cố định hoặc có nhiều ký tự khác nhau.
Hôm nay mình muốn chia sẻ một cách để xử lý trường hợp này một cách tự động trong Power Query, mà không cần phải thủ công thay đổi ký tự phân tách.
Cách thực hiện:
- Chọn cột bạn muốn phân tách.
- Vào tab Transform, chọn Split Column -> By Delimiter.
- Trong hộp thoại hiện ra, chọn Use advanced editor.
- Tại đây, bạn có thể sửa đổi hàm
Table.SplitColumnđể xử lý nhiều ký tự phân tách. Ví dụ, nếu bạn muốn phân tách theo dấu phẩy (,) hoặc dấu chấm phẩy (;), bạn có thể dùng biểu thức như sau:
Table.SplitColumn(PreviousStepName, "TênCộtCầnPhânTách", Splitter.SplitTextByEachDelimiter({"," , ";"}), {"Cột 1", "Cột 2", "Cột 3"})Lưu ý: Thay PreviousStepName bằng tên bước trước đó và "TênCộtCầnPhânTách" bằng tên cột thực tế của bạn. Bạn cũng cần điều chỉnh danh sách các tên cột đầu ra cho phù hợp.
Cách này giúp tiết kiệm rất nhiều thời gian khi xử lý các file dữ liệu lớn và không đồng nhất. Hy vọng chia sẻ này hữu ích cho các bạn!