Phân biệt Calculated Columns và Measures

04/05/2025   |   Tran Van Dao

Phân biệt Calculated Columns và Measures trong DAX Power BI 

Calculated Columns là gì 

Định nghĩa 

Trong ngôn ngữ DAX (Data Analysis Expressions), calculated columns là các cột được tạo thêm dựa trên các phép tính áp dụng cho từng hàng trong bảng dữ liệu. Khi bạn tạo một calculated column, Power BI sẽ tính toán giá trị cho từng dòng của bảng và lưu trữ giá trị này trực tiếp vào mô hình dữ liệu. 

Khác với measures (biện pháp), calculated columns không bị ảnh hưởng bởi các bộ lọc từ báo cáo mà hiển thị giá trị tĩnh dựa trên mỗi hàng dữ liệu. 

Ví dụ: 

Total Price = Sales[Quantity] * Sales[Unit Price] 

Dòng DAX trên sẽ tạo một cột mới trong bảng Sales, nhân số lượng với đơn giá để ra tổng giá trị từng dòng. 

Phân biệt Calculated Columns và Measures trong DAX power bi

Phân biệt Calculated Columns và Measures trong DAX power bi

Ưu điểm 

Calculated columns mang lại nhiều lợi ích trong các tình huống cụ thể: 

  • Hữu ích trong quan hệ giữa các bảng: Bạn có thể tạo khóa để liên kết các bảng với nhau bằng các cột tính toán.
  • Trực quan hóa dễ dàng: Vì là cột thực sự trong bảng, calculated columns có thể được kéo thả trực tiếp vào biểu đồ, bảng hoặc slicer.
  • Phù hợp cho các phép tính dòng: Những tính toán mang tính “row-by-row” như phân loại, tính toán logic điều kiện thường rất phù hợp với calculated columns. 

Tuy nhiên, việc lạm dụng calculated columns có thể làm tăng kích thước mô hình và ảnh hưởng đến hiệu suất. 

Measures là gì ?

Định nghĩa 

Measures là những công thức tính toán động trong DAX, không lưu trữ trực tiếp trong mô hình dữ liệu mà chỉ được tính toán khi người dùng tương tác với báo cáo. Giá trị của measure thay đổi tùy thuộc vào bộ lọc, slicer hoặc các yếu tố ngữ cảnh khác trong Power BI. 

Ví dụ: 

Total Sales = SUM(Sales[Total Price]) 

Đây là một measure tính tổng giá trị của cột Total Price và kết quả sẽ khác nhau tùy vào bộ lọc được áp dụng (theo năm, sản phẩm, khu vực…). 

Ưu điểm 

Measures được xem là công cụ chính trong việc phân tích dữ liệu nâng cao với nhiều ưu điểm: 

  • Hiệu suất cao: Vì không lưu trữ dữ liệu, measure tiết kiệm dung lượng mô hình và tối ưu hóa hiệu suất.
  • Linh hoạt: Giá trị được tính toán động theo ngữ cảnh báo cáo.
  • Khả năng tích hợp cao: Measures có thể được sử dụng với các hàm DAX mạnh mẽ như CALCULATE, FILTER, ALL,… giúp thực hiện phân tích dữ liệu nâng cao. 

Một số ví dụ ứng dụng phổ biến của measures: 

  • Tính tỷ lệ phần trăm
  • So sánh giá trị năm trước
  • Tính trung bình động (rolling average)
  • Đo lường theo thời gian (time intelligence) 

Sự khác biệt giữa Calculated Columns và Measures 

Tiêu chí  Calculated Columns  Measures 
Vị trí lưu trữ  Lưu trực tiếp trong mô hình  Không lưu, tính toán động 
Cách tính toán  Tính theo từng hàng (row context)  Tính toán dựa trên bộ lọc (filter context) 
Sử dụng trong biểu đồ  Có thể kéo trực tiếp vào biểu đồ  Dùng làm giá trị hiển thị (value) 
Ảnh hưởng hiệu suất  Tốn dung lượng mô hình, ảnh hưởng hiệu suất nếu quá nhiều  Tối ưu hơn do tính toán khi cần 
Tính linh hoạt  Ít linh hoạt hơn  Linh hoạt và mạnh mẽ với các hàm nâng cao 
Phù hợp khi  Cần cột trung gian, tạo quan hệ, điều kiện logic đơn giản  Cần phân tích tổng hợp, KPI, tính toán theo ngữ cảnh 

Kết hợp Calculated Columns và Measures để tạo các phân tích phức tạp 

Kết hợp Calculated Columns và Measures

Kết hợp Calculated Columns và Measures

Trong nhiều trường hợp, calculated columns và measures không phải là hai công cụ đối lập, mà lại bổ trợ cho nhau trong quá trình phân tích dữ liệu bằng DAX trong Power BI. 

Ví dụ 1: Phân loại khách hàng theo mức chi tiêu 

Bạn có thể tạo một calculated column để phân loại khách hàng: 

Customer Segment =
IF(Sales[Total Price] > 1000, “VIP”, “Regular”) 

Sau đó, bạn tạo một measure để tính tổng doanh thu theo từng nhóm: 

Revenue by Segment = SUM(Sales[Total Price]) 

Kết quả là bạn có thể tạo một biểu đồ thể hiện tổng doanh thu của từng nhóm khách hàng đã được phân loại từ trước. 

Ví dụ 2: Phân tích theo thời gian 

Calculated columns cũng được dùng để chuẩn hóa hoặc tách ngày: 

Year = YEAR(Sales[Order Date])
Month = FORMAT(Sales[Order Date], “MMM”) 

Sau đó, bạn dùng các measures để phân tích: 

Total Sales = SUM(Sales[Total Price])
YTD Sales = TOTALYTD([Total Sales], ‘Calendar'[Date]) 

Như vậy, calculated columns đóng vai trò chuẩn hóa dữ liệu, trong khi measures giúp thực hiện phân tích động theo nhiều chiều khác nhau. 

Kết luận 

Việc phân biệt rõ ràng giữa calculated columns và measures trong DAX là điều cốt lõi để tận dụng tối đa sức mạnh của Power BI. Mỗi loại đều có mục đích sử dụng riêng, và khi được kết hợp một cách hợp lý, chúng giúp bạn xây dựng mô hình dữ liệu linh hoạt, hiệu quả và hỗ trợ ra quyết định nhanh chóng. 

 

ĐỌC THÊM:

11 Lợi Ích Hàng Đầu Power Apps Cho Doanh Nghiệp

Copilot: Chuyển đổi phân tích dữ liệu cùng AI

Top 10+ Hệ Thống CRM Hiệu Quả Cho Doanh Nghiệp

Top xu hướng bảo mật mạng 2025

Tấn Công DDoS Là Gì Và Các Loại Phổ Biến Hiện Nay

Hotline

0833 052 299

Đối tác

BHK