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.
Cúphápvàcấutrúc của biến
VAR <Tên biến> = <Biểu thức DAX> RETURN <Kết quả>
Example1:Cúpháp cơ bảncủa biến
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à TotalSales và No.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Ở 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à TotalSales và TotalSalesPreviousYear. 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 DAXQuay 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ếnVớ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.vnTham khảo thêm khóa học: PL – 300: Microsoft Power BI Data Analyst