Series Workshop Online - VBA in Excel 06/06/2026

Thực hành thiết lập tự động hóa các thao tác thủ công trong xử lý dữ liệu và lập báo cáo trong Excel

Hàm CALCULATE VÀ CALCULATETABLE trong Power BI DAX

Trong Power BI có một hàm DAX được sử dụng rất phổ biến và giúp cú pháp trở nên ngắn gọn và dễ hiểu – đó chính là Hàm CALCULATE và CALCULATETABLE. Cùng UniTrain đọc qua bài viết dưới đây để biết cách sử dụng hai hàm này nhé.

1/CALCULATE

Miêu tả

Hàm CALCULATE trả về kết quả được tính toán lại từ 1 biểu thức khi kết hợp thêm các bộ lọc.

Mục đích: Tính toán theo nhiều điều kiện hơn so với 1 biểu thức tính ban đầu.

Cú pháp

CALCULATE( <biểu thức tính> [, <bộ lọc>]   [, <bộ lọc>] …)

Có thể viết theo nhiều điều kiện lọc khác nhau, mỗi điều kiện là 1 tham số bộ lọc nối tiếp nhau, ngăn cách bởi dấu phẩy

Tham số

<biểu thức tính> : biểu thức ban đầu mà bạn muốn tính toán lại

<bộ lọc> : điều kiện lọc, điều kiện để tính toán lại biểu thức

Biểu thức được sử dụng làm tham số đầu tiên về cơ bản giống như một số đo.

Bộ lọc có thể là:

– Biểu thức bộ lọc Boolean

– Biểu thức bộ lọc bảng

– Chức năng sửa đổi bộ lọc

Khi có nhiều bộ lọc, chúng có thể được đánh giá bằng cách sử dụng toán tử logic AND (&&) , nghĩa là tất cả các điều kiện phải là TRUE hoặc bằng toán tử logic OR (||), nghĩa là một trong hai điều kiện có thể đúng.

Giá trị trả về

Là kết quả sau khi đã tính toán lại của biểu thức.

Nhận xét

– Khi biểu thức bộ lọc được cung cấp, hàm CALCULATE sửa đổi ngữ cảnh bộ lọc để đánh giá biểu thức. Đối với mỗi biểu thức bộ lọc, có thể có hai kết quả tiêu chuẩn khi biểu thức bộ lọc không được bao bọc trong hàm KEEPFILTERS:

+ Nếu các cột (hoặc bảng) không có trong ngữ cảnh bộ lọc, thì các bộ lọc mới sẽ được thêm vào ngữ cảnh bộ lọc để đánh giá biểu thức.

+ Nếu các cột (hoặc bảng) đã có trong ngữ cảnh bộ lọc, các bộ lọc hiện có sẽ bị bộ lọc mới ghi đè để đánh giá biểu thức CALCULATE.

– Hàm CALCULATE được sử dụng mà không có bộ lọcđạt được một yêu cầu cụ thể, được yêu cầu khi một biểu thức (không phải là thước đo mô hình) tóm tắt dữ liệu mô hình cần được đánh giá trong ngữ cảnh hàng. Tình huống này có thể xảy ra trong một công thức cột được tính toán hoặc khi một biểu thức trong một hàm lặp được đánh giá. Lưu ý rằng khi một thước đo mô hình được sử dụng trong ngữ cảnh hàng, quá trình chuyển đổi ngữ cảnh là tự động.

– Chức năng này không được hỗ trợ để sử dụng trong chế độ DirectQuery khi được sử dụng trong các cột được tính toán hoặc các quy tắc bảo mật cấp hàng (RLS).

Ví dụ

Công thức sau đây tính tổng số tiền bán được trong cột Results của bảng Sales, theo điều kiện là năm ở cột Year là năm 2019

=CALCULATE( SUM(Sales[Results]) , Sales[Year] = 2019)

SUM(Sales[Results]) là tổng các giá trị trong cột Results của bảng Sales

Sales[Year] = 2019 là tính theo điều kiện các giá trị trong cột Year của bảng Sales bằng 2019

(với điều kiện là giá trị Text thì phải đặt trong cặp dấu nháy kép, còn giá trị Number thì viết trực tiếp không cần đặt trong cặp dấu nháy kép)

2/CALCULATEABLE

Miêu tả

Hàm CALCULATETABLE giúp tạo ra 1 bảng tính mới từ 1 bảng tính gốc trong đó đã được lọc theo những tiêu chí nhất định.

Cú pháp

CALCULATETABLE( <bảng> , <bộ lọc 1>  , <bộ lọc 2> …)

Có thể viết theo nhiều điều kiện lọc khác nhau, mỗi điều kiện là 1 tham số bộ lọc nối tiếp nhau, ngăn cách bởi dấu phẩy

Tham số

<bảng> : bảng ban đầu muốn lọc

<bộ lọc> : điều kiện lọc các giá trị trong từng cột

Giá trị trả về

Là bảng tính mới chỉ bao gồm các giá trị thỏa mãn các điều kiện lọc.

Kết quả là dạng bảng, không phải 1 giá trị số. Bảng này có thể dùng kết hợp trong các hàm yêu cầu tham số là dạng Bảng.

Nhận xét

– Khi biểu thức bộ lọc được cung cấp, hàm CALCULATETABLE sửa đổi ngữ cảnh bộ lọc để đánh giá biểu thức. Đối với mỗi biểu thức bộ lọc, có thể có hai kết quả tiêu chuẩn khi biểu thức bộ lọc không được bao bọc trong hàm KEEPFILTERS:

+ Nếu các cột (hoặc bảng) không có trong ngữ cảnh bộ lọc, thì các bộ lọc mới sẽ được thêm vào ngữ cảnh bộ lọc để đánh giá biểu thức.
+ Nếu các cột (hoặc bảng) đã có trong ngữ cảnh bộ lọc, các bộ lọc hiện có sẽ bị bộ lọc mới ghi đè để đánh giá biểu thức CALCULATETABLE.
– Chức năng này không được hỗ trợ để sử dụng trong chế độ DirectQuery khi được sử dụng trong các cột được tính toán hoặc các quy tắc bảo mật cấp hàng (RLS).

Ví dụ

Công thức sau đây tính tổng số tiền bán được trong cột Results của bảng Sales, theo điều kiện là năm ở cột Year là năm 2019

=SUMX( CALCULATETABLE( Sales[Results] , Sales[Year] = 2019)

SUM(Sales[Results]) là tổng các giá trị trong cột Results của bảng Sales

Sales[Year] = 2019 là tính theo điều kiện các giá trị trong cột Year của bảng Sales bằng 2019

(với điều kiện là giá trị Text thì phải đặt trong cặp dấu nháy kép, còn giá trị Number thì viết trực tiếp không cần đặt trong cặp dấu nháy kép)

Xem thêm

Khóa học Power BI Essentials, Advanced Power BI & Revision PL-300

Khám phá Power BI và các mẫu báo cáo

[Free Download] 30 Elegant Table Designs in Microsoft Power BI

Cảm nhận học viên Power BI: Bosch Vietnam

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

1 + 1 = ? (Nhập Haii để trả lời đúng)

Bài viết liên quan
Data Analysis Breakthrough Scholarship 2026

Với mong muốn tạo điều kiện cho các bạn trẻ tiếp cận kiến thức bài bản và phát triển tư duy phân tích dữ liệu thực tiễn, Data Analysis Breakthrough Scholarship 2026 chính

Xem thêm
Ưu đãi tháng 05/2026

Chương trình ưu đãi 05/2026 này mang đến ưu đãi kép cho học viên: Giảm ngay 155.000đ trên mức ưu đãi đóng sớm khi học viên đăng ký bất kỳ khóa học nào trong tháng này.

Xem thêm
So sánh ChatGPT vs Gemini vs Claude 2026: Nên chọn AI tool nào?

Ba cái tên ChatGPT, Gemini và Claude xuất hiện ở khắp nơi khi nói về AI, nhưng không cái nào là “tốt nhất tuyệt đối”. Mỗi tool có điểm mạnh khác

Xem thêm
Claude là gì? Tìm hiểu AI assistant của Anthropic và cách dùng 2026

Nếu bạn đã nghe tên ChatGPT nhưng chưa biết Claude là gì, bạn đang bỏ qua một trong những AI assistant mạnh nhất hiện nay, đặc biệt nếu công việc của

Xem thêm