CÁCH SỬ DỤNG BIẾN VARIABLE TRONG DAX

Ngày đăng: 29/09/2022

Trong bài viết ngày hôm nay, chúng ta cùng nhau tìm hiểu về biến trong Power BI, một tính năng rất hữu ích giúp người dùng sử dụng và quản lý hiệu quả Data Analysis Expressions (DAX).

GIỚI THIỆU VỀ BIẾN TRONG DAX

Biến trong DAX là gì

Biến (Variable) thường được biết đến qua cấu trúc lệnh VAR/RETURN, là một tính năng của PowerBI, nhằm mục đích giúp người dùng viết và quản lý công thức DAX một cách hiệu quả.

Ta có thể hiểu biến giống như tên cho một biểu thức DAX. Thật vậy, thuật ngữ “variable” có thể gây ra hiểu lầm, bởi một biến trong DAX không thể thay đổi giá trị, mà nó là một hằng số. Nghĩa là ta tính toán một giá trị bằng biểu thức DAX, sau đó lưu giữ giá trị đó trong một tên biến.

pháp cấu trúc của biến

VAR <Tên biến> = <Biểu thức DAX> 

RETURN <Kết quả> 

Example 1: phápbản của biến

Cú pháp cơ bản của biến trong DAX
Cú pháp cơ bản của biến trong DAX

ví dụ trên, để tính được measure Sales Amount trung bình của mỗi khách hàng, ta cần 2 đại lượng được gán vào 2 biến là TotalSalesNo.Customer. 

2 biến này sau đó được sử dụng trong phần RETURN, bằng cách chia 2 đại lượng đã tính cho nhau. Kết quả cuối cùng của measure là biểu thức DAX trong phần RETURN. 

Mỗi set VAR/RETURN có thể có nhiều biến, nghĩa là ta có thể gán bao nhiêu VAR tùy ý cho 1 RETURN. 

Example 2: Một biến có thể tham chiếu đến các biến khác với điều kiện các biến đó đã được xác định trước

Tham chiếu biến tới các biến khác
Tham chiếu biến tới các biến khác

ví dụ trên, để tính được tỷ lệ tăng trưởng Sales so với cùng kỳ, ta cần 2 đại lượng gán vào 2 biến là TotalSalesTotalSalesPreviousYear 

Và biến TotalSalesPreviousYear được xác định bằng cách tham chiếu vào biến TotalSales đã xác định từ trước. 

Example 3: Gọi biến có thể sử dụng lồng vào trong biểu thức DAX

Gọi biến lồng trong biểu thức DAX
Gọi biến lồng trong biểu thức DAX

Quay lại ví dụ tính Sales Amount trung bình của mỗi khách hàng. Hai biến Quantity và Price có thể được gọi lồng trong biến TotalSales.

Tuy nhiên thông thường, công thức DAX sẽ chứa một set biến được khai báo ngay từ đầu, theo sau là một RETURN duy nhất. Chỉ số ít trường hợp công thức DAX quá phức tạp, chứa nhiều thành phần, khi đó việc sử dụng VAR/RETURN một cách linh hoạt sẽ giúp người dùng dễ dàng xây dựng  công thức hơn. 

LỢI ÍCH CỦA BIẾN KHI VIẾT DAX

Vậy tại sao chúng ta nên sử dụng biến trong quá trình xây dựng các công thức DAX? Dưới đây là những lợi ích rất lớn mà người dùng có thể đạt được thông qua việc sử dụng biến một cách hợp lý khi viết DAX.

Dễ đọc hơn

Bằng cách gán tên cho một biểu thức, ta đang thêm thông tin mô tả vào code của mình, giúp ta dễ dàng đọc và xác định các thành phần của DAX. 

Tách code thành các bước thực thi logic

Bộ não chúng ta dễ dàng nhận diện và xử lý các biểu thức code có chứa biến tốt hơn, bởi nó cho phép ta hình dung các bước thực thi để xây dựng lên biểu thức. 

Dễ dàng debug

Nhìn vào các phần code đã được phân chia rõ ràng thành từng khối theo từng biến, ta có thể dễ dàng xác định được phần nào đang gặp lỗi để từ đó có cách xử lý nhanh chóng, hiệu quả. Nếu không sử dụng biến, mỗi khi xuất hiện bug, ta sẽ phải lần mò từng đoạn code để xác định tác dụng của nó và xem xét xem liệu nó đã hoạt động đúng cách hay chưa.

Cải thiện hiệu năng code

Với các biến, ta đang cho DAX biết về những phần nào của toàn bộ biểu thức có thể được tính một lần và lưu lại để sử dụng sau này. 

Example: Ta sẽ so sánh 2 trường hợp có sử dụng biến và không sư dụng biến

Biểu thức DAX không sử dụng biến
Biểu thức DAX không sử dụng biến

Với phiên bản không sử dụng biến, ta có thể thấy đoạn code chứa rất nhiều vấn đề: 

  • Khó đọc 
  • Khó xác định các bước thực hiện 
  • Hiệu năng code kém 

DAX sẽ phải thực hiện tính toán từng bước, nghĩa là code được đọc đến đâu thì bắt đầu tính toán đến đấy. Ta có thể thấy phần tính SalesPreviousYear phải thực hiện 2 lần. Nếu trong trường hợp DAX phức tạp, những tính toán khó phải lặp lại nhiều lần thì hiệu quả, tốc độ xử lý code sẽ diễn ra rất chậm chạp.

 

Bài viết tham khảo: https://www.sqlbi.com/articles/variables-in-dax/

Tham khảo thêm các bài viết khác về kỹ thuật ứng dụng Power BI tại: Power BI Archives – Datapot.vn

Tham khảo thêm khóa học: PL – 300: Microsoft Power BI Data Analyst

Trả lời

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 *