Calculation Groups trong Power BI: Giảm 80% measure trùng lặp bằng Tabular Editor
Sapo: Hướng dẫn dùng Calculation Groups qua Tabular Editor trong Power BI: gộp các phép tính cùng kỳ, YTD, MTD vào một nhóm duy nhất giúp tinh gọn mô hình dữ liệu.
1. Vấn đề thường gặp: Cơn ác mộng “bùng nổ” Measure trong Power BI
Khi xây dựng các mô hình dữ liệu (Data Model) cấp độ doanh nghiệp, chắc chắn bạn đã từng rơi vào tình huống tạo ra hàng chục, thậm chí hàng trăm measure lặp đi lặp lại chỉ để xử lý các bài toán về thời gian (Time Intelligence) như:
-
Doanh thu YTD (Year-to-Date), Doanh thu MTD (Month-to-Date), Doanh thu cùng kỳ năm trước (SPLY)…
-
Lợi nhuận YTD, Lợi nhuận MTD, Lợi nhuận cùng kỳ…
-
Số lượng đơn hàng YTD, MTD…
Mỗi lần thêm một chỉ số mới, bạn lại phải viết lại toàn bộ các công thức DAX cho các khoảng thời gian tương ứng. Điều này dẫn đến việc mô hình trở nên cồng kềnh, khó bảo trì, dễ sai sót và làm giảm hiệu suất tính toán.
Đó chính là lúc Calculation Groups kết hợp cùng Tabular Editor xuất hiện để giải quyết triệt để vấn đề này!
2. Calculation Groups là gì?
Calculation Groups là một tính năng mạnh mẽ trong mô hình dữ liệu Analysis Services / Power BI, cho phép bạn gom nhóm các biểu thức tính toán (Calculation Items) áp dụng cho nhiều measure khác nhau.
Thay vì phải tạo riêng lẻ từng measure cho YTD, MTD hay SPLY, bạn chỉ cần tạo một Calculation Group duy nhất chứa các quy tắc tính toán này. Khi đưa lên báo cáo, bạn chỉ cần kéo trường của Calculation Group vào bộ lọc hoặc cột/dòng của bảng, và nó sẽ tự động áp dụng cho bất kỳ base measure nào đang được chọn.
3. Các bước thực hiện nhanh với Tabular Editor
Để cấu hình Calculation Groups, công cụ đắc lực nhất là Tabular Editor (phiên bản Tabular Editor 2 hoặc 3). Dưới đây là quy trình cơ bản:
-
Kết nối Tabular Editor với Power BI Desktop:
-
Mở file Power BI của bạn.
-
Trên thanh Ribbon, chọn tab External Tools -> Nhấp vào Tabular Editor.
-
-
Tạo Calculation Group:
-
Trong giao diện Tabular Editor, nhấn chuột phải vào thư mục
Tables-> chọn Create New -> Calculation Group. -
Đặt tên cho nhóm (ví dụ: Time Intelligence).
-
Đổi tên cột bên trong thành một tên trực quan hơn (ví dụ: Time Calculation).
-
-
Thêm các Calculation Items (YTD, MTD, SPLY…):
-
Nhấn chuột phải vào thư mục
Calculation Items-> chọn Create New -> Calculation Item. -
Ví dụ cho Item “YTD”:
Đoạn mã
CALCULATE(SELECTEDMEASURE(), DATESYTD('Calendar'[Date])) -
Ví dụ cho Item “SPLY” (Same Period Last Year):
Đoạn mã
CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR('Calendar'[Date]))
-
-
Lưu lại và cập nhật mô hình:
-
Nhấn nút Save (Ctrl + S) trong Tabular Editor để đồng bộ thay đổi ngược lại vào Power BI Desktop.
-
Quay lại Power BI và làm mới mô hình dữ liệu.
-
4. Lợi ích vượt trội cho Data Analyst
-
Giảm đến 80% số lượng measure: Cắt giảm tối đa sự dư thừa, giúp danh sách trường dữ liệu (Fields list) gọn gàng, dễ quản lý.
-
Tối ưu hóa DAX & Hiệu suất: Quản lý tập trung các công thức, dễ dàng chỉnh sửa hàng loạt chỉ tại một nơi duy nhất.
-
Nâng tầm báo cáo Power BI: Trải nghiệm phân tích linh hoạt hơn, cho phép người dùng cuối dễ dàng chuyển đổi góc nhìn thời gian trên cùng một biểu đồ hoặc bảng số liệu.
5. Tổng kết
Việc làm chủ Calculation Groups và Tabular Editor là một cột mốc quan trọng giúp bạn dịch chuyển từ một Data Analyst cơ bản lên mức độ nâng cao. Kỹ thuật này không chỉ giúp tối ưu hóa dung lượng mô hình mà còn thể hiện tư duy thiết kế hệ thống chuyên nghiệp.
Tác giả: Phan Thị Như Phước – Data Analyst tại MCNA Technology School
📞 Hotline: 0939.866.825 (Mr. Minh Khang)
🌐 Website: mcna.vn
📍 Hà Nội: 30 Trung Liệt, Đống Đa | Liền kề 44B TT2 Văn Quán, Hà Đông
📍 TP.HCM: 50B Phan Tây Hồ, Cầu Kiệu

