Chào các bạn trong diễn đàn Sheet & Excel,
Mình thường xuyên làm việc với Power Query để nạp và xử lý dữ liệu từ nhiều nguồn khác nhau vào Excel. Gần đây, mình gặp phải một lỗi khá khó chịu là 'Data too long for column' khi nạp dữ liệu vào một bảng Excel. Lỗi này thường xảy ra khi một ô trong cột dữ liệu có độ dài vượt quá giới hạn cho phép của kiểu dữ liệu trong Excel, hoặc khi có ký tự đặc biệt không tương thích.
Sau một hồi tìm tòi, mình đã tìm ra cách khắc phục khá hiệu quả. Thay vì nạp trực tiếp dữ liệu vào bảng Excel, mình sẽ thực hiện các bước xử lý sau trong Power Query trước khi nạp:
- Kiểm tra kiểu dữ liệu: Đảm bảo rằng kiểu dữ liệu của các cột trong Power Query phù hợp với dữ liệu thực tế. Ví dụ, nếu cột chứa văn bản dài, hãy để kiểu dữ liệu là Text.
- Cắt bớt hoặc làm sạch văn bản: Nếu có những văn bản quá dài không cần thiết, bạn có thể dùng hàm
Text.Lengthkết hợp vớiText.StarthoặcText.Endđể cắt bớt. Nếu có ký tự lạ, hãy dùngText.Replaceđể thay thế hoặc loại bỏ chúng. - Sử dụng tùy chọn nạp dữ liệu: Khi nạp dữ liệu vào Excel, hãy thử các tùy chọn khác nhau. Đôi khi, việc chọn nạp vào một Data Model thay vì một Table thông thường có thể giải quyết vấn đề, đặc biệt với các tập dữ liệu lớn.
- Kiểm tra định dạng số: Với các cột số, đôi khi định dạng không chuẩn (ví dụ: dấu phẩy thay vì dấu chấm làm thập phân) cũng gây lỗi. Hãy chuẩn hóa định dạng số trong Power Query.
Cách mình hay dùng nhất là kết hợp kiểm tra kiểu dữ liệu và làm sạch văn bản. Ví dụ, để đảm bảo cột 'Description' không bị lỗi do quá dài, mình thường thêm một bước sau khi đã có kiểu dữ liệu Text:
= Table.TransformColumns(#"Changed Type",{{"Description", each if Text.Length(_) > 255 then Text.Start(_, 255) else _, type text}})Hy vọng chia sẻ này giúp ích được cho các bạn nào đang gặp vấn đề tương tự. Nếu có cách nào hay hơn, mọi người cùng thảo luận nhé!