Hàm ALL() trong ngôn ngữ DAX (Data Analysis Expressions) là một công cụ quan trọng và mạnh mẽ trong việc xử lý dữ liệu và tính toán trong Power BI. Hàm này cho phép ta kiểm tra xem tất cả các giá trị trong một tập hợp (hoặc biểu thức) có thỏa mãn một điều kiện cụ thể hay không. Với khả năng linh hoạt và đa dạng, hàm ALL() giúp ta thực hiện các tính toán và phân tích dữ liệu phức tạp dễ dàng hơn.

Trong bài viết này, KPIM sẽ tìm hiểu chi tiết về hàm ALL() trong DAX, bao gồm cú pháp, cách sử dụng và các ví dụ minh họa.

Hàm ALL(), xoá mọi bộ lọc đang hoạt động

				
					ALL([<table> | <column>[, <column>[, <column>[,…]]]] )
				
			
  • Kết quả: trả về bảng hoặc cột có bộ lọc bị xóa.
  • Tham số của ALL() không được là một biểu thức bảng. Nó cần phải là một tên bảng hoặc một danh sách các tên cột.
  • Sử dụng ALL() với một cột sẽ tạo ra danh sách các giá trị riêng biệt của cột đó.
  • Chúng ta cũng có thể chỉ định nhiều cột từ cùng một bảng trong các tham số của hàm ALL(). Bằng cách đó, ALL() trả về kết hợp giá trị hiện có trong những cột đó.

Nhận xét về hàm ALL()

  • Tính linh hoạt: Hàm ALL() cho phép ta áp dụng điều kiện loại bỏ (filter) lên các cột, bảng hoặc biểu thức khác trong DAX. Điều này giúp ta tạo ra các tính toán dựa trên tập hợp dữ liệu có phạm vi quyết định được xác định rõ ràng.
  • Tác động lên bảng và cột: Hàm ALL() có thể áp dụng lên một cột để loại bỏ bất kỳ bộ lọc nào đang được áp dụng trên cột đó. Nó cũng có thể áp dụng lên một bảng để loại bỏ tất cả các bộ lọc hiện có trên bảng đó. Điều này rất hữu ích khi ta muốn tính toán các giá trị không bị hạn chế bởi bộ lọc hiện tại.
  • Sử dụng trong các biểu thức tính toán: Hàm ALL() thường được sử dụng trong các biểu thức tính toán phức tạp, như khi ta muốn tính toán tỷ lệ, phần trăm, hay so sánh giữa các giá trị với tất cả các giá trị khác trong một tập hợp. Nó giúp ta tạo ra các biểu đồ, bảng điều khiển và báo cáo có tính tương tác cao.
  • Tham số tùy chọn: Hàm ALL() cũng hỗ trợ các tham số tùy chọn như ALL(Table), ALL(Column1, Column2, …), ALLExcept(Table, Column1, Column2, …) để tùy chỉnh phạm vi ảnh hưởng của hàm. Chúng ta có thể xác định rõ ràng các bảng và cột mà ta muốn loại bỏ khỏi bộ lọc.
  • Phân tích dữ liệu nâng cao: Sử dụng hàm ALL() kết hợp với các hàm và biểu thức khác trong DAX, ta có thể thực hiện phân tích dữ liệu phức tạp hơn, bao gồm tính toán tổng quát, so sánh với giá trị trung bình, định vị phần tử, hay xác định các mức độ tương quan giữa các biến số.

Một số ví dụ về hàm ALL()

Sử dụng hàm ALL() để xóa bỏ điều kiện của cột Lợi nhuận:

				
					ALL Lợi nhuận = CALCULATE([Lợi nhuận], ALL(Claim[Sản phẩm]))
				
			
Một số ví dụ về hàm ALL

Một số ví dụ về hàm ALL()

