[Power Query Tutorial] Cách sử dụng Count Rows

Trong thế giới phân tích dữ liệu, việc kiểm soát kích thước của tập dữ liệu là một bước vô cùng quan trọng. Một trong những chức năng cơ bản, nhanh chóng và hiệu quả nhất để thực hiện công việc này chính là Count Rows trong Power Query.

Bài viết này, Starttrain sẽ giúp bạn hiểu sâu về bản chất của chức năng này, trường hợp ứng dụng thực tế và từng bước thao tác chi tiết có kèm hình ảnh minh họa thực tế.

Chức năng Count Rows là gì?

Count Rows (Đếm dòng) là một chức năng biến đổi dữ liệu tích hợp sẵn trong Power Query. Khi được kích hoạt, chức năng này sẽ quét toàn bộ bảng dữ liệu hiện tại và trả về một con số duy nhất biểu thị tổng số dòng đang có trong bảng đó.

Nhiều người thường nhầm lẫn việc đếm dòng chỉ để “cho biết”. Tuy nhiên, đối với người làm phân tích dữ liệu, Count Rows đóng vai trò cực kỳ quan trọng trong việc:

  • Kiểm tra tính toàn vẹn của dữ liệu: Đảm bảo số lượng dòng sau khi tải từ nguồn (Database, Excel, Web…) khớp chính xác với số liệu thực tế.
  • Đánh giá hiệu quả của các bước lọc: Giúp bạn biết chính xác có bao nhiêu bản ghi thỏa mãn điều kiện lọc.
  • Xác thực kết quả sau khi gộp bảng: Tránh hiện tượng nhân dòng ngoài ý muốn khi kết nối hai bảng dữ liệu với nhau.

Khi nào nên sử dụng chức năng Count Rows trong Power Query?

Đối chiếu tính toàn vẹn của dữ liệu đầu vào

Ngay sau khi kết nối Power Query với nguồn dữ liệu, việc đầu tiên bạn cần làm là kiểm tra xem toàn bộ dữ liệu đã được load thành công hay chưa.

Nếu hệ thống ERP báo cáo có đúng 30.000 giao dịch phát sinh trong tháng, nhưng khi bạn import vào Power Query và chạy Count Rows chỉ hiển thị 29.500 dòng, bạn sẽ ngay lập tức phát hiện ra lỗi mất mát dữ liệu (có thể do lỗi định dạng dòng, lỗi phân quyền hoặc lỗi đường truyền) để kịp thời xử lý trước khi tiến hành phân tích sâu hơn.

Đánh giá chất lượng dữ liệu sau khi làm sạch

Trong quá trình làm sạch dữ liệu, chúng ta thường xuyên sử dụng các tính năng như Remove Duplicates hoặc Remove Blank Rows.

Bằng cách đếm số dòng trước và sau khi thực hiện thao tác xóa trùng lặp, bạn có thể tính toán chính xác lượng dữ liệu rác đã bị loại bỏ. Ví dụ: trước khi xóa có 10.000 dòng, sau khi xóa còn 9.200 dòng, nghĩa là tệp dữ liệu của bạn có 8% dữ liệu bị trùng lặp. Chỉ số này cực kỳ hữu ích để báo cáo về chất lượng dữ liệu nguồn.

Phân tích mức độ ảnh hưởng của các bộ lọc

Khi bạn áp dụng các điều kiện lọc phức tạp, chức năng đếm dòng sẽ cho bạn câu trả lời nhanh chóng về quy mô của nhóm đối tượng đó.

Thay vì phải tải toàn bộ bảng chi tiết nặng nề vào báo cáo Power BI rồi mới dùng hàm DAX để đếm, bạn có thể dùng Count Rows trực tiếp trong Power Query để kiểm tra nhanh số lượng mẫu xem bộ lọc có quá chặt khiến tập dữ liệu bị trống hay không.

Xác thực các lệnh gộp bảng và kết nối

Đây là giai đoạn cực kỳ dễ xảy ra lỗi phình to dữ liệu, đặc biệt là đối với những người mới làm quen với Power Query. Khi bạn gộp hai bảng theo các trường khóa không phải là duy nhất (Many-to-Many), hiện tượng nhân dòng chéo sẽ xảy ra, khiến số lượng dòng tăng lên ngoài tầm kiểm soát.

