Đ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.
23 bài viếtXem hồ sơ tác giả

