Đị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
Trong quá trình xử lý dữ liệu bằng Power BI, người làm phân tích thường xuyên gặp phải tình trạng dữ liệu gộp ô từ Excel hoặc báo cáo dạng phân cấp bị trống dòng. Để giải quyết triệt để vấn đề này, chức năng Fill trong Power BI là công cụ không thể thiếu. Bài viết này, Starttrain sẽ giúp bạn hiểu rõ bản chất, cách thao tác và vai trò của chức năng Fill trong Power BI qua ví dụ minh họa chi tiết.
Chức năng Fill trong Power BI là công cụ nằm trong giao diện Power Query Editor, cho phép tự động điền giá trị vào các ô bị trống (mang giá trị null) dựa trên giá trị của ô liền kề phía trên hoặc phía dưới.
Chức năng này gồm hai chế độ xử lý chính:
Lưu ý: Chức năng Fill trong Power BI chỉ hoạt động trên các ô chứa giá trị null thực sự. Nếu ô trống chứa chuỗi ký tự rỗng (blank string “”), bạn cần chuyển đổi các ô đó thành null trước khi thực hiện thao tác fill.
Để hiểu rõ hơn về cơ chế vận hành của chức năng Fill trong Power BI, hãy cùng quan sát qua các hình ảnh minh họa thực tế từ giao diện Power Query Editor.
Trong giao diện Power Query Editor, tại cột KPI by App & Division, dữ liệu ban đầu chỉ xuất hiện ở một số dòng đại diện như dòng 6 (Productivity Apps), dòng 22 (Game Apps), dòng 35 (Utility Apps). Tất cả các ô còn lại giữa các nhóm này đều có giá trị null. Để thực hiện fill down, người dùng chọn cột KPI by App & Division, trên thanh Ribbon chuyển sang thẻ Transform, tìm đến nhóm công cụ Any Column, nhấn chọn biểu tượng Fill và chọn menu xổ xuống là Down.

Sau khi chọn Down, thanh công thức hiển thị hàm M: Table.FillDown(#”Changed Type”, {“KPI by App & Division”}). Trong danh sách Applied Steps bên phải xuất hiện bước Filled Down. Quan sát bảng dữ liệu: Toàn bộ ô null từ dòng 6 đến dòng 21 đã được điền tự động bằng chuỗi ký tự Productivity Apps. Tương tự, từ dòng 22 trở đi, giá trị Game Apps đã được điền đầy đủ cho các ô trống phía dưới trước khi gặp phân nhóm tiếp theo.

Khi dữ liệu mẫu nằm ở phía dưới của danh mục và các dòng phía trên bị trống (null), ta cần dùng thao tác fill up. Trên giao diện Power Query Editor, người dùng click chọn cột cần xử lý (KPI by App & Division), chọn thẻ Transform > bấm chọn Fill > chọn Up.

Hệ thống thực thi lệnh với mã M tương ứng là Table.FillUp(#”Changed Type”, {“KPI by App & Division”}). Lịch sử thao tác ghi nhận bước Filled Up. Trên bảng kết quả, giá trị Game Apps tại dòng 22 đã được sao chép ngược lên phía trên để thay thế các ô null từ dòng 14 đến dòng 21. Tương tự, giá trị Utility Apps ở dòng 35 được điền ngược lên cho các ô trống phía trên đến tận dòng 23.

Khi thao tác trên giao diện người dùng của Power Query Editor, mọi hành động click chuột đều được Power BI tự động biên dịch thành ngôn ngữ M (Power Query M Formula Language). Việc hiểu rõ bản chất mã M đằng sau chức năng fill trong power bi sẽ giúp bạn chủ động tùy biến, viết script nâng cao hoặc tối ưu hóa hiệu năng xử lý dữ liệu.
Khi bạn chọn thao tác Fill Down, Power Query sẽ sinh ra hàm Table.FillDown.
Cú pháp chuẩn của hàm: Table.FillDown(table as table, columns as list) as table
Trong đó:
Ví dụ thực tế từ thanh công thức Power Query: = Table.FillDown(#”Changed Type”, {“KPI by App & Division”})
Ở đây, Power BI lấy kết quả của bước #”Changed Type” và áp dụng quy tắc điền xuống đối với cột KPI by App & Division.
Tương tự, khi chọn Fill Up, hệ thống sẽ gọi hàm Table.FillUp.
Cú pháp chuẩn của hàm: Table.FillUp(table as table, columns as list) as table
Ví dụ thực tế: = Table.FillUp(#”Changed Type”, {“KPI by App & Division”})
Điểm ưu việt khi hiểu được mã M đằng sau chức năng Fill trong Power BI là bạn có thể mở rộng danh sách cột cần fill trực tiếp trên thanh công thức mà không cần thực hiện lại nhiều thao tác click chuột.
Ví dụ, nếu bạn muốn fill down đồng thời 3 cột Category, SubCategory và Region, bạn chỉ cần sửa mã M trên thanh công thức thành: = Table.FillDown(#”Changed Type”, {“Category”, “SubCategory”, “Region”})
Cách làm này giúp mã M gọn gàng hơn, giảm bớt số lượng bước (Applied Steps) không cần thiết và tối ưu hóa thời gian tính toán của Power Query.
Chức năng Fill hoạt động dựa trên vị trí tương quan tuyệt đối của các dòng theo chiều dọc từ trên xuống hoặc từ dưới lên. Điều này có nghĩa là thứ tự dòng tại thời điểm thao tác quyết định toàn bộ tính đúng đắn của kết quả.
Power Query được lập trình để chỉ ghi nhận và xử lý trên các ô có giá trị null chuẩn hệ thống. Các định dạng trống khác sẽ bị tính năng Fill bỏ qua hoàn toàn.
Nếu bảng dữ liệu thô chứa nhiều danh mục phân cấp (ví dụ: Cấp 1: Miền -> Cấp 2: Tỉnh/Thành -> Cấp 3: Đại lý), các ô null sẽ xuất hiện đan xen trên nhiều cột khác nhau.
Chức năng Fill trong Power BI là một công cụ đơn giản nhưng cực kỳ mạnh mẽ trong Power Query Editor, đóng vai trò bản đề giúp biến đổi các cấu trúc dữ liệu gộp ô, dữ liệu phân cấp phức tạp thành dạng bảng phẳng chuẩn hóa. Việc nắm vững cơ chế vận hành của Fill, hiểu rõ bản chất mã M đằng sau cũng như áp dụng các lưu ý về làm sạch ô null và kiểm soát thứ tự dòng sẽ giúp nhà phân tích xây dựng mô hình dữ liệu chính xác, tối ưu hiệu năng tính toán và tự động hóa toàn bộ quy trình báo cáo trên Power BI.

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.