Bằng cách thực hiện Count Rows ngay sau bước Merge, bạn có thể đối chiếu chéo số dòng mới với số dòng của bảng gốc ban đầu. Nếu số dòng tăng đột biến một cách bất thường, bạn sẽ biết ngay thiết lập mối quan hệ giữa các bảng đang bị sai và cần phải hiệu chỉnh lại trường khóa liên kết.

Tạo giá trị làm tham số điều kiện

Đôi khi bạn cần chuyển đổi một bảng dữ liệu chi tiết thành một giá trị đơn lẻ để làm đầu vào cho các logic xử lý tự động của hệ thống.

Bạn có thể thiết lập một quy trình tự động hóa: Nếu kết quả của bước Count Rows lớn hơn 0, hệ thống mới tiếp tục thực hiện các bước biến đổi tiếp theo hoặc tải dữ liệu vào Data Model; ngược lại, nếu bảng rỗng (0 dòng), hệ thống sẽ dừng lại hoặc trả về cảnh báo. Điều này giúp tối ưu hóa tài nguyên máy tính và ngăn chặn các báo cáo rỗng được xuất bản.

Minh họa thao tác chức năng Count Rows

Thông thường, khi mở một bảng dữ liệu trong Power Query, bạn sẽ muốn biết ngay bảng đó có bao nhiêu dòng. 

Trong ảnh minh họa, chúng ta đang xem bảng dữ liệu chi tiết có tên là FactTransactions. Khi nhìn xuống góc dưới cùng bên trái của màn hình Power Query, bạn sẽ thấy dòng trạng thái ghi: 18 COLUMNS, 999+ ROWS (18 cột và hơn 999 dòng).

Count Rows trong Power Query

Để tối ưu hóa hiệu suất tải dữ liệu và tiết kiệm bộ nhớ RAM, Power Query mặc định chỉ tải trước một phần dữ liệu mẫu (thông thường là 1000 dòng đầu tiên) để hiển thị lên màn hình cho bạn thao tác. Do đó, nếu tệp dữ liệu của bạn có hàng nghìn, hàng chục nghìn dòng, bạn không thể xem được chính xác tổng số dòng ở góc trái phía dưới này vì nó sẽ luôn dừng lại ở con số 999+ ROWS. Để biết con số thực tế, chúng ta buộc phải sử dụng công cụ đếm chuyên dụng.

Bạn di chuyển chuột lên thanh công cụ Ribbon ở phía trên, chọn tab Transform. Tiếp theo, bạn nhìn vào nhóm chức năng đầu tiên ở bên trái có tên là Table và nhấp chuột trái vào nút Count Rows (nút có biểu tượng danh sách nằm trong viền nét đứt). Hành động này sẽ yêu cầu Power Query quét qua toàn bộ dữ liệu thực tế từ nguồn để tiến hành đếm.

Count Rows trong Power Query

Sau khi bạn nhấp nút Count Rows, hệ thống sẽ xử lý và ngay lập tức thay đổi giao diện để hiển thị kết quả chính xác:

Toàn bộ các cột dữ liệu chi tiết của bảng FactTransactions trước đó đã được thu gọn lại thành một kết quả dạng số duy nhất nằm ở giữa màn hình là 30000. Con số này chính là tổng số lượng dòng thực tế mà bảng dữ liệu của bạn đang sở hữu.

