Menu

Xử lý dữ liệu có ký tự xuống dòng ( ) và Tab ( ) trong Power Query

Ly Thái Diệu 26/03/2026 20:47 453 lượt xem 1 trả lời

Chào các anh em trong diễn đàn,

Dạo này mình hay làm việc với dữ liệu export từ một số hệ thống, và gặp khá nhiều trường hợp dữ liệu bị lẫn các ký tự đặc biệt như xuống dòng (ký tự ) hoặc ký tự Tab ( ) ngay trong một ô dữ liệu. Điều này gây ra không ít khó khăn khi mình muốn chuẩn hóa hoặc phân tích dữ liệu.

Ví dụ, một ô có thể trông như thế này:

Dòng 1
Dòng 2	Giá trị A

Khi import vào Power Query, nó sẽ hiển thị dưới dạng một chuỗi duy nhất chứa các ký tự này.

Mình đã thử các cách như Text.Replace nhưng đôi khi không hiệu quả vì nó chỉ thay thế ký tự đó thành khoảng trắng, mà đôi khi mình lại muốn loại bỏ hoàn toàn hoặc thay thế bằng một ký tự khác.

Gần đây, mình có tìm ra một cách khá ổn để xử lý vấn đề này, đó là sử dụng kết hợp Text.CleanText.Replace.

Đầu tiên, Text.Clean sẽ loại bỏ hầu hết các ký tự không in được, bao gồm cả . Tuy nhiên, nó có thể loại bỏ cả những ký tự mình muốn giữ lại (ít gặp). Sau đó, nếu mình muốn thay thế cụ thể ký tự Tab thành khoảng trắng hoặc ký tự xuống dòng thành dấu phẩy chẳng hạn, mình sẽ dùng thêm Text.Replace.

Ví dụ, để loại bỏ cả :

Text.Clean([TênCộtDữLiệu])

Hoặc để thay thế bằng dấu phẩy và bằng khoảng trắng:

Text.Replace(Text.Replace(Text.Clean([TênCộtDữLiệu]), " ", ", "), " ", " ")

Cách này giúp mình xử lý khá sạch sẽ các trường hợp dữ liệu lộn xộn. Không biết mọi người có cao kiến hay cách nào tối ưu hơn không, chia sẻ cho mình học hỏi với ạ?

Cảm ơn mọi người đã đọc bài!

0

Chào bạn,

Vấn đề này khá phổ biến khi làm việc với dữ liệu từ nhiều nguồn khác nhau. Để xử lý ký tự xuống dòng và Tab trong Power Query, bạn có thể dùng hàm Text.Replace kết hợp với Text.From hoặc Text.End để loại bỏ chúng.

Cách bạn đang dùng Text.Replace là đúng hướng rồi đó. Bạn có thể thử thay thế ký tự xuống dòng bằng một ký tự khác (ví dụ: dấu cách) rồi sau đó xử lý tiếp. Với ký tự Tab, bạn cũng làm tương tự.

Bạn có thể chia sẻ rõ hơn về cách bạn đang áp dụng Text.Replace không? Biết đâu mình có thể gợi ý thêm cho bạn một vài tùy chọn khác.

1

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

Đăng nhập Đăng ký