Hầu hết trong các trường hợp phân tích dữ liệu trong Power BI, chúng ta phải tạo một bảng Date Table riêng (bảng này hoạt động như một bảng Dimension Table) dựa trên dữ liệu đang có hoặc dựa trên một khoảng thời gian cụ thể để đáp ứng nhu cầu thực tế. Ngoài công dụng bổ sung các trường thông tin, ví dụ như năm tài chính, ngày làm việc, Date Table còn có thể giúp chúng ta format lại các tên ngày tháng cho gọn gàng và làm rõ ý nghĩa hơn. Đặc biệt, Date Table cũng hữu ích khi chúng ta tạo ra các hàm Time Intelligence hoặc tạo ra các báo cáo yêu cầu độ chính xác về ngày tháng.
Sau đây, mời các bạn tìm hiểu qua cách hoạt động và cách tạo ra Date Table trong Power BI nhé.
Mục lục
PHẦN 1. TÌM HIỂU VỀ DATE TABLE TRONG POWER BI
1/ Date Table trong Power BI là gì?
Date Table (hay còn gọi là Calendar Table) là bảng chỉ chứa dữ liệu liên quan đến “DATES & TIMES” (bao gồm ngày-tháng-năm-giờ) và được sử dụng để tham chiếu ngày trong mô hình.

2/ Vì sao phải tạo Date Table trong Power BI?
Các phân tích dựa trên ngày và giờ thường được yêu cầu trong các báo cáo Power BI và Date Table cho phép bạn chia nhỏ dữ liệu của mình theo các thuộc tính như ngày trong tuần, tháng, quý và năm. Chúng cũng cho phép chúng ta sử dụng các hàm Intelligence Time khi viết công thức DAX và thường các công thức này sẽ không hoạt động nếu không có Date Table.
3/ Thế nào là một Date Table đúng chuẩn?
Một số yêu cầu đối với Date Table như sau:
– Date Table phải có một cột ngày (Date Column) với kiểu dữ liệu ngày/giờ.
– Date Column không được có khoảng trống.
– Date Column phải có các giá trị duy nhất.
– Date Column phải có đầy đủ các ngày.
– Date Column phải được đánh dấu là Bảng ngày (điều này sẽ được thảo luận chi tiết sau trong bài viết này).
– Date Table phải kéo dài cả năm, tức là nó phải bao gồm tất cả các giá trị ngày tháng , chẳng hạn như nguyên năm dương lịch (tháng 1 đến tháng 12) hoặc năm tài chính.
PHẦN 2. CÁCH TẠO DATE TABLE TRONG POWER BI
1/ Tạo Date Table bằng nguồn dữ liệu có sẵn
Đối với cách này, bạn đã tạo sẵn 1 file dữ liệu chứa các thông tin về Date & Time ở bên ngoài ( phổ biến là tạo bằng file Excel). Sau đó, bạn sẽ import bảng này vào mô hình dữ liệu trong Power BI.
Cách thực hiện:
- Bước 1: Tạo file Excel chứa dữ liệu Ngày/tháng, đặt tên là Date

- Bước 2: Mở file Power BI, trong giao diện Report View, chọn Home\Get Data\Excel workbook

- Bước 3: Chọn đường dẫn đến nơi chứa file Date và load dữ liệu vào Power BI

Kết quả:

2/ Sử dụng Power Query
- Bước 1: Mở file Power BI, trong giao diện Report View, chọn Home\Transform data

- Bước 2: Khi cửa số giao diện Power Query xuất hiện, trong khoảng trống bất kỳ của ngăn Queries bên trái, click chuột phải để thả xuống menu, chọn New Query \ Blank Query

- Bước 3: Trong ô Formula Bar của Query vừa tạo, nhập công thức sau:
= List.Dates(#date(2011,01,01), 365*10, #duration(1,0,0,0))

Ý nghĩa:
#date(2011,01,01): Bảng dữ liệu sẽ xuất hiện với ngày bắt đầu là 01/01/2011
365*10: xem dữ liệu trong 10 năm tới, cách này đảm bảo khi có dữ liệu mới ở các bảng khác đổ vào, bạn sẽ không cần cập nhật bảng Date này
#duration(1,0,0,0)): dữ liệu sẽ được tạo ra cho mỗi ngày và có thể tăng theo giờ/phút/giây.
Kết quả của công thức trên là:

- Bước 4: Chuyển đổi danh sách trên thành Table bằng cách click chuột phải vào tiêu đề cột, chọn To Table
Khi cửa sổ mới xuất hiện, bấm OK


- Bước 5: Thay đổi định dạng cột bằng cách click vào biểu tượng ABC123 để thả xuống menu và chọn Date . Sau đó, đổi tên cột thành Date

- Bước 6: Tạo thêm các cột mới bao gồm Year, Month, Week of Year, Day Name bằng cách:
+ Trong Tab Add Column, chọn Custom Column

+ Khi cửa sổ mới xuất hiện, điền các giá trị như hình bên dưới:

+ Thực hiện tương tự cho các cột còn lại
Month= Date.Month([Date])

WeekofYear= Date.WeekOfYear([Date])

Day Name= Date.DayOfWeekName([Date])

Sau khi tạo xong, bạn sẽ có được một bảng Date gồm các cột như sau:

- Bước 7: Bấm Close & Apply để load Bảng Date vừa tạo vào môi trường Power BI

Kết quả:

3/ Sử dụng biểu thức phân tích dữ liệu (viết tắt là DAX)
Trong cách này, bạn có thể sử dụng các hàm CALENDARAUTO() hoặc CALENDAR() để tạo Date Table
- Hàm CALENDAR(): trả về một phạm vi ngày liền kề. Nó dựa trên ngày bắt đầu và ngày kết thúc được nhập làm đối số trong hàm.
- Hàm CALENDARAUTO() trả về một phạm vi ngày liền kề, đầy đủ được xác định tự động từ tập dữ liệu. Ngày bắt đầu được chọn là ngày sớm nhất tồn tại trong tập dữ liệu. Ngày kết thúc là ngày mới nhất tồn tại trong tập dữ liệu cùng với dữ liệu đã được điền vào tháng tài chính mà bạn có thể chọn đưa vào làm đối số trong hàm CALENDARAUTO()
Tình huống: Chúng ta muốn xem dữ liệu từ ngày 01/01/2011 ( ngày đầu tiên bán hàng) và chuyển tiếp trong vòng 10 năm kế tiếp
Cách thực hiện:
- Trong giao diện Report View, chọn thẻ Table tools\New table

- Nhập công thức sau: Dates = CALENDAR(DATE(2011, 01, 01), DATE(2022, 12, 31)) để tạo ra cột Date đầu tiên trong Bảng Dates

- Sau khi đã tạo ra được cột Date, tiếp tục tạo các cột liên quan khác như Year, Month, WeekNum, DayofWeek bằng cách click chuột phải vào cột Date, chọn New Column

- Lần lượt gõ các công thức sau:
+ MonthNum = MONTH(Dates[Date])
+ WeekNum = WEEKNUM(Dates[Date])
+ DayoftheWeek = FORMAT(Dates[Date], “DDDD”)
Kết quả:

PHẦN 3. CÁC BƯỚC CẦN THỰC HIỆN SAU KHI TẠO BẢNG DATE TABLE
1/ Đánh dấu Date Table (Mark as Date Table)
Thao tác đánh dấu 1 bảng là bảng ngày tháng chính thức (Date Table chính thức) được xem là “best practice” trong Power BI vì thao tác này ngăn Power BI tạo ra các “Date Table” khác trong mô hình (và do đó làm mô hình bị “phồng” lên). Các bước thực hiện tao tác này như sau:
- Click chuột phải vào Date Table vừa tạo, chọn Mark as date table

- Khi cửa sổ mới xuất hiện, chọn cột Date trong Date Table

2/ Tạo relationship giữa Date Table và các bảng khác
- Trong giao diện Model View, chọn tab Home\Mange relationship

- Khi cửa sổ mới xuất hiện, chọn New

- Tạo relationship giữa Date Table và FactSales ( minh họa) như hình bên dưới:

Kết quả:

Vậy là chúng ta đã cùng tìm hiểu qua một số thông tin cũng như cách tạo ra một Date Table trong Power BI. Rõ ràng, Date Table là một bảng Dimension rất hữu ích và không thể thiếu khi phân tích dữ liệu. Các bạn hãy nhanh chóng bổ sung loại table này trong các báo cáo của mình nhé.
Các bài viết liên quan:
https://datapot.vn/relationship-va-cac-thuoc-tinh-cua-no-tren-power-bi/
https://datapot.vn/loi-dinh-dang-date-trong-power-query-va-cach-khac-phuc/
https://datapot.vn/tu-hoc-power-bi-9-thanh-cong-cu-cua-power-query-editor/