Lúc này, trên giao diện của bạn sẽ có 2 thay đổi quan trọng:

  • Thanh công thức (Formula Bar): Tự động xuất hiện đoạn code M đại diện cho chức năng này là = Table.RowCount(#”Changed Type”).
  • Ngăn Applied Steps: Một bước mới có tên Counted Rows được ghi nhận lại vào lịch sử biến đổi dữ liệu.

Mã M-Code đằng sau chức năng Count Rows

Khi bạn nhấn nút Count Rows trên thanh công cụ, Power Query sẽ tự động biên dịch hành động của bạn thành một câu lệnh ngôn ngữ M. Việc hiểu rõ đoạn mã này hoạt động như thế nào giúp bạn linh hoạt hơn khi viết code tay trong Advanced Editor.

Hàm ngôn ngữ M đứng sau chức năng này là: Table.RowCount(table as table) as number

  • Tham số truyền vào (table): Là bảng dữ liệu mà bạn muốn đếm dòng.
  • Kết quả trả về (number): Trả về một giá trị số nguyên duy nhất đại diện cho tổng số bản ghi trong bảng đó.

Quay lại ví dụ thực tế ở trên, bạn có thể thấy công thức được sinh ra là: = Table.RowCount(#”Changed Type”)

Trong công thức này, #”Changed Type” chính là tên của bước ngay trước đó trong ngăn Applied Steps. Power Query lấy dữ liệu đầu ra của bước định dạng kiểu dữ liệu này để làm đầu vào cho hàm đếm dòng.

Thông thường, khi bấm nút Count Rows từ giao diện thanh công cụ Ribbon, bảng dữ liệu chi tiết của bạn sẽ hoàn toàn biến mất và biến thành một con số duy nhất. Điều này khiến bạn không thể xử lý tiếp các bước khác trên bảng gốc được nữa (trừ phi bạn xóa bước đếm này đi).

Tuy nhiên, nếu bạn tự viết mã M-Code bằng tay, bạn có thể giải quyết được rất nhiều bài toán logic nâng cao mà không làm hỏng cấu trúc bảng:

  • Ứng dụng đếm số dòng của các bảng con (Nested Tables): Khi bạn gom nhóm dữ liệu bằng chức năng Group By và giữ lại dữ liệu gốc của từng nhóm dưới dạng bảng con, bạn có thể tạo một cột tùy chỉnh (Add Custom Column) và viết công thức = Table.RowCount([Tên_Cột_Bảng_Con]). Việc này giúp bạn tính toán nhanh số lượng bản ghi của từng nhóm nhỏ trực tiếp trong bảng lớn mà không cần phá vỡ cấu trúc dòng.
  • Thiết lập điều kiện rẽ nhánh (Conditional Logic): Bạn có thể viết các điều kiện kiểm tra trong Advanced Editor để đưa ra quyết định xử lý. Ví dụ: if Table.RowCount(Source) > 1000 then “Dữ liệu lớn” else “Dữ liệu nhỏ” Hoặc kiểm tra xem bảng dữ liệu import vào có bị rỗng (0 dòng) hay không để thiết lập cảnh báo tự động.

Tổng kết

Chức năng Count Rows trong Power Query là một công cụ đơn giản nhưng đóng vai trò vô cùng thiết yếu trong việc kiểm soát, chuẩn hóa và bảo đảm tính toàn vẹn của dữ liệu trước khi nạp vào Power BI hay Excel. Qua bài viết này, bạn không chỉ nắm vững cách thao tác trực quan bằng giao diện để giải quyết giới hạn hiển thị mặc định 999+ ROWS, mà còn hiểu sâu sắc về bản chất ngôn ngữ M đằng sau chức năng này.

Nếu bạn muốn nâng cao kỹ năng phân tích và trực quan hóa dữ liệu chuyên nghiệp, khóa học Power BI – Business Intelligence Essentials tại Starttrain sẽ giúp bạn xây dựng dashboard, xử lý dữ liệu với Power Query, sử dụng DAX và tạo các báo cáo trực quan phục vụ công việc thực tế. Chương trình được thiết kế theo lộ trình từ cơ bản đến nâng cao, kết hợp nhiều bài tập thực hành với dữ liệu doanh nghiệp, giúp học viên có thể áp dụng ngay sau khi hoàn thành khóa học.

Danh sách bài giảng

Power Query trong Power BI
406
▶

[Power BI Tutorial 2] Cách dùng Power Query trong Power...

Starttrain Official

Index Column
217
▶

[Power Query Tutorial] Cách dùng chức năng Index Column

Starttrain Official

Cách dùng chức năng Pivot Column
214
▶

[Power Query Tutorial] Cách dùng chức năng Pivot Column

Starttrain Official

Unpivot Column
197
▶

[Power Query Tutorial] Cách dùng chức năng Unpivot Column

Starttrain Official

Duration
190
▶

[Power Query Tutorial] Cách dùng Duration trong Power BI

Starttrain Official

Promoted - Demoted Headers
247
▶

[Power Query Tutorial] Cách dùng Promoted – Demoted Headers

Starttrain Official

Cách dùng R-Python Script trong Power BI
186
▶

[Power Query Tutorial] Cách dùng R Script và Python Script

Starttrain Official

Scientific
156
▶

[Power Query Tutorial] Cách dùng Scientific trong Power BI

Starttrain Official

Standard
197
▶

[Power Query Tutorial] Cách dùng Standard trong Power BI

Starttrain Official

Statistics
212
▶

[Power Query Tutorial] Cách dùng Statistics trong Power BI

Starttrain Official

Form - đọc sách
Form - Single Report Template

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.

Form Dashboard service