Power Query – Nhóm và liệt kê giá trị không trùng lặp trong nhóm
Chào các bạn, hôm nay dataMAKER sẽ hướng dẫn bạn cách nhóm và liệt kê các giá trị không trùng lặp trong nhóm đó.
Ví dụ: Có 1 bảng thông tin sau:
Yêu cầu: Liệt kê MaThanhToan không được trùng nhóm theo NhaCungCap và MaHoaDon.
Để thực hiện yêu cầu trên, các bạn hãy cùng dataMAKER thực hiện theo các bước sau đây:
Bước 1: Nhóm các dòng
Bạn chọn 2 cột NhaCungCap và MaHoaDon sau đó thực hiện chọn: Transform > Group By như 2 ảnh sau:
Tiếp theo, chọn và điền tên cột như ảnh dưới đây:
Sau đó bạn nhấn OK để được kết quả như sau:
Bước 2: Xoá trùng và xuất danh sách:
Sau khi đã nhóm được các dòng như ở bước 1, các bạn chọn vào box có chưa M-code và thay thế dòng M-Code (khoanh đỏ) như ảnh sau:
Bằng dòng M-Code sau:
each Text.Combine(List.Transform(List.Distinct([MaThanhToan]),Text.From),", ")}})
Sau đó bạn nhấn Enter để thu được kết quả như sau:
Tới đây bạn đã hoàn thành yêu cầu của ví dụ trên.
*Giải thích M-Code:
Text.Combine(List.Transform(List.Distinct([MaThanhToan]),Text.From),",")
- List.Distinct([MaThanhToan]) => Tạo 1 list loại bỏ phần tử bị trùng lặp trong cột MaThanhToan.
- List.Transform(<List>,Text.From) => Chuyển đổi phần trong List về dạng chuỗi.
Qua bài viết này bạn đã có Nhóm và liệt kê không trùng lặp trong nhóm đó. Chúc các bạn thực hiện thành công!
Nếu có bất kỳ thắc mắc hoặc gặp các tình huống khó xử lý trong Power Query, các bạn có thể comment ở phía dưới bài viết để dataMAKER hỗ trợ các bạn cùng xử lý nhé. Hẹn gặp bạn ở bài viết tiếp theo!