Mục lục
Điều kiện và cách xây dựng Date Table cho Time Intelligence Functions
Điều kiện để sử dụng các hàm tính toán Time Intelligent là bộ dữ liệu có Date Table.
Nếu đã có bảng dữ liệu Date, thao tác Mark as Date Table và nếu chưa có, sử dụng DAX – Data Analysis Expressions
Để một bảng trở thành Date Table, bảng đó cần thoả mãn điều kiện:
- Bảng chứa dữ liệu “unique”
- Bảng không chứa dữ liệu null
- Bảng chứa các giá trị ngày liền kề (từ đầu đến cuối)
- Bảng có kiểu dữ liệu là Date/Time
Bước 1: Kiểm tra bộ dữ liệu có bảng dữ liệu thời gian?
Trường hợp 1: Nếu bộ dữ liệu đã có bảng Date
Trong trường hợp dữ liệu chưa đúng, hãy thực hiện thao tác đổi kiểu dữ liệu – mình đã từng thực hành chuyển đổi kiểu dữ liệu trong bài trước đó.
Trường hợp 2: Nếu bộ dữ liệu chưa có bảng Date
Hãy nhập công thức sau:
Date = VAR FirstFiscalMonth = 7 -- First month of the fiscal year VAR FirstDayOfWeek = 0 -- 0 = Sunday, 1 = Monday, ... VAR FirstYear = -- Customizes the first year to use YEAR ( MIN ( Sales[Order Date] )) RETURN GENERATE ( FILTER ( CALENDARAUTO (), YEAR ( [Date] ) >= FirstYear ), VAR Yr = YEAR ( [Date] ) -- Year Number VAR Mn = MONTH ( [Date] ) -- Month Number (1-12) VAR Qr = QUARTER ( [Date] ) -- Quarter Number (1-4) VAR MnQ = Mn - 3 * (Qr - 1) -- Month in Quarter (1-3) VAR Wd = WEEKDAY ( [Date], 1 ) - 1 -- Weekday Number (0 = Sunday, 1 = Monday, ...) VAR Fyr = -- Fiscal Year Number Yr + 1 * ( FirstFiscalMonth > 1 && Mn >= FirstFiscalMonth ) VAR Fqr = -- Fiscal Quarter (string) FORMAT ( EOMONTH ( [Date], 1 - FirstFiscalMonth ), "\QQ" ) RETURN ROW ( "Year", DATE ( Yr, 12, 31 ), "Year Quarter", FORMAT ( [Date], "\QQ-YYYY" ), "Year Quarter Date", EOMONTH ( [Date], 3 - MnQ ), "Quarter", FORMAT ( [Date], "\QQ" ), "Year Month", EOMONTH ( [Date], 0 ), "Month", DATE ( 1900, MONTH ( [Date] ), 1 ), "Day of Week", DATE ( 1900, 1, 7 + Wd + (7 * (Wd < FirstDayOfWeek)) ), "Fiscal Year", DATE ( Fyr + (FirstFiscalMonth = 1), FirstFiscalMonth, 1 ) - 1, "Fiscal Year Quarter", "F" & Fqr & "-" & Fyr, "Fiscal Year Quarter Date", EOMONTH ( [Date], 3 - MnQ ), "Fiscal Quarter", "F" & Fqr ) )
Đây là đoạn DAX đầy đủ để tạo bảng Date cho bộ dữ liệu của bạn!
Bước 2: Mark as date table
Trong bước này, bạn cũng có thể lựa chọn 2 cách như sau:
Cách 1: Ở ngăn Fileds, click chuột phải vào bảng bạn chọn làm Date Table.
Chọn Mark as date table
Cách 2: Cũng thao tác click chọn bảng sau đó trên thanh công cụ chọn Mark as Date Table trên dải Modeling.