Trong Power BI có một hàm tương tự với CALCULATE đó chính là hàm CALCULATETABLE. Tuy nhiên công thức và giá trị trả về khác nhau. Mời bạn tham khảo qua bài viết sau đây.
1/ Mô tả
Hàm CALCULATETABLE sẽ tạo ra một bảng mới dựa trên các giá trị của bảng gốc thỏa những điều kiện đã đưa ra.
2/ Cú pháp hàm CALCULATETABLE
CALCULATETABLE ( <Table> [, <Filter> [, <Filter> [, … ] ] ] )
Trong đó:
<Table> Bảng mà bạn muốn tính toán
[, <Filter> [, <Filter> [, … ] ] ] Là các điều kiện lọc trong từng cột
3/ Giá trị trả về
Hàm DAX sẽ trả về giá trị là một bảng tính mới, không phải là giá trị dạng số hoặc cột. 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 <Table>.
4/ Cách sử dụng
Mình có bảng ví dụ gồm có 3 cột: STT, Tên và Hình thức (Full time hoặc Part time). Mục đích là tính số người hiện đang làm Full time. Trong phần này mình sẽ hướng dẫn cách sử dụng và phân biệt với hàm CALCULATE trong Power BI để mọi người hiểu rõ.

Bước 1: Tạo một cái New Measure
Bước 2: Nhập cú pháp
Sử dụng CALCULATETABLE = CALCULATETABLE(Sheet1,Sheet1[Hình thức] = “Full time”)
Kết quả là hiện thông báo lỗi “The expression refers to multiple columns. Multiple columns cannot be converted a scalar value“, cụ thể hàm CALCULATETABLE trả về nhiều cột nên dùng New Measure sẽ bị lỗi. Vì vậy mình sẽ làm một cách khác, vẫn dùng CALCULATETABLE riêng lẻ nhưng dùng New Table.

Bước 1: Tạo một cái New Table
Bước 2: Nhập lại cú pháp trên
Sử dụng CALCULATETABLE = CALCULATETABLE(Sheet1,Sheet1[Hình thức] = “Full time”)
Lúc này sẽ được kết quả như sau:

Như các bạn thấy giá trị trả về khi sử dụng hàm DAX này riêng lẻ là một bảng có các cột tương tự như bảng gốc và các giá trị thỏa với điều kiện.
Chính vì vậy mà hàm CALCULATETABLE trong Power BI thường sẽ được sử dụng làm đối tượng Bảng hoặc Biểu thức tạo ra bảng để tính toán trong một số hàm: SUMX, MAXX, MINX, COUNTX, CALCULATE…
Lấy ví dụ tính số người hiện đang làm Full time, ta có công thức
Sử dụng CALCULATETABLE và COUNTX = COUNTX(
CALCULATETABLE(Sheet1,Sheet1[Hình thức] = “Full time”),
COUNTA(Sheet1[Hình thức])
)
Trong đó: COUNTX là gồm có 2 tham số là <Table> và <Expression>
<Table> là CALCULATETABLE(Sheet1,Sheet1[Hình thức] = “Full time”)
<Expression> là COUNTA(Sheet1[Hình thức])

Phan biệt CALCULATE và CALCULATETABLE trong Power BI:
- Hàm CALCULATE thường dùng ngay sau dấu bằng, bên trong là 1 biểu thức tính: SUM, COUNT…
- Hàm CALCULATETABLE thường dùng làm tham số cho 1 hàm tính toán yêu cầu tham số là 1 bảng: SUMX, COUNTX…
Bài viết trên đã chia sẻ đầy đủ về cách sử dụng hàm CALCULATE cũng như phân biệt với CALCULATE trong Power BI. Chúc các bạn sẽ sử dụng thành công. Hãy theo dõi website Kienit để cập nhật thêm các kiến thức hay ho mỗi ngày.
Bài viết xem thêm:
POWER BI: Cách sử dụng hàm SAMEPERIODLASTYEAR
POWER BI: Cách sử dụng hàm DIVIDE
POWER BI: Cách sử dụng hàm BLANK
POWER BI: Cách sử dụng hàm FILTER
POWER BI: Cách sử dụng hàm COUNTA