Power BI Day 15: Tìm hiểu về điều kiện và cách xây dựng Date Table cho Time Intelligence

Ngày đăng: 12/02/2022

Đ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.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *