Đị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: 8:00 - 17: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: 8:00 - 17:00
Khi làm việc với Power BI, việc xử lý hàng triệu dòng dữ liệu là điều không thể tránh khỏi. Để biến khối dữ liệu khổng lồ đó thành thông tin chi tiết, bạn cần một công cụ mạnh mẽ để thu hẹp phạm vi và tập trung vào những gì quan trọng. Công cụ đó chính là hàm Filters trong Power BI.
Trong bài viết này, Starttrain sẽ chia sẻ từ A đến Z về bộ lọc trong Power BI, từ định nghĩa, các loại khác nhau, cách áp dụng cho đến các lỗi thường gặp.
Hàm Filters trong Power BI là một tính năng cốt lõi cho phép người dùng thu hẹp tập hợp dữ liệu được hiển thị trên các báo cáo và Dashboard. Thay vì hiển thị toàn bộ dữ liệu thô đã được tải vào mô hình, Filter giúp bạn chỉ hiển thị các lát cắt (slice) dữ liệu dựa trên các điều kiện cụ thể (ví dụ: chỉ xem doanh số bán hàng ở khu vực Miền Nam hoặc chỉ xem dữ liệu trong quý gần nhất).
Filter hoạt động khác biệt so với Slicer, mặc dù cả hai đều là công cụ lọc. Slicer là một thành phần trực quan được đặt ngay trên báo cáo để người dùng tương tác, trong khi Filter là một ngăn (pane) điều khiển nằm ẩn hoặc hiện ở bên lề, cho phép thiết lập các quy tắc lọc ở nhiều cấp độ.

Để đạt được sự kiểm soát tối đa, chúng ta cần phân loại bộ lọc trong Power BI theo hai khía cạnh chính: phạm vi ảnh hưởng (Scope) và cách thức tạo (Creation Type). Việc hiểu rõ các loại này là rất quan trọng để xây dựng báo cáo chính xác và hiệu quả.
Phân loại này xác định nơi bộ lọc được áp dụng, từ một biểu đồ đơn lẻ đến toàn bộ báo cáo.
Bộ lọc này có phạm vi hẹp nhất, chỉ tác động đến một biểu đồ (Visual) duy nhất trên một trang báo cáo. Chúng được sử dụng khi bạn muốn một biểu đồ cụ thể hiển thị dữ liệu đã được tinh chỉnh, độc lập với các biểu đồ khác trên cùng trang.
Bộ lọc này áp dụng cho tất cả các Visual và Slicer nằm trên một trang báo cáo. Page-level Filters giúp tạo ra các trang phân tích chuyên sâu, tập trung vào một lát cắt dữ liệu (ví dụ: một trang chỉ dành riêng cho “Phân tích Quý 4”).
Đây là bộ lọc có phạm vi rộng nhất, tác động đến tất cả các trang trong toàn bộ báo cáo Power BI. Chúng thường dùng để áp dụng các điều kiện lọc cố định, quan trọng nhất, đảm bảo tính nhất quán dữ liệu xuyên suốt báo cáo (ví dụ: chỉ hiển thị dữ liệu sau ngày 01/01/2020).

Các bộ lọc này được phân loại dựa trên cách chúng được tạo ra (tự động hay thủ công) và chức năng đặc biệt mà chúng mang lại:
Đây là các bộ lọc được hệ thống tự động thêm vào ngăn bộ lọc ở cấp độ Visual ngay khi bạn kéo một trường dữ liệu vào Visual. Bộ lọc tự động là nền tảng của các biểu đồ và người dùng có quyền chỉnh sửa có thể thay đổi giá trị, ẩn, khóa hoặc sắp xếp chúng, nhưng không thể xóa vì Visual cần các trường đó để hiển thị.
Là các bộ lọc mà người dùng (tác giả báo cáo) tự kéo và thả vào bất kỳ cấp độ nào (Visual, Page, hoặc Report). Bộ lọc thủ công cho phép tác giả báo cáo thiết lập các quy tắc lọc độc lập, mang lại sự linh hoạt cao nhất. Nếu có quyền chỉnh sửa, bạn có thể chỉnh sửa, xóa, ẩn, khóa hoặc sắp xếp bộ lọc này.
Các bộ lọc này được tự động thêm vào ngăn bộ lọc khi người dùng sử dụng chức năng Include (Bao gồm) hoặc Exclude (Loại trừ) bằng cách nhấp chuột phải vào một điểm dữ liệu trong Visual. Chúng được liên kết với hành vi tương tác Visual và không thể chỉnh sửa hoặc xóa trực tiếp giá trị.

Đây là các bộ lọc tự động xuất hiện khi người dùng sử dụng tính năng Drill-down trên một Visual. Chúng cho phép người dùng khám phá chi tiết dữ liệu ở cấp độ sâu hơn. Để loại bỏ bộ lọc này, người dùng chỉ cần chọn nút Drill-up trên Visual.
Là một biến thể, xuất hiện khi một bộ lọc Drill-down được truyền sang các Visual khác trên cùng trang báo cáo thông qua cơ chế lọc chéo (Cross-filter). Bạn không thể chỉnh sửa hay xóa bộ lọc này trực tiếp, mà phải loại bỏ bộ lọc gốc bằng cách Drill-up trên Visual đã truyền lọc.
Đây là các bộ lọc được truyền từ một trang báo cáo nguồn sang một trang chi tiết đích (Drillthrough page). Chúng xuất hiện trong ngăn Drillthrough và cho phép người dùng xem dữ liệu chi tiết trong ngữ cảnh đã chọn. Có hai loại: loại Invoking (kích hoạt chuyển trang) và loại Transient (truyền qua), đều có thể được chỉnh sửa hoặc xóa bởi tác giả báo cáo.
Là bộ lọc được thêm vào thông qua tham số truy vấn trong URL của báo cáo. Chúng cho phép người dùng hoặc hệ thống bên ngoài tùy chỉnh chế độ xem báo cáo mà không cần truy cập vào Power BI Desktop. Bộ lọc này có tính chất tạm thời và được loại bỏ bằng cách xóa tham số khỏi URL.
Đây là các bộ lọc cấp độ Visual được tạo ra thông qua tính năng Hỏi & Đáp (Q&A) của Power BI. Người dùng có quyền chỉnh sửa có thể ẩn, xóa hoặc sắp xếp chúng, nhưng không thể chỉnh sửa nội dung, xóa bỏ hoặc khóa chúng.
Ngoài các bộ lọc trên giao diện (Filter Pane), trong ngôn ngữ DAX (Data Analysis Expressions), chúng ta thường gặp hai hàm có tên rất giống nhau là FILTER và FILTERS. Tuy nhiên, chức năng của chúng hoàn toàn khác biệt.

Hàm FILTER được hiểu là một hàm lặp (Iterator), có chức năng quét qua từng dòng của một bảng dữ liệu để kiểm tra điều kiện logic mà người dùng thiết lập. Kết quả mà hàm này trả về là một bảng (table) bao gồm các dòng thỏa mãn điều kiện lọc.
Do tính chất lặp lại từng dòng, hàm FILTER thường tiêu tốn nhiều tài nguyên hệ thống hơn so với các hàm lọc thông thường nếu áp dụng trên bảng dữ liệu lớn. Bạn sẽ thường xuyên thấy hàm này được lồng bên trong hàm CALCULATE để thực hiện các phép tính phức tạp, ví dụ như tính tổng doanh thu cho riêng các đơn hàng có giá trị trên 1000 USD hoặc các sản phẩm thuộc một nhóm cụ thể mà các hàm logic đơn giản không thể xử lý hết.
Ngược lại với hàm lặp trên, hàm FILTERS (số nhiều) không thực hiện việc quét dữ liệu hay lọc ra một tập con mới từ bảng dữ liệu gốc. Chức năng chính của nó là một hàm giá trị (Value function) có nhiệm vụ truy xuất tất cả các giá trị đang được áp dụng trực tiếp làm bộ lọc cho một cột cụ thể.
Khi người dùng tương tác với Slicer hoặc Filter Pane trên báo cáo, hàm FILTERS sẽ trả về một bảng gồm một cột duy nhất chứa các giá trị đang bị lọc trong ngữ cảnh đó. Hàm này cực kỳ hữu ích khi bạn cần kiểm tra xem người dùng cuối đang chọn những mục nào để thực hiện các logic hiển thị tiêu đề động hoặc kiểm soát chặt chẽ các lựa chọn trong công thức.
Điểm khác biệt cốt lõi nằm ở cách thức vận hành và đối tượng tác động. Hàm FILTER yêu cầu đầu vào là một bảng và một biểu thức điều kiện để “tạo ra” một tập dữ liệu con, trong khi hàm FILTERS chỉ yêu cầu đầu vào là tên một cột để “đọc” các giá trị lọc hiện hành.
Tóm lại, bạn sử dụng FILTER khi muốn can thiệp vào mô hình dữ liệu để lấy ra một lát cắt cụ thể phục vụ tính toán, và sử dụng FILTERS khi muốn phản hồi lại những tương tác lọc của người dùng trên giao diện báo cáo. Việc nắm vững sự khác biệt giữa “hành động lọc” (FILTER) và “lấy giá trị đang được lọc” (FILTERS) là chìa khóa để viết các công thức DAX chính xác và tối ưu.
Việc sử dụng Filter không chỉ là một thao tác cơ bản mà còn mang lại nhiều lợi ích chiến lược trong phân tích dữ liệu:
Tìm hiểu thêm: Khoá học Power BI giúp học viên nâng cao phân tích kinh doanh và trực quan hoá dữ liệu
Việc áp dụng hàm Filters trong Power BI Desktop được thực hiện thông qua ngăn Filters (Bộ lọc), cho phép kiểm soát dữ liệu hiển thị theo ba cấp độ khác nhau.
Bộ lọc này chỉ tác động lên một Visual duy nhất.
Bước 1: Chọn Visual và hiển thị vùng lọc chọn Visual (ví dụ: biểu đồ tròn, bảng) bạn muốn áp dụng bộ lọc. Ngay lập tức, khu vực “Filters on this visual” (Bộ lọc trên Visual này) sẽ xuất hiện trong ngăn Filters ở bên phải màn hình, báo hiệu bạn có thể áp dụng các bộ lọc cụ thể cho Visual này.
Bước 2: Kéo và thả trường dữ liệu mong muốn từ ngăn Fields vào khu vực Filters on this visual.
Bước 3: Lúc này Visual sẽ tự động cập nhật. Bạn có thể tinh chỉnh các tùy chọn lọc để kiểm soát dữ liệu chính xác hơn.

