Địa chỉ:
Lầu 7 Tòa nhà STA, 618 đường 3/2, Phường Diên Hồng (Phường 14, Quận 10), TP HCM
Giờ làm việc
Thứ 2 tới thứ 6: 9:00 - 18:00
Địa chỉ:
Lầu 7 Tòa nhà STA, 618 đường 3/2, Phường Diên Hồng (Phường 14, Quận 10), TP HCM
Giờ làm việc
Thứ 2 tới thứ 6: 9:00 - 18:00
Conditional Column trong Power Query là tính năng tạo cột dữ liệu mới dựa trên quy tắc logic mà không cần viết code. Thay vì phải nhớ cú pháp phức tạp của ngôn ngữ M hay lồng ghép nhiều hàm IF phức tạp như trong Excel, Conditional Column giúp bạn phân loại, gắn nhãn dữ liệu và so sánh giữa các cột chỉ với vài cú nhấp chuột trên giao diện trực quan.
Bài viết này, Starttrain sẽ hướng dẫn chi tiết cách sử dụng Conditional Column qua các tình huống thực tế, phân tích câu lệnh M tương ứng, so sánh với Custom Column và giải đáp các câu hỏi thường gặp nhất khi chuẩn hóa dữ liệu ETL.
Conditional Column là một công cụ dựng sẵn trên Power Query. Công cụ này cho phép bạn xây dựng logic xử lý theo cấu trúc:
Nếu (If) [Tên cột] thỏa mãn [Điều kiện so sánh] Thì (Then) trả về [Giá trị đầu ra], Ngược lại (Else) trả về [Giá trị mặc định].
Về mặt công năng, Conditional Column tương đương với:
Điểm vượt trội của Conditional Column là tính năng no-code/low-code: người dùng chỉ cần chọn giá trị trên bảng biểu mẫu mà không sợ sai sót cú pháp lập trình.
Để kích hoạt tính năng này, bạn thao tác trực tiếp trên giao diện Power Query Editor:
Dưới đây là hai tình huống xử lý dữ liệu thực tế được minh họa trực quan từ giao diện Power Query Editor với tập dữ liệu mẫu gồm 2 cột số: Column1 và Column2.
Yêu cầu: Tạo cột mới có tên Custom. Kiểm tra giá trị tại Column2: nếu nhỏ hơn 5 thì trả về “yes”, ngược lại trả về “no”.
Mở hộp thoại chức năng. Trên thanh công cụ, mở tab Add Column rồi nhấn vào biểu tượng Conditional Column.

Hộp thoại Add Conditional Column xuất hiện với các trường cấu hình tiêu chuẩn gồm: tên cột (New column name), điều kiện If… Then…, nút thêm điều kiện Add Clause và giá trị mặc định Else.

Nhập điều kiện so sánh

Cột Custom xuất hiện ở cuối bảng. Dòng 1 (Column2 = 0) và Dòng 5 (Column2 = 2) nhận kết quả “yes” vì nhỏ hơn 5. Các dòng còn lại (7, 9, 6) đều lớn hơn hoặc bằng 5 nên trả về “no”.

Yêu cầu: Tạo cột mới có tên Custom.1. So sánh giá trị giữa Column1 và Column2. Nếu giá trị tại Column1 lớn hơn Column2 thì trả về “yes”, ngược lại trả về “no”.
Mở hộp thoại Add Conditional Column, đặt tên cột mới là Custom.1.

Cột Custom.1 xuất hiện với kết quả:

Mỗi khi bạn thao tác chọn điều kiện trên hộp thoại Conditional Column, Power Query sẽ tự động chuyển đổi toàn bộ cấu hình đó thành một dòng mã nguồn M duy nhất trên thanh công thức (Formula Bar).
Đối chiếu với hai ví dụ vừa thực hiện, hệ thống sinh ra hai câu lệnh như sau:
= Table.AddColumn(#”Changed Type”, “Custom”, each if [Column2] < 5 then “yes” else “no”)
= Table.AddColumn(#”Added Conditional Column”, “Custom.1”, each if [Column1] > [Column2] then “yes” else “no”)
Cả hai câu lệnh trên đều sử dụng hàm Table.AddColumn với cú pháp
Table.AddColumn(table, newColumnName, columnGenerator, optional columnType)
Trong đó:
Để tránh sai sót logic và đảm bảo quy trình xử lý dữ liệu hoạt động tối ưu, bạn cần chú ý các nguyên tắc kỹ thuật sau:
Người dùng thường cân nhắc giữa việc chọn Conditional Column hay Custom Column. Dưới đây là bảng đối chiếu chi tiết để bạn lựa chọn công cụ phù hợp với nhu cầu:
| Tiêu chí | Conditional Column | Custom Column |
| Độ phức tạp | Phù hợp với chuỗi điều kiện rẽ nhánh đơn giản (If … Else If … Else) | Đáp ứng mọi logic phức tạp, lồng ghép hàm xử lý text, ngày tháng, toán học |
| Khả năng sai cú pháp | Rất thấp vì giao diện đã khóa sẵn các trường chọn hợp lệ | Có thể phát sinh lỗi nếu sai chính tả, thiếu ngoặc hoặc sai quy tắc hoa thường, … |
| Đối tượng sử dụng | Người mới bắt đầu hoặc người cần tạo phân loại nhanh chóng | Chuyên viên phân tích dữ liệu, Data Engineer cần viết logic biến đổi nâng cao |
Giao diện Add Conditional Column hiện tại chưa có tùy chọn kết hợp toán tử AND hoặc OR trên cùng một dòng thiết lập. Cơ chế của giao diện hoạt động theo mô hình thác nước tuần tự (nhiều nấc Else If). Nếu muốn kiểm tra đồng thời nhiều điều kiện kiểu If Cột 1 > 5 AND Cột 2 < 10, cách nhanh nhất là dùng Custom Column và viết công thức:
if [Column1] > 5 and [Column2] < 10 then “Dat” else “Khong dat”
Có ảnh hưởng. Power Query kiểm tra các điều kiện tuần tự từ trên xuống dưới. Ngay khi một dòng dữ liệu thỏa mãn điều kiện đầu tiên, hệ thống sẽ trả về kết quả tương ứng và dừng lại, bỏ qua toàn bộ các quy tắc phía dưới. Do đó, nguyên tắc cốt lõi là luôn đưa các điều kiện cụ thể hoặc có khoảng giá trị hẹp nhất lên đầu tiên.
Tại ô Value, bạn nhập trực tiếp chữ null (viết thường toàn bộ). Ví dụ: If [Column1] equals null Then “Chua co du lieu”.
Conditional Column là công cụ trực quan và hiệu quả bậc nhất trong Power Query, giúp bạn tạo cột phân loại, gán nhãn và so sánh dữ liệu mà không cần viết mã nguồn M phức tạp. Nhờ cơ chế giao diện dạng biểu mẫu, người dùng có thể hạn chế tối đa các lỗi cú pháp thường gặp, đồng thời tối ưu hóa bước làm sạch dữ liệu ngay từ tầng ETL trước khi đưa vào mô hình báo cáo.

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official
Vui lòng liên hệ qua những thông tin bên dưới. Starttrain sẽ phản hồi bạn trong thời gian sớm nhất.




