Hồi thứ hai – Lưới Lọc Kim Cang (FILTER)
Bốn thầy trò rời thôn Hợp Càn Khôn, đi mãi tới một vùng núi đá hiểm trở. Đường nhỏ ngoằn ngoèo, cây rừng um tùm, sương mù che lối. Giữa sườn núi, họ bắt gặp một thôn làng nhỏ, lối vào bị chặn bởi một tấm lưới vàng khổng lồ, sáng lấp lánh dưới ánh mặt trời.
Trên cổng làng treo tấm biển: “Lưới Lọc Kim Cang – Không lọt một hạt cát”.
Thử thách của trưởng làng
Một ông lão gầy gò, mắt sáng tinh anh, bước ra:
“Chúng tôi có bảng dữ liệu lớn lắm, nhưng không phải lúc nào cũng cần xem tất cả. Có khi chỉ cần xem những dòng đáp ứng điều kiện nhất định. Các vị có thể giúp chúng tôi lọc dữ liệu như ý không?”
Ngộ Không vung gậy Như Ý:
“Chuyện nhỏ! Lọc thì quất AutoFilter trong Excel là xong.”
Đường Tăng mỉm cười:
“Ngộ Không, ở đây chúng ta cần học phép Lưới Lọc Kim Cang – trong DAX gọi là FILTER – để tạo ra bảng dữ liệu mới dựa trên điều kiện.”
Pháp bảo Lưới Lọc Kim Cang
Đường Tăng giơ ra tấm lưới vàng, dệt bằng những sợi sáng lấp lánh:
“Phép này cho phép giữ lại những dòng dữ liệu thỏa mãn điều kiện mà ta đặt ra. Cú pháp như sau:”
FILTER(
TênBảng,
Biểu_thức_điều_kiện
)
Ví dụ với bảng 'ThuHoach', nếu muốn lọc các dòng có Năm = 2021:
FILTER(
'ThuHoach',
'ThuHoach'[Năm] = 2021
)
Liên hệ với Excel
Đường Tăng quay sang giải thích:
“Trong Excel, các ngươi có thể dùng AutoFilter để lọc Năm = 2021, hoặc dùng hàm FILTER như sau:
=FILTER(A2:C7, B2:B7=2021)
DAX FILTER giống như vậy, nhưng trả về một bảng ảo để các phép tính khác sử dụng.”
Bảng dữ liệu mẫu
| Năm | Sản Phẩm | Số Lượng (tạ) |
|---|---|---|
| 2021 | Lúa | 120 |
| 2021 | Ngô | 80 |
| 2021 | Khoai | 60 |
| 2022 | Lúa | 150 |
| 2022 | Ngô | 100 |
| 2022 | Khoai | 90 |
Kết hợp FILTER với SUM
Ngộ Không nhíu mày:
“Nếu lọc xong mà muốn cộng luôn thì sao?”
Đường Tăng đáp:
CALCULATE(
SUM('ThuHoach'[SoLuong]),
'ThuHoach'[Năm] = 2021
)
“CALCULATE là pháp bảo thay đổi bối cảnh lọc để tính toán. Nó sẽ dùng điều kiện như một FILTER ngầm định. Vì vậy nhiều khi không cần gọi FILTER tường minh.”
Excel vs DAX
- Excel AutoFilter: Lọc dữ liệu hiển thị trên màn hình, các công thức chỉ tính phần còn lại.
- Excel FILTER(): Trả về mảng dữ liệu mới thỏa điều kiện.
- DAX FILTER(): Trả về bảng ảo, dùng trong các phép tính khác (như
CALCULATE,SUMX).
Bài học tại thôn Lưới Lọc Kim Cang
Ngộ Không dùng Lưới Lọc Kim Cang quét qua bảng dữ liệu, chỉ giữ lại dòng của năm 2021. Bát Giới reo lên:
“Hay thật! Giờ thì khỏi phải kéo chuột tìm từng dòng.”
Sa Tăng gật gù:
“Nhưng nhớ rằng FILTER luôn trả về bảng, nên phải kết hợp với hàm khác nếu muốn ra con số.”
Rời khỏi thôn, bốn thầy trò tiếp tục hành trình. Phía trước, một ngọn núi cao sừng sững đang chặn đường – nơi cất giữ Phá Giới Châu (ALL), pháp bảo xóa bỏ mọi giới hạn lọc.
