Sự khác biệt giữa hàm ALL() và hàm ALLSELECTED() khi viết DAX trong Power BI
Xin chào các bạn, hầu như đối với bất kỳ ai khi mới bắt đầu học viết DAX trong Power BI đều luôn cảm thấy khó khăn trong việc phân biệt sự giống và khác nhau cũng như là lựa chọn hàm thích hợp để dùng giữa hai hàm có cấu trúc và chức năng tương tự nhau. Biết được sự khó khăn đó, hôm nay INDA sẽ giúp các bạn phân biệt cũng như hướng dẫn các bạn cách dùng cặp hàm ALL() và hàm ALLSELECTED() khi viết DAX trong Power BI qua một ví dụ cụ thể.
Đầu tiên INDA có một bảng dữ liệu doanh số báng hàng của từng quốc gia như hình bên dưới.
Tiếp theo chúng ta muốn tính tổng doanh số bán hàng bằng cách sử dụng hàm ALL() làm điều kiện lồng bên trong biểu thức CALCULATE()
Cũng với giả định như trên, ta thay hàm ALL() bằng hàm ALLSELECTED() để tính tổng doanh số báng của của các quốc gia.
Ta thấy 2 biểu thức sẽ cho ra kết quả như nhau.
Tuy nhiên, nếu ta tạo thêm một slicer và chỉ chọn một một số quốc gia như: Autralia, Canada, Gernamy, Japan để tính tổng doanh số bán hàng của của các quốc gia bạn sẽ thấy sự khác biệt sẽ nằm ở đây.
Ta thấy hàm ALL() sẽ xóa tất cả các bộ lọc các quốc gia trên slicer, ALLSELECTED() chỉ xóa các bộ lộc bên trong bảng nhưng vẫn áp dụng bộ lọc slicer bên ngoài.
Tóm lại, tóm lại ALL() sẽ dùng để bỏ tất cả các bộ lọc bất kể chúng đến từ đâu, còn hàm ALLSELECTED() chỉ xóa bộ lọc đến từ truy vấn bên trong.