Menu

Khám phá cách sử dụng biến (Variables) trong Power BI để tối ưu hóa công thức DAX

Khâu Đăng Trực 14/06/2026 10:36 402 lượt xem 2 trả lời

Chào mọi người, mình là một thành viên mới trong cộng đồng Sheet & Excel và cũng đang tập tành làm quen với Power BI. Thời gian gần đây, mình có tìm hiểu sâu hơn về ngôn ngữ DAX và phát hiện ra một tính năng rất hữu ích mà có lẽ nhiều người mới bắt đầu như mình chưa biết đến, đó là sử dụng biến (Variables).

Việc sử dụng biến trong DAX giúp cho các công thức trở nên dễ đọc, dễ hiểu và dễ bảo trì hơn rất nhiều. Thay vì phải lặp đi lặp lại một phép tính hoặc một biểu thức phức tạp nhiều lần, chúng ta có thể định nghĩa nó một lần dưới dạng biến và gọi tên biến đó ra sử dụng. Điều này không chỉ giúp code gọn gàng mà còn có thể tối ưu hóa hiệu suất, vì Power BI chỉ cần tính toán biểu thức đó một lần.

Ví dụ đơn giản:

// Công thức không dùng biến - Khó đọc, lặp lại tính toán
CALCULATE(SUM(Sales[Amount]), 
    FILTER(Sales, Sales[Region] = "North"), 
    FILTER(Sales, Sales[Product] = "Product A")
)

// Công thức dùng biến - Dễ đọc và hiệu quả hơn
VAR SelectedRegion = "North"
VAR SelectedProduct = "Product A"
RETURN
    CALCULATE(SUM(Sales[Amount]), 
        FILTER(Sales, Sales[Region] = SelectedRegion),
        FILTER(Sales, Sales[Product] = SelectedProduct)
    )
                
2

Đúng là biến trong DAX "ngon" thật! Mình cũng hay dùng nó để "đỡ đẻ" cho mấy cái measure lằng nhằng. Thay vì viết đi viết lại một cái logic, cứ khai báo biến một lần là xong, code sạch sẽ hẳn.

Bạn có thể cho mình xin thêm một ví dụ về cách dùng biến để xử lý các trường hợp có điều kiện phức tạp không? Mình đang vật lộn với mấy cái tính toán theo từng giai đoạn, dùng biến chắc sẽ gọn hơn nhiều.

5

Chào bạn,

Cảm ơn bạn đã chia sẻ về biến trong DAX. Đúng là một tính năng cực kỳ hữu ích, giúp công thức gọn gàng và dễ theo dõi hơn hẳn. Mình cũng hay dùng biến để định nghĩa các phép tính trung gian, nhất là khi xử lý các biểu thức DAX dài và phức tạp.

Bạn có thể chia sẻ thêm một ví dụ cụ thể về cách bạn áp dụng biến để giải quyết một bài toán DAX khó không? Mình tò mò muốn xem cách bạn tối ưu hóa nó.

1

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký