Menu

Tự động phân tách dữ liệu Text thành nhiều cột trong Power Query dựa trên ký tự phân tách

Tống Văn Yên 04/06/2026 08:26 155 lượt xem 2 trả lời

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:

  1. Chọn cột bạn muốn phân tách.
  2. Vào tab Transform, chọn Split Column -> By Delimiter.
  3. Trong hộp thoại hiện ra, chọn Use advanced editor.
  4. 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!

0

Tuyệt vời! Đúng là cái vụ phân tách dữ liệu này nhiều khi đau đầu thật, nhất là khi nguồn dữ liệu nó "sáng tạo" quá.

Nếu gặp trường hợp ký tự phân tách không cố định, mình hay kết hợp chức năng "Replace Values" để chuẩn hóa trước, ví dụ thay tất cả các ký tự phân tách lạ về một loại chung (như dấu phẩy chẳng hạn), rồi mới dùng "Split Column by Delimiter". Hoặc đôi khi dùng cả "Extract Text Before/After Delimiter" để tách từng phần nhỏ rồi ghép lại cũng được.

Không biết bạn có dùng cách nào khác hiệu quả hơn không? Chia sẻ thêm cho mọi người cùng học hỏi nhé!

2
Hay quá! Mình cũng hay gặp tình huống này, nhất là khi dữ liệu nguồn không "sạch" lắm. Bạn có thể chia sẻ cụ thể hơn về cách bạn xử lý các trường hợp ký tự phân tách không cố định không? Ví dụ như khi có cả dấu phẩy, dấu chấm phẩy, hoặc thậm chí là khoảng trắng thừa xen kẽ thì mình xử lý thế nào cho hiệu quả nhỉ? Rất mong được học hỏi thêm từ bạn!
2

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký