Skip to main content

Time Intelligence DAX: YoY, MTD, YTD — Hướng dẫn đầy đủ

13 phút

Điều kiện tiên quyết: Calendar table đúng chuẩn

Time intelligence functions trong DAX yêu cầu bảng Date phải:

  • Có đúng 1 cột Date (không duplicate)
  • Không có gap (mọi ngày từ đầu đến cuối year)
  • Mark as Date Table trong Power BI Desktop

Tạo Calendar table chuẩn

Calendar =
ADDCOLUMNS(
    CALENDAR(DATE(2023,1,1), DATE(2026,12,31)),
    "Year", YEAR([Date]),
    "Month", MONTH([Date]),
    "MonthName", FORMAT([Date], "MMMM"),
    "Quarter", "Q" & QUARTER([Date]),
    "Weekday", WEEKDAY([Date], 2),
    "IsWeekend", IF(WEEKDAY([Date], 2) >= 6, TRUE, FALSE),
    "FiscalYear", IF(MONTH([Date]) >= 7, YEAR([Date]), YEAR([Date]) - 1)
)

YoY (Year over Year)

Revenue_LY = CALCULATE([Revenue], SAMEPERIODLASTYEAR('Calendar'[Date]))

YoY_Growth % = DIVIDE([Revenue] - [Revenue_LY], [Revenue_LY])

MTD (Month to Date)

Revenue_MTD = TOTALMTD([Revenue], 'Calendar'[Date])

-- Hoặc dùng CALCULATE + DATESMTD:
Revenue_MTD_v2 = CALCULATE([Revenue], DATESMTD('Calendar'[Date]))

YTD (Year to Date)

Revenue_YTD = TOTALYTD([Revenue], 'Calendar'[Date])

-- Fiscal year kết thúc 30/6:
Revenue_FiscalYTD = TOTALYTD([Revenue], 'Calendar'[Date], "6/30")

Running Total (Lũy kế liên tục)

Running_Total =
CALCULATE(
    [Revenue],
    FILTER(
        ALL('Calendar'),
        'Calendar'[Date] <= MAX('Calendar'[Date])
    )
)

Ứng dụng thực tế

Dashboard executive thường cần: Revenue tháng hiện tại vs cùng kỳ năm ngoái (YoY), lũy kế từ đầu năm (YTD), và forecast cuối năm. Time intelligence là trái tim của mọi P&L Power BI.

Sẵn sàng xây dựng dashboard Power BI?

Kết nối với freelancer Power BI đã kiểm duyệt, xem báo cáo nhúng ngay trên trình duyệt và tải file .pbix về sau khi thanh toán.

ĐN

Đào Ngọc Tú

DAX Instructor

Cộng tác viên chuyên gia tại SenData. Chia sẻ kiến thức về phát triển Power BI, trực quan hóa dữ liệu và best practice business intelligence.

Đọc tiếp

Quay lại tất cả bài viết
Time Intelligence DAX: YoY, MTD, YTD — Hướng dẫn đầy đủ | SenData