Hiểu hàm CALENDARAUTO và sự khác biệt so với CALENDAR

Ngày đăng: 07/02/2023

Hàm CALENDAR và CALENDARAUTO trong Power BI đều là 2 hàm liên quan đến thời gian được xếp trong danh sách 100 hàm Time Intelligence được sử dụng phổ biến trong Power BI, được sử dụng trong tình huống chúng ta muốn tạo ra calculated table là một bảng date. Bảng Date này thường được sử dụng làm bảng dimension trong Data model. Giữa chúng vẫn có sự khác biệt về kết quả và cách dùng trong từng trước hợp. Chúng ta sẽ cùng tìm hiểu sự khác nhau giữa 2 hàm và cách sử dụng hiệu quả trong bài viết này.

Hàm CALENDAR

Cú pháp:

CALENDAR(<StartDate>, <EndDate>)

Trong đó, <StartDate>, <EndDate> là 2 biến có định dạng ngày tháng (datetime).

Kết quả:

Trả về một bảng với một cột duy nhất, bao gồm tất cả các ngày nằm giữa <StartDate> và  <EndDate> có bao gồm cả <StartDate>, <EndDate>.  

Hàm CALENDARAUTO trong Power BI

Hàm CALENDARAUTO  

Cú pháp:

CALENDARAUTO([<FiscalYearEndMonth>])

Trong đó, <FiscalYearEndMonth> là không bắt buộc. “FiscalYear” là thuật ngữ về năm tài khóa hoặc năm tài chính. Mặc định, năm tài chính kết thúc vào tháng 12 (tháng 12) 

Kết quả:

Hàm “CALENDARAUTO()” trong Power BI trả về một bảng với một cột duy nhất được gọi là “Ngày” chứa một tập hợp liên tục các ngày. Phạm vi ngày được tính tự động dựa trên dữ liệu trong mô hình. 

CALENDARAUTO gọi CALENDAR cung cấp một phạm vi ngày bao gồm tất cả các ngày trong phạm vi các năm được tham chiếu bởi dữ liệu trong mô hình, theo các quy tắc sau:

– Ngày sớm nhất trong mô hình không nằm trong một cột tính toán hoặc bảng tính toán được lấy làm MinDate. – Ngày cuối cùng trong mô hình không nằm trong một cột tính toán hoặc bảng tính toán được lấy làm MaxDate. – Phạm vi ngày trả về là các ngày giữa đầu năm tài chính liên quan đến MinDate và cuối năm tài chính liên quan đến MaxDate. 

– Một lỗi được trả về nếu mô hình không chứa bất kỳ giá trị ngày giờ nào không nằm trong các cột tính toán hoặc bảng tính toán. 

Ví dụ:  

Trong mô hình dữ liệu của mình MinDate là ngày 1/7/2010 và MaxDate là ngày 30/6/2019 

  • CALENDARAUTO() sẽ trả về một bảng bao gồm các ngày từ 1/1/2010 đến ngày 31/12/2019.
  • CALENDARAUTO(3) sẽ trả về một bảng bao gồm các ngày từ 1/4/2010 đến ngày 31/3/2020.

Kết luận

Mặc dù đều là hai hàm về thời gian trong Power BI nhưng CALENDARAUTO() phù hợp hơn khi tính toán lợi nhuận hoặc các chỉ số tính theo năm tài chính, bởi khi đó nếu bạn thêm dữ liệu vào mô hình dữ liệu Power BI sẽ tự động kéo giãn để đúng với năm tài chính mà bạn đang làm việc.  

Tài liệu tổng hợp tại: https://learn.microsoft.com/en-us/power-bi/guidance/auto-date-time

Với các bạn mới bắt đầu tìm hiểu Power BI & mong muốn ứng dụng Power BI trong công việc, hãy tham khảo khóa học PL-300: Microsoft Power BI Data Analyst từ Datapot.

Được thiết kế và giảng dạy bởi các chuyên gia giàu kinh nghiệm làm việc và đào tạo trong ngành dữ liệu, được triển khai tại các doanh nghiệp như Unilever, SHB, MB Ageas Life,.., khóa học sẽ mang đến cho bạn những kiến thức và kỹ năng thực tiễn nhất.

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 *