Đị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
Khi làm việc với các nguồn dữ liệu thô (như file CSV, Excel, SQL Database), bảng dữ liệu của bạn thường chứa rất nhiều cột thông tin phụ trợ không phục vụ cho việc báo cáo. Việc giữ lại các cột thừa này sẽ làm tăng dung lượng file, làm chậm tốc độ Refresh và gây bối rối trong quá trình viết công thức DAX hoặc tạo biểu đồ.
Để giải quyết vấn đề này, Power Query cung cấp nhóm tính năng Manage Columns nằm ngay trên tab Home. Trong đó có hai lựa chọn cốt lõi:
Nhìn từ bên ngoài, kết quả cuối cùng của hai tính năng này có vẻ giống nhau – bạn đều có được một bảng dữ liệu sạch. Tuy nhiên, ở khía cạnh kỹ thuật sâu hơn:
Trong ví dụ này, ta đang mở bảng FactTransactions trong cửa sổ Power Query Editor. Bảng này chứa nhiều cột như card_id, client_id, amount, date, errors, id, mcc, merchant_city, … Có thể thấy cột errors hiện đang chứa toàn bộ giá trị là “null”. Cột này hoàn toàn không có giá trị phân tích và cần được loại bỏ để làm sạch bảng dữ liệu.Nhấp chuột trái để chọn tiêu đề cột errors (cột sẽ được bôi đậm/chuyển màu xanh lá cây đậm). Tiếp theo, hướng mắt lên thanh công cụ phía trên (Ribbon), tại tab Home, tìm đến nhóm Manage Columns, bạn sẽ thấy nút Remove Columns có biểu tượng dấu “X” màu đỏ đè lên các cột.

Khi nhấp vào mũi tên hướng xuống nhỏ bên cạnh nút Remove Columns, một menu thả xuống sẽ xuất hiện với hai lựa chọn. Bạn có hai tùy chọn là Remove Columns & Remove Other Columns. Trong trường hợp này, vì chúng ta chỉ muốn loại bỏ duy nhất cột errors đang được chọn, chúng ta sẽ di chuột và nhấp chọn vào dòng đầu tiên: Remove Columns.

Ngay sau khi nhấp chọn, cột errors đã biến mất hoàn toàn khỏi bảng dữ liệu. Cột errors không còn nằm giữa cột date và cột id nữa. Ở khung bên phải, trong danh sách các bước đã thực hiện (APPLIED STEPS), hệ thống đã tự động ghi nhận thêm một bước mới có tên là Removed Columns. Nếu sau này bạn muốn hoàn tác thao tác này, bạn chỉ cần nhấp vào dấu “X” màu đỏ bên cạnh tên bước này.

Giả sử yêu cầu nghiệp vụ báo cáo chỉ cần giữ lại 5 cột thông tin cốt lõi bao gồm: card_id, client_id, amount, date, và id. Tất cả các cột thông tin phụ phía sau như mcc, merchant_city, merchant_city 2, … đều phải bị loại bỏ. Thay vì phải đi tìm và click xóa từng cột thừa một cách thủ công, chúng ta sẽ giữ những gì cần thiết và xóa phần còn lại.
Giữ phím Ctrl trên bàn phím, sau đó nhấp chuột trái lần lượt vào tiêu đề của 5 cột: card_id, client_id, amount, date và id. Các cột này sẽ được bôi đậm để báo hiệu đang được chọn đồng thời. Nhấp vào mũi tên thả xuống bên cạnh nút Remove Columns trên thanh Ribbon. Lần này, thay vì chọn dòng đầu, hãy nhấp chọn dòng thứ hai: Remove Other Columns (Xóa các cột khác).

Bảng dữ liệu ngay lập tức được rút gọn một cách tối đa, chỉ còn hiển thị đúng 5 cột mà bạn vừa chủ động lựa chọn ở bước trước. Trong khung Query Settings, một bước mới mang tên Removed Other Columns đã được thêm vào cuối danh sách các bước xử lý (APPLIED STEPS), nằm ngay sau bước “Removed Columns” trước đó.remove-column-other-column-5
Khi bạn thực hiện các thao tác click chuột trên giao diện Power Query, hệ thống sẽ tự động chuyển hóa hành động đó thành các dòng mã ngôn ngữ M đứng sau thanh công cụ Formula Bar.
Khi bạn chọn xóa một cột cụ thể, Power Query sẽ gọi hàm Table.RemoveColumns.
Giải thích các thành phần tham số:
Khi bạn chọn giữ lại một số cột và xóa các cột còn lại, Power Query thực chất không sử dụng hàm loại bỏ, mà chuyển hướng sang dùng hàm giữ cột Table.SelectColumns.
Giải thích các thành phần tham số:
Một điểm yếu chết người của hàm Table.SelectColumns là nếu một trong các cột được khai báo bị đổi tên hoặc bị xóa ở nguồn dữ liệu thô (ví dụ: cột client_id bị đổi tên thành customer_id), hệ thống Power Query sẽ lập tức báo lỗi đỏ (Expression.Error) và ngừng làm mới dữ liệu.Để khắc phục rủi ro này, bạn có thể chủ động sửa mã M-code trên Formula Bar bằng cách bổ sung tham số tùy chọn thứ ba: MissingField.UseNull hoặc MissingField.Ignore.
Từ:
= Table.SelectColumns(#"Removed Columns", {"card_id", "client_id", "amount", "date", "id"})
Thành (nên dùng):
= Table.SelectColumns(#"Removed Columns", {"card_id", "client_id", "amount", "date", "id"}, MissingField.UseNull)
Cơ chế hoạt động: Khi thêm MissingField.UseNull, nếu cột client_id bị thiếu ở nguồn cấp, Power Query sẽ không báo lỗi làm sập báo cáo nữa. Thay vào đó, nó sẽ tự động tạo ra một cột tạm thời mang tên client_id chứa toàn bộ giá trị trống (null). Điều này giúp hệ thống báo cáo tự động của bạn luôn vận hành trơn tru và an toàn.
Là một chuyên gia dữ liệu, việc quyết định chọn công cụ nào không chỉ dựa trên sự tiện lợi nhất thời mà còn dựa trên tính bền vững của hệ thống dữ liệu tự động. Dưới đây là bảng so sánh hướng dẫn quyết định nhanh:
| Tiêu chí | Nên chọn “Remove Columns” | Nên chọn “Remove Other Columns” |
| Số lượng cột cần loại bỏ | Ít (chỉ 1 vài cột rác cụ thể). | Rất nhiều (bảng có 50 cột, chỉ lấy 5 cột). |
| Tính an toàn khi nguồn thêm cột mới | Cao, nếu bạn muốn các cột mới xuất hiện trong báo cáo tương lai để cập nhật. | Rất cao, nếu bạn muốn khóa chặt cấu trúc báo cáo, đảm bảo không bị cột lạ làm phình dung lượng. |
| Tốc độ thực hiện thủ công | Nhanh hơn khi bạn chỉ thấy một cột ngứa mắt và muốn click chuột phải xóa ngay. | Nhanh hơn khi bạn chỉ muốn giữ lại một nhóm nhỏ các cột quan trọng. |
| Hàm M-Code tương ứng | Table.RemoveColumns | Table.SelectColumns |
Việc nắm vững cách phối hợp bộ đôi công cụ Remove Columns và Other Columns (Remove Column Other Column) trong Power Query là nền tảng cốt lõi giúp bạn tối ưu hóa hiệu suất mô hình dữ liệu một cách vượt trội. Trong thực tế xử lý hàng ngày, bạn nên ưu tiên chọn Remove Columns khi chỉ cần nhanh chóng dọn dẹp một vài cột rác cụ thể mà không lo ngại đến sự thay đổi cấu trúc của các cột còn lại ở nguồn dữ liệu gốc.
Ngược lại, hãy luôn tin dùng Remove Other Columns đối với các bảng dữ liệu lớn phục vụ cho các mô hình Power BI hoặc Pivot Table chuyên nghiệp nhằm giảm thiểu dung lượng file tải về, đồng thời bảo vệ hệ thống báo cáo một cách triệt để trước rủi ro biến động cấu trúc dữ liệu thô (Schema Drift) từ nguồn cấp.
Đặc biệt, việc chủ động kết hợp thêm tham số tùy chọn MissingField.UseNull trực tiếp vào ngôn ngữ M-code sẽ là chìa khóa vàng giúp bạn xây dựng nên những luồng biến đổi dữ liệu tự động có khả năng tự sửa lỗi cực kỳ mạnh mẽ, đảm bảo báo cáo tự động của doanh nghiệp luôn vận hành ổn định và trơn tru trong mọi tình huống bất ngờ ở nguồn cấp dữ liệu thô. Hy vọng bài viết này của Starttrain đã mang lại cho bạn những kiến thức thực chiến hữu ích để nâng tầm quy trình chuẩn bị dữ liệu hàng ngày của mình.
Nếu thường xuyên làm việc với báo cáo quản trị, khóa học Power BI tại Starttrain sẽ giúp bạn làm chủ DAX, mô hình dữ liệu và trực quan hóa dữ liệu hiệu quả hơn.

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.




