Power BI Day 15: 3 cách tạo Date Table cho Time Intelligence

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

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

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.  

3 cách tạo Date Table cho Time Intelligence

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 
Tạo Date Table bằng nguồn dữ liệu có sẵn 
  • Bước 2: Mở file Power BI, trong giao diện Report View, chọn Home\Get Data\Excel workbook 
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 
Chọn đường dẫn đến nơi chứa file Date và load dữ liệu vào Power BI

Kết quả: 

Tạo Date Table bằng nguồn dữ liệu có sẵn 

2/ Sử dụng Power Query 

  • Bước 1: Mở file Power BI, trong giao diện Report View, chọn Home\Transform data 
 Sử dụng Power Query 
  • 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 
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)) 

Trong ô Formula Bar của Query vừa tạo, nhập công thức sau

Ý 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à: 

Tạo Date Table
  • 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 

Tạo Date Table bằng Power Query
Tạo Date Table
  • 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 
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 

 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: 

 Custom Column 2

+ Thực hiện tương tự cho các cột còn lại  

Month= Date.Month([Date]) 

 Custom Column 3

WeekofYear= Date.WeekOfYear([Date]) 

 Custom Column 4

Day Name= Date.DayOfWeekName([Date]) 

 Custom Column 5

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

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

Kết quả: 

tạo date table bằng query

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 
Tạo date table bằng DAX
  • 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 
Tạo date table bằng DAX 1
  • 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  
Tạo date table bằng DAX 2
  • 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ả: 

Tạo date table bằng DAX 3

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 
Đánh dấu Date Table (Mark as Date Table) 
  • Khi cửa sổ mới xuất hiện, chọn cột Date trong Date Table  
Đánh dấu Date Table (Mark as Date Table) 2

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 
 Tạo relationship giữa Date Table và các bảng khác
  • Khi cửa sổ mới xuất hiện, chọn New 
Tạo relationship giữa Date Table và các bảng khác 2
  • Tạo relationship giữa Date Table và FactSales ( minh họa) như hình bên dưới: 
Tạo relationship giữa Date Table và các bảng khác 2

Kết quả: 

 Tạo relationship giữa Date Table và các bảng khác 3

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/

Chia sẻ bài viết này

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 *