Visual Calculation là một bước tiến đáng giá giúp người dùng Power BI thao tác nhanh – trực quan – dễ hiểu, đặc biệt khi xử lý các phép tính như running total, ranking hay tỷ trọng phần trăm mà không cần viết DAX phức tạp.
Nếu bạn từng gặp khó khăn vì DAX không trực quan như Excel, thì đây chính là công cụ giúp bạn dễ dàng thử nghiệm logic phân tích và trực tiếp quan sát kết quả ngay trên biểu đồ.
Mục lục
Visual Calculation là gì?
Visual Calculation là tính năng mới trong Power BI, cho phép bạn thực hiện các phép tính trực tiếp ngay trên biểu đồ (on visual), dựa vào dữ liệu đã được hiển thị (report data), thay vì viết công thức bằng DAX ở cấp độ data model.
Điểm đặc biệt là các phép tính này được xử lý sau khi biểu đồ đã render, nên cực kỳ phù hợp với các logic như:
- Xếp hạng theo giá trị hiển thị.
- Cộng dồn theo thời gian.
- So sánh dữ liệu liền kề.
- Tính phần trăm trong nhóm.
Việc thêm Visual Calculation cực kỳ đơn giản: Chọn một biểu đồ bất kỳ, click vào dấu “…” góc trên bên phải của biểu đồ, chọn “New visual calculation” và chọn loại phép tính (Measure) mong muốn từ menu sẵn có.

Một số phép tính phổ biến và ứng dụng thực tế
Dưới đây là danh sách những phép tính và case study bạn có thể tạo bằng Visual Calculation:
- Running sum: Cộng dồn doanh thu theo tháng/quý.
- Moving average: Trung bình trượt của chỉ số hiệu suất.
- Percent of parent / grand total: Tỷ trọng trong nhóm hoặc toàn bộ tập dữ liệu.
- Rank: Xếp hạng theo doanh số, tỷ lệ chuyển đổi,…
- So sánh điểm liền kề (Versus previous / next): Phân tích tăng/giảm qua thời gian.
- Look up value: Truy xuất giá trị từ dòng khác trong cùng visual.
- Average of children: Tính trung bình cấp con trong hệ phân cấp.
So sánh giữa Visual Calculation và cách viết measure bằng DAX thông thường
| Các tiêu chí so sánh: | Visual Calculation | Measure bằng DAX |
| Điểm giống nhau |
| |
Cách hoạt động | Tính sau khi visual đã render, hoạt động theo bối cảnh của visual. | Tính ngay trong quá trình dựng mô hình, phụ thuộc filter context. |
Khả năng tái sử dụng | Không tái sử dụng được, chỉ dùng trong visual đó. | Tái sử dụng được, dùng cho nhiều visual khác nhau. |
Mức độ linh hoạt | Linh hoạt với các phép tính động theo vị trí, thứ tự, dòng hiển thị. | Mạnh mẽ với các logic phức tạp, phân cấp, time intelligence. |
Ưu điểm |
|
|
Nhược điểm |
|
|
Khi nào dùng Visual Calculation – Khi nào nên dùng DAX?
Nên dùng Visual Calculation khi:
- Cần thử nghiệm nhanh một logic tính toán.
- Phân tích theo dòng hiển thị: cộng dồn, trung bình trượt, ranking, v.v.
- Không muốn tạo thêm measure phức tạp.
Nên dùng DAX khi:
- Cần logic phân tích phức tạp, nhiều điều kiện.
- Muốn tái sử dụng trong nhiều báo cáo hoặc visual khác nhau.
- Xây dựng báo cáo chuẩn hóa cho tổ chức.
Một số case study sử dụng Visual Calculation
Data Model gồm 2 table:
- Sale Report (Load từ file CSV bên trên).
- Date (Tạo ra từ hàm DAX: Date = CALENDARAUTO(6)).
- Giữa 2 table có relationship 1-many.

Tổng doanh thu cộng dồn theo tháng (RUNNING SUM):
Bài toán: Ta có nhu cầu phân tích doanh thu cộng dồn từ đầu năm tới một tháng bắt kỳ trong năm, có thể phân tích doanh thu tổng và chi tiết của từng team.
- Công thức DAX thông thường:
Để thực hiện yêu cầu trên bằng công thức DAX, ta tạo 1 measure mới với công thức DAX như sau:
Doanh thu cộng dồn = CALCULATE( SUM(‘Sales Report'[Doanh thu]), FILTER(ALLSELECTED(‘Date’) ‘Date'[Date] <= MAX(‘Date'[Date])
- Tạo Visual Calculation:
Tạo một visual bất kỳ để thể hiện tổng doanh thu theo tháng. Ở case study này chúng ta dùng Line Chart. Visual sẽ trông như thế này:

Click vào dấu “…” ở góc trên bên phải của visual => Chọn New visual calculation => Chọn Running sum

Lúc này giao diện detail của phần tạo Visual Calculation sẽ hiển thị ra. Chúng ta sẽ chọn thông tin mà mình muốn tính cộng dồn. Ở case study này chúng ta chọn [Sum of Doanh thu] để tính doanh thu cộng dồn.
Nếu trong Visual của chúng ta có các column khác có thể tính toán thì sẽ đều hiển thị ra ở phần Field. Mọi người có thể đổi tên Visual Calculation sao cho phù hợp. Sau khi xong hết thì mọi người tích vào dấu “V” màu xanh để hoàn thành Visual Calculation.
Khi tạo Visual Calculation, ở phần bên phải trong mục Y-axis sẽ xuất hiện một Visual Calculation. Đây chính là thông tin doanh thu cộng dồn sẽ hiển thị ra visual khi mọi người tạo xong.

Đây là kết quả khi tạo xong Visual Calculation

Cơ chế hoạt động của hàm Running Sum trong Visual Calculation đó là nó sẽ dựa vào context hiện tại của Visual (Những data hiện có trong Visual đó) => Đi qua lần lượt từng dòng và cộng tổng các kết quả của dòng hiện tại và trước đó lại => Trả ra kết quả.
Ví dụ:
- Dòng đầu tiên (Monday, Janury 01, 2024): Các dòng data trước đó không có, kết quả “Sum of Doanh thu” hiện tại là 1459 => Kết quả của phép Running Sum tại dòng này là 1459.
- Dòng thứ hai (Thursday, February 01, 2024): Dòng data trước đó có kết quả “Sum of Doanh thu” là 1459, dòng hiện tại có kết quả là 1050 => Kết quả của phép Running Sum tại dòng này là 1459 + 1050 = 2509.
- Tương tự, các dòng tiếp theo phép tính Running Sum sẽ thực hiện như vậy cho đến hết.
Muốn chỉnh sửa lại Visual Calculation, mọi người có thể chọn chuột phải vào Visual Calculation vừa tạo và chọn “Edit calculation”

Nếu cần phân tích doanh thu cộng dồn theo team, ta có thể kéo thêm column “team” vào legend để breakdown. Lúc này Visual Calculation sẽ tính toán theo context mới, đó là tổng doanh thu cộng dồn theo từng team.

RANKING nhân viên theo doanh thu (RANKING):
- Công thức DAX thông thường:
Để thực hiện yêu cầu trên bằng công thức DAX, ta tạo 1 measure mới với công thức DAX như sau:
Ranking = RANKX(ALL(‘Sales Report'[Nhân viên]), CALCULATE(SUM(‘Sales Report'[Doanh thu])), , DESC, DENSE)
- Tạo Visual Calculation:
Tạo visual Matrix với Row là nhân viên và column là tháng, values ta tính Tổng doanh thu.

Click vào dấu “…” ở góc trên bên phải của visual => Chọn New visual calculation => Chọn Custom.
Tại phần tạo Visual Calculation detail, ta nhận công thức DAX như sau: RANKING = RANK(DENSE, ROWS, ORDERBY([Sum of Doanh thu],DESC))

Mặc dù việc tạo Visual Calculation này ta phải custom bằng DAX, nhưng logic khi tạo sẽ dễ hình dung hơn khá nhiều so với hàm RANKX ở trên, nhất là đối với những người mới tiếp cận.
Hàm RANK trong Visual Calculation sẽ thực hiện Ranking cho từng ROW dựa vào context của visual lúc này. Nói một cách dễ hiểu hơn, Visual Calculation này sẽ Ranking cho từng nhân viên dựa theo doanh thu của từng tháng và của tổng các tháng đó.
Kết quả chúng ta sẽ trông như thế này:

Kết luận
Visual Calculation là một công cụ mới, mạnh, dễ dùng dành cho mọi cấp độ người dùng Power BI. Nó giúp bạn:
- Khám phá dữ liệu nhanh chóng.
- Trực quan hóa logic phân tích ngay trên biểu đồ.
- Giảm bớt sự phụ thuộc vào DAX khi chưa cần thiết.
Dù không thể thay thế hoàn toàn các measure phức tạp, nhưng với các bài toán xếp hạng, cộng dồn, phân tích ad-hoc – đây chắc chắn là công cụ bạn không nên bỏ qua trong hành trình làm chủ Power BI.
Bạn muốn nắm vững cả Visual Calculation lẫn kỹ thuật DAX nâng cao?
Datapot có lộ trình Power BI nâng cao, giúp bạn hiểu sâu về từng hàm DAX, áp dụng logic phân tích chuyên sâu cho nghiệp vụ thực tế và tối ưu dashboard cho doanh nghiệp.
Kết nối thêm với chúng mình
Fanpage
Cộng đồng Data, AI và Tự động hóa 200,000+ thành viên
Youtube
Zalo
Chúc bạn luôn thành công trong công việc và cuộc sống!