Bộ lọc này tác động lên tất cả các Visual trên một trang duy nhất.
Bước 1: Tạo và điền dữ liệu cho ít nhất hai Visual trên trang.
Bước 2: Kéo và thả trường dữ liệu mong muốn vào khu vực Filters on this page.
Bước 3: Chọn các giá trị cụ thể mà bạn muốn lọc cho tất cả các Visual trên trang. Tất cả các Visual trên trang sẽ được cập nhật đồng loạt.

Bộ lọc này ảnh hưởng đến tất cả các Visual trên tất cả các trang trong toàn bộ báo cáo.
Bước 1: Đảm bảo báo cáo của bạn có ít nhất hai trang.
Bước 2: Kéo trường dữ liệu mong muốn vào khu vực Filters on all Pages.
Bước 3: Chọn các giá trị cụ thể. Bộ lọc này sẽ được áp dụng cho toàn bộ báo cáo, đồng nhất dữ liệu trên tất cả các trang.

Sau khi thêm trường dữ liệu vào bất kỳ cấp độ nào, bạn có thể chọn một trong ba kiểu lọc chính để tinh chỉnh điều kiện:

Vấn đề phổ biến nhất là sự mâu thuẫn giữa các bộ lọc ở các cấp độ khác nhau. Khi thiết lập các bộ lọc xung đột, báo cáo có thể không hiển thị đúng hoặc hoàn toàn không hiển thị dữ liệu.
Cần nhớ rằng Report-level Filters luôn có độ ưu tiên cao nhất, sau đó đến Page-level và cuối cùng là Visual-level. Để khắc phục, người dùng phải luôn kiểm tra ngăn Filters ở cả ba cấp độ để đảm bảo không có điều kiện mâu thuẫn nào đang được áp dụng.
Việc sử dụng các điều kiện lọc nâng cao như starts with, contains hoặc lọc Top N trên các cột văn bản có độ đa dạng cao (high cardinality) trong các tập dữ liệu lớn có thể làm giảm đáng kể hiệu suất tải báo cáo.
Để cải thiện tình trạng này, người dùng nên cân nhắc áp dụng các bộ lọc phức tạp, cố định ngay từ bước tiền xử lý dữ liệu thông qua Power Query Editor. Ngoài ra, việc sử dụng các cột đã được tối ưu hóa (như cột số hoặc ngày tháng) để lọc thường hiệu quả hơn so với các cột văn bản.
Một rắc rối khác khi sử dụng hàm Filters trong Power BI là việc đảm bảo các bộ lọc mà tác giả báo cáo đã đặt được lưu giữ khi người xem truy cập lại. Nhiều người dùng không biết cách lưu trạng thái bộ lọc mặc định này.
Để giải quyết, đối với các bộ lọc cần được duy trì, tác giả nên sử dụng tính năng Persistence Filters khi thiết lập và xuất bản báo cáo lên Power BI Service.
Hàm Filters trong Power BI là công cụ không thể thiếu giúp bạn biến dữ liệu thô thành câu chuyện kinh doanh rõ ràng và có giá trị. Bằng việc nắm vững các loại bộ lọc theo cấp độ (Visual, Page, Report) và theo hành vi (Automatic, Manual, Drillthrough), bạn đã có trong tay công cụ mạnh mẽ để kiểm soát dữ liệu trong Power BI.
Từ việc tối ưu hóa hiệu suất truy vấn, đảm bảo tính chính xác của dữ liệu, đến việc xử lý các vấn đề phổ biến như xung đột Filter Context và giảm thiểu hiệu suất do lọc nâng cao, kiến thức này sẽ giúp bạn xây dựng những báo cáo không chỉ đẹp mắt mà còn thông minh và hiệu quả.