Mình sử dụng luôn trường ALL lợi nhuận để tính % của TV dựa trên tổng số lợi nhuận thu được:

				
					% lợi nhuận = divide([Lợi nhuận],[ALL lợi nhuận],0)
				
			

Hay:

				
					% lợi nhuận = divide([Lợi nhuận],CALCULATE([Lợi nhuận], all(Claim[Sản phẩm])),0)
				
			
Sử dụng trường ALL lợi nhuận
Sử dụng trường ALL lợi nhuận

Ứng dụng phổ biến của hàm ALL()

Hàm ALL() trong DAX có nhiều ứng dụng hữu ích trong việc phân tích dữ liệu và tính toán trong Power BI và các công cụ Microsoft khác. Dưới đây là một số ứng dụng phổ biến của hàm ALL():

Xóa bộ lọc

Hàm ALL() có thể được sử dụng để xóa bỏ tất cả các bộ lọc đang được áp dụng trên một cột hoặc bảng. Điều này giúp ta tính toán các giá trị mà không bị ràng buộc bởi các bộ lọc hiện tại, cho phép ta thực hiện phân tích toàn diện trên dữ liệu.

Tính toán tỷ lệ và phần trăm

Bằng cách sử dụng hàm ALL() kết hợp với các hàm tổng hợp khác như SUM(), ta có thể tính toán tỷ lệ, phần trăm hoặc phân phối của các giá trị so với tổng của một tập hợp dữ liệu. Điều này hữu ích trong việc phân tích mức độ đóng góp, thị phần, hay phân bổ tài nguyên.

So sánh với giá trị trung bình

Hàm ALL() có thể được sử dụng để so sánh các giá trị với giá trị trung bình của một tập hợp dữ liệu. Ta có thể tính toán độ chênh lệch, phần trăm khác biệt hoặc các chỉ số so sánh khác để đánh giá sự khác biệt và xu hướng.

Xác định các mức độ tương quan

Hàm ALL() có thể được sử dụng để xác định các mức độ tương quan giữa các biến số. Ta có thể tính toán chỉ số tương quan, hệ số tương quan hoặc sử dụng các hàm thống kê khác để phân tích mối quan hệ giữa các yếu tố trong dữ liệu.

Lọc dữ liệu trong biểu đồ và bảng điều khiển

Hàm ALL() có thể được sử dụng để lọc dữ liệu trong các biểu đồ và bảng điều khiển trong Power BI. Ta có thể xác định các mức lọc cụ thể để hiển thị chỉ một phần dữ liệu hoặc ẩn các mức lọc đã được áp dụng trên một cột hoặc bảng.

Xử lý các yêu cầu đặc biệt

Hàm ALL() cung cấp khả năng linh hoạt để xử lý các yêu cầu đặc biệt và phức tạp trong việc tính toán và phân tích dữ liệu. Ta có thể kết hợp nó với các hàm khác và sử dụng các tham số tùy chọn để đáp ứng các yêu cầu cụ thể của dự án hoặc phân tích.

Kết luận

Trong bài viết này, KPIM đã tìm hiểu về hàm ALL() trong ngôn ngữ DAX và các ứng dụng của nó trong việc phân tích dữ liệu và tính toán trong Power BI và các công cụ Microsoft khác. Hàm ALL() cho phép chúng ta xóa bỏ các bộ lọc, tính toán tỷ lệ và phần trăm, so sánh với giá trị trung bình, xác định các mức độ tương quan và xử lý các yêu cầu đặc biệt.

Với tính linh hoạt và khả năng tương tác cao, hàm ALL() là một công cụ quan trọng trong việc thực hiện phân tích dữ liệu và đưa ra các quyết định dựa trên dữ liệu. Bằng cách hiểu và sử dụng hàm này một cách hiệu quả, ta có thể nâng cao khả năng phân tích và xử lý dữ liệu trong công việc của mình.

Đọc thêm: ALL function (DAX) - Microsoft Learn (Tiếng Anh)