Blog

VAR là gì? Tại sao phải dùng VAR?

VAR là gì? VAR là viết tắt của Variable – được hiểu là biến khi viết hàm DAX trong Power BI. VAR được dùng để khai báo biến lưu giữ giá trị (giá trị cụ thể hoặc giá trị được lựa chọn); nhiều giá trị như bảng thông tin; biểu thức.
VD:

- Giá trị cụ thể: thể hiện năm 2022
  VAR _val = 2022
- Giá trị được chọn: thể hiện giá trị được chọn trong bảng table[value]
VAR _selectedVal = if(HASONEVALUE(table[value]), VALUES(table[value]))
- Nhiều giá trị: thể hiện tất cả các ngày trong năm 2022
VAR _year2022 = 
     FILTER(
            ALL(Dates_ref[date], 
            Dates_ref[year] = 2022
            )
- Một biểu thức: thể hiện giá trị Tổng Doanh thu của những sản phẩm có màu Đỏ
VAR _redColorSales = 
     CALCULATE(
              [Total Sales], 
              FILTER(Product, Product[Color] = "Red')
              )


Vậy tại sao phải cần có VAR? 
Khai báo VAR giúp chúng ta rút ngắn thời gian viết hàm vì tận dụng được các biến đã khai báo từ trước. Việc này đặc biệt hữu ích & linh hoạt khi chúng ta phải viết nhiều hàm.

VD: hàm sau trả về số các khách hàng quay trở lại mua hàng, nếu không dùng VAR thì rõ ràng số lượng dòng phải viết lại ở đây khá nhiều dẫn đến việc khó kiểm soát khi cần hiệu chỉnh hay truy vấn lỗi.

Return Customers =
VAR _lastMonth = SELECTEDVALUE('Dim Date'[Eof Previous Month])

VAR _thisMonth = SELECTEDVALUE('Dim Date'[Eof Month])

VAR _listOfCustomersThisMonth = VALUES('Invoice Details'[Customer ID])

VAR _listOfCustomersLastMonth =
    CALCULATETABLE(
      VALUES('Invoice Details'[Customer ID]),
      REMOVEFILTERS('Dim Date'[Eof Month]),
      'Dim Date'[Eof Month] = _lastMonth
    )

VAR _listOfNewCustomers =
    CALCULATETABLE(
      VALUES('Invoice Details'[Customer ID]),
      'Dim Customer'[First Sales Month] = _thisMonth
    )

VAR _listOfReturnCustomers =
    EXCEPT(
      EXCEPT( 
        _listOfCustomersThisMonth,
        _listOfCustomersLastMonth
        ),
      _listOfNewCustomers
    )

RETURN

    COUNTROWS(_listOfReturnCustomers) + 1

Phạm vi hoạt động của VAR? VAR chỉ được khởi tạo và hoạt động trong phạm vi một measure hay calculate column hay table cụ thể. Ngoài ra, VAR không mang giá trị toàn cục (global) – nghĩa là khi khai báo VAR chúng ta không thể gọi VAR đã được định nghĩa từ trước trong một measure khác.


Trong thực tế, chúng ta dùng VAR rất nhiều và INDA khuyến khích các bạn nên dùng VAR để tối ưu hàm DAX của mình. Một lợi điểm khác là chúng ta có thể tận dùng hàm RETURN (cập hàm đi chung với VAR) để kiểm tra giá trị từng biến đã khai báo thay vì cách bình thường là luôn chỉ có 1 giá trị cuối cùng.

Nguồn: Internet

Chúng tôi chuyên cung cấp những khoá học về Phân tích dữ liệu, đăng ký ngay để nhận được tư vấn chi tiết lộ trình dành riêng cho bạn nhé!

KHOÁ HỌC PHÂN TÍCH DỮ LIỆU POWER BI TỪ CƠ BẢN ĐẾN NÂNG CAO 

    LIÊN HỆ VỚI CHÚNG TÔI ĐỂ NHẬN ĐƯỢC TƯ VẤN MIỄN PHÍ
    Xin vui lòng điền vào form dưới đây. Chúng tôi sẽ liên hệ lại ngay cho bạn khi nhận được thông tin:






    Leave a Reply

    Your email address will not be published. Required fields are marked *