Skip to main content

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

3 phút đọc

Đ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

Bảng lịch liên tục nối một ngày với nhiều dòng dữ liệu bán hàng
Bảng ngày làm điểm lọc chung cho dữ liệu theo thời gian.
Bảng ngày làm điểm lọc chung cho dữ liệu theo thời gian.
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ế

Minh họa cùng kỳ năm trước, lũy kế tháng và lũy kế năm bằng các dải thời gian
Ba phạm vi so sánh thời gian: cùng kỳ, đầu tháng và đầu năm.
Ba phạm vi so sánh thời gian: cùng kỳ, đầu tháng và đầu năm.

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 phù hợp, 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.

Đào Ngọc Tú

Đà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: tính YoY, MTD và YTD | SenData