Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Chia sẻ cách xử lý dữ liệu trùng lặp có điều kiện trong Power Query

Liễu Thái Phượng 22/03/2026 11:30 543 lượt xem 3 trả lời

Chào các bác, hôm nay em muốn chia sẻ một mẹo nhỏ mà em vừa vọc vạch được trong Power Query để xử lý dữ liệu trùng lặp, nhưng có điều kiện đi kèm. Cái này hay hơn là chỉ lọc trùng đơn thuần.

Tình huống của em là có một bảng dữ liệu bán hàng, bao gồm các cột như: Mã SP, Ngày bán, Số lượng, Doanh thu. Em muốn lọc ra những dòng mà Mã SP bị trùng, nhưng chỉ tính những dòng trùng xảy ra trong cùng một Ngày bán.

Cách làm của em như sau:

  • Bước 1: Load dữ liệu vào Power Query.
  • Bước 2: Chọn cột Mã SP, vào tab Add Column -> Custom Column. Đặt tên cột mới là 'CheckDuplicate'.
  • Bước 3: Trong ô công thức, nhập công thức sau: List.Count(Table.SelectRows(#"Changed Type", (innerRow) => innerRow[Mã SP] = [Mã SP] and innerRow[Ngày bán] = [Ngày bán])) > 1. Lưu ý: #"Changed Type" là tên bước trước đó của bạn, hãy thay thế cho phù hợp.
  • Bước 4: Sau khi tạo cột 'CheckDuplicate', bạn sẽ thấy các dòng bị trùng theo điều kiện sẽ có giá trị là true.
  • Bước 5: Filter cột 'CheckDuplicate' để chỉ lấy các dòng có giá trị true.

Như vậy là mình đã lọc được các dòng bị trùng lặp Mã SP trong cùng một Ngày bán. Cách này khá linh hoạt, các bác có thể thay đổi điều kiện lọc bằng cách chỉnh sửa phần innerRow[Ngày bán] = [Ngày bán] cho phù hợp với nhu cầu của mình.

Có bác nào có cách làm khác hay hơn, hoặc có tình huống xử lý trùng lặp phức tạp hơn không, cùng thảo luận cho anh em học hỏi ạ!

0

Hay đó bạn! Cách xử lý trùng lặp có điều kiện như này trong Power Query rất thiết thực. Mình cũng từng vật lộn với việc này, thường phải dùng các bước kết hợp khá rườm rà.

Bạn có thể chia sẻ cụ thể hơn về "tab..." ở bước 2 và cách bạn áp dụng điều kiện "cùng một Ngày bán" không? Mình tò mò xem Power Query xử lý phần này thế nào. Cảm ơn bạn đã chia sẻ!

3

Hay quá bạn ơi! Mình cũng hay gặp tình huống tương tự. Thay vì chỉ lọc trùng theo 1 cột, việc kết hợp thêm điều kiện ngày bán như bạn chia sẻ thực sự hữu ích. Mình thường làm theo cách nhóm dữ liệu (Group By) rồi mới xử lý tiếp, nhưng cách của bạn nghe có vẻ gọn gàng hơn.

Bạn có thể chia sẻ thêm về bước cuối cùng không? Sau khi xác định được các dòng trùng có điều kiện, bạn xử lý tiếp như thế nào để giữ lại/loại bỏ chúng?

5

Hay quá bạn ơi! Mình cũng hay gặp tình huống tương tự. Thay vì chỉ lọc trùng theo 1 cột, việc kết hợp thêm điều kiện ngày bán như bạn chia sẻ thực sự hữu ích. Mình thường làm theo cách nhóm dữ liệu (Group By) rồi mới xử lý tiếp, nhưng cách của bạn nghe có vẻ gọn gàng hơn.

Bạn có thể chia sẻ thêm về bước cuối cùng không? Sau khi xác định được các dòng trùng có điều kiện, bạn xử lý tiếp như thế nào để giữ lại/loại bỏ chúng?

0

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

Đăng nhập Đăng ký