Các hàm Date trong DAX là những hàm được tích hợp sẵn trong Power BI. Nhờ đó, bạn có thể phân tích và quản lý dữ liệu ngày, giờ một cách hiệu quả. Bài viết này, BAC muốn tổng hợp những kiến thức về Date để giúp bạn hiểu và ứng dụng thành thục. Bạn có thể tải về tập dữ liệu tại đây để thử nghiệm các hàm trong bài.
1. Các hàm tạo ngày (Functions for Generating Dates)
- DAX CALENDAR
Hàm CALENDAR tạo một dải ngày liên tục giữa ngày bắt đầu và ngày kết thúc được chỉ định. Hàm này được dùng để xây dựng bảng ngày (Date Table) nhằm thực hiện các phân tích theo thời gian trong Power BI.
Cú pháp: CALENDAR(<start_date>, <end_date>)
- DAX DATE
Hàm DATE trả về một giá trị ngày dựa trên năm, tháng và ngày mà bạn chỉ định. Hàm này được sử dụng khi cần tạo một ngày hoàn chỉnh từ các giá trị năm, tháng và ngày riêng lẻ trong dữ liệu.
Cú pháp: DATE(<year>, <month>, <day>)
2. Các hàm xử lý ngày tháng (Functions for Date Manipulation)
- DAX DATEVALUE
Hàm DATEVALUE chuyển đổi một ngày ở dạng văn bản (text) thành giá trị ngày hợp lệ. Hàm này cho phép Power BI nhận diện và xử lý các dữ liệu ngày tháng được lưu dưới dạng chuỗi văn bản.
Cú pháp: DATEVALUE(date_text)
- DAX EDATE
Hàm EDATE trả về một ngày nằm trước hoặc sau một ngày bắt đầu theo số tháng được chỉ định. Hàm này thường được sử dụng để tính các mốc thời gian trong tương lai hoặc quá khứ, chẳng hạn như ngày đến hạn thanh toán hoặc ngày gia hạn hợp đồng.
Cú pháp: EDATE(<start_date>, <months>)
- DAX EOMONTH
Hàm EOMONTH trả về ngày cuối cùng của tháng trước hoặc sau một số tháng được chỉ định tính từ ngày bắt đầu. Hàm này dùng để xác định ngày kết thúc tháng để phục vụ các báo cáo tài chính, kế toán hoặc phân tích theo kỳ.
Cú pháp: EOMONTH(<start_date>, <months>)
3. Các hàm tính toán ngày tháng (Functions for Date Calculations)
- DAX DATEDIFF
Hàm DATEDIFF tính khoảng cách giữa hai ngày theo đơn vị thời gian được chỉ định, chẳng hạn như ngày, tháng hoặc năm. Hàm này rất hữu ích khi cần đo lường khoảng thời gian giữa các sự kiện, tính thời hạn hợp đồng hoặc phân tích xu hướng theo thời gian.
Cú pháp: DATEDIFF(<Date1>, <Date2>, <Interval>)
- DAX DAY
Hàm DAY trích xuất ngày trong tháng từ một giá trị ngày được chỉ định. Hàm trả về một số nguyên trong khoảng từ 1 đến 31, tương ứng với ngày của tháng.
Cú pháp: DAY(<date>)
- DAX MONTH
Hàm MONTH trích xuất tháng từ một giá trị ngày hoặc ngày giờ được chỉ định. Hàm trả về một số nguyên từ 1 (tháng 1) đến 12 (tháng 12), tương ứng với tháng của giá trị ngày được cung cấp.
Cú pháp: MONTH(<datetime>)
- DAX YEAR
Hàm YEAR trích xuất năm từ một giá trị ngày được chỉ định. Hàm trả về một số nguyên gồm 4 chữ số trong khoảng từ 1900 đến 9999, tương ứng với năm của giá trị ngày đó.
Cú pháp: YEAR(<date>)
4. Các hàm làm việc với thời gian (Functions for Working with Time)
- DAX NOW
Hàm NOW trả về ngày và thời gian hiện tại của hệ thống. Hàm này thường được sử dụng để tính toán dữ liệu theo thời gian thực hoặc cập nhật động các báo cáo có liên quan đến yếu tố thời gian.
Cú pháp: NOW()
- DAX TODAY
Hàm TODAY trả về ngày hiện tại và tự động cập nhật mỗi khi workbook hoặc báo cáo được mở. Hàm này thường được sử dụng để tính toán khoảng thời gian bằng cách so sánh hoặc trừ các giá trị ngày với ngày hiện tại.
Cú pháp: TODAY()
5. Các hàm làm việc với tuần (Functions for Working with Weeks)
- DAX WEEKDAY
Hàm WEEKDAY trả về một số từ 1 đến 7 đại diện cho ngày trong tuần của một giá trị ngày được chỉ định. Theo mặc định, 1 tương ứng với Chủ nhật (Sunday) và 7 tương ứng với Thứ bảy (Saturday). Tham số return_type cho phép bạn tùy chỉnh cách đánh số các ngày trong tuần.
Cú pháp: WEEKDAY(<date>, <return_type>)
- DAX WEEKNUM
Hàm WEEKNUM trả về số tuần tương ứng với một ngày được chỉ định. Hàm hỗ trợ hai hệ thống đánh số tuần khác nhau:
Hệ thống 1: Tuần 1 là tuần đầu tiên của năm, bắt đầu từ ngày 1 tháng 1.
Hệ thống 2: Tuần 1 là tuần chứa ngày thứ Năm đầu tiên của năm, tuân theo tiêu chuẩn ISO 8601 (cách đánh số tuần phổ biến tại châu Âu).
Bạn có thể lựa chọn hệ thống đánh số tuần bằng cách chỉ định giá trị cho tham số return_type.
Cú pháp: WEEKNUM(<date>[, <return_type>])
6. Các hàm xử lý múi giờ (Functions for Handling Time Zones)
- DAX UTCNOW
Hàm UTCNOW trả về ngày và thời gian hiện tại theo múi giờ UTC (Coordinated Universal Time). Giá trị do hàm trả về chỉ thay đổi khi công thức được tính toán hoặc làm mới dữ liệu, thay vì được cập nhật liên tục theo thời gian thực.
Cú pháp: UTCNOW()
- DAX UTCTODAY
Hàm UTCTODAY trả về ngày hiện tại theo múi giờ UTC (Coordinated Universal Time). Hàm này tương tự như TODAY(), nhưng sử dụng thời gian UTC thay vì múi giờ cục bộ của hệ thống.
Cú pháp: UTCTODAY()
Với các hàm trên, bạn có thể dễ dàng làm việc và xử lý dữ liệu ngày tháng trong Power BI. Chúng hỗ trợ nhiều tác vụ khác nhau như tạo giá trị ngày, trích xuất thành phần thời gian, tính toán khoảng cách giữa các ngày và thực hiện các phân tích theo thời gian một cách hiệu quả. Đừng quên đón xem các bài viết mới nhất sẽ được cập nhật thường xuyên tại BAC's Blog.
Nguồn tham khảo:
https://www.geeksforgeeks.org/
Nhu cầu đào tạo doanh nghiệp
CÁC KHOÁ HỌC BUSINESS ANALYST BACs.VN DÀNH CHO BẠN
Khoá học Online:
Khoá học Offline:
Tại Tp.HCM:
Tại Hà Nội:
Tham khảo lịch khai giảng TẤT CẢ các khóa học mới nhất
Ban biên tập nội dung - BAC
