[Power Query Tutorial] Cách sử dụng Date trong Power BI

 

Chức năng Date trong Power BI (Power Query) là bộ công cụ giúp trích xuất, biến đổi và chuẩn hóa dữ liệu ngày tháng hoàn toàn tự động. Việc xử lý trực tiếp các chiều thông tin thời gian ngay tại tầng tiền xử lý ETL bằng chức năng Date giúp tối ưu hóa dung lượng mô hình dữ liệu, tăng tốc độ tính toán Time Intelligence và hạn chế tối đa các lỗi sai lệch dữ liệu.

Dưới đây là hướng dẫn chi tiết toàn bộ các 28 tính năng thực tế của chức năng Date trong Power BI, phân tích mã ngôn ngữ M (M-Code) đằng sau từng thao tác và các kinh nghiệm chuẩn hóa dữ liệu theo chuẩn chuyên gia.

Chức năng Date trong Power BI – Power Query

Chức năng Date trong Power Query là bộ công cụ trực quan giúp biến đổi và trích xuất dữ liệu ngày tháng. Người dùng có thể tiếp cận chức năng này thông qua 2 vị trí trên thanh công cụ:

  • Thẻ Transform -> Nhóm Date & Time Column -> Biểu tượng Date: Biến đổi trực tiếp trên cột được chọn, thay thế dữ liệu gốc.
  • Thẻ Add Column -> Nhóm From Date & Time -> Biểu tượng Date: Giữ nguyên cột gốc và tạo ra một cột mới chứa kết quả biến đổi.

Các nhóm tính năng chính trong menu Date:

  • Age: Tính khoảng thời gian từ ngày trong cột đến thời điểm hiện tại.
  • Date Only & Parse: Chuẩn hóa kiểu dữ liệu ngày và phân giải các chuỗi ngày tháng phức tạp.
  • Year: Trích xuất năm, ngày đầu năm, ngày cuối năm.
  • Month: Trích xuất tháng, số ngày trong tháng, tên tháng, ngày đầu tháng, ngày cuối tháng.
  • Quarter: Trích xuất quý, ngày đầu quý, ngày cuối quý.
  • Week: Trích xuất số tuần trong tháng, số tuần trong năm, ngày đầu tuần, ngày cuối tuần.
  • Day: Trích xuất ngày trong tháng, ngày trong năm, ngày trong tuần, tên ngày, ngày bắt đầu/kết thúc ngày.
  • Earliest & Latest: Tìm mốc thời gian sớm nhất và muộn nhất trong danh sách.
  • Combine Date and Time: Kết hợp 2 cột Date và Time độc lập thành một cột DateTime hoàn chỉnh.

Minh họa chi tiết chức năng Date trong Power BI

Các thao tác tổng quan, chuẩn hóa và chức năng Năm

Khi chọn cột OrderDateTime và nhấn Age trong menu Date, Power Query sẽ tự động so sánh giá trị ngày của từng dòng với thời điểm hiện tại của hệ thống. Kết quả trả về là một giá trị thời lượng thuộc kiểu Duration (định dạng ngày.giờ:phút:giây), phản ánh chính xác số ngày và thời gian đã trôi qua. 

Date trong Power BI

Date trong Power BI

Thao tác chọn cột OrderDateTime rồi nhấn Date Only sẽ loại bỏ hoàn toàn thành phần giờ, phút, giây phía sau. Cột dữ liệu lập tức chuyển đổi thành định dạng ngày chuẩn YYYY-MM-DD với kiểu dữ liệu Date.

Date trong Power BI

Đối với các cột dữ liệu ngày tháng bị lẫn định dạng văn bản hoặc chứa thông tin múi giờ phức tạp, chọn cột và nhấn Parse. Power Query sẽ tự động nhận diện mẫu định dạng, loại bỏ múi giờ và chuyển đổi an toàn về kiểu Date chuẩn. 

Date trong Power BI

Khi chọn cột OrderDateTime và vào Year -> Year, hệ thống sẽ trích xuất riêng giá trị năm 4 chữ số. Cột dữ liệu đầu ra được tự động chuyển thành kiểu số nguyên Whole Number.

Date trong Power BI

Bằng cách chọn Year -> Start of Year, toàn bộ các mốc thời gian phát sinh trong cùng một năm sẽ được quy về chính xác ngày đầu tiên của năm đó: YYYY-01-01 00:00:00.

Date trong Power BI

Khi chọn Year -> End of Year, Power Query chuyển đổi mốc ngày thành ngày mùng 1 của năm kế tiếp.

Date trong Power BI

Nhóm Month

Khi chọn cột OrderDateTime và bấm Month -> Month, công cụ sẽ tách giá trị tháng dưới dạng số nguyên và bỏ đi các thành phần khác. 

Date trong Power BI

Khi thực hiện lệnh Month -> Start of Month, tất cả các ngày bất kỳ trong tháng đều được đưa về mốc ngày mùng 1 của tháng đó (YYYY-MM-01 00:00:00).

Date trong Power BI

Lựa chọn Month -> End of Month sẽ tự động tính toán và trả về mốc ngày mùng 1 của tháng kế đó.

Date trong Power BI

Nhấp vào Month -> Days in Month để trích xuất số lượng ngày thực tế của từng tháng (ví dụ: tháng 1 trả về 31, tháng 2 trả về 28 hoặc 29). 

Date trong Power BI

Chọn Month -> Name of Month để chuyển đổi giá trị ngày tháng thành tên chữ tiếng Anh đầy đủ (như January, February, March) với kiểu dữ liệu Text. Cột này dùng trực tiếp làm nhãn hiển thị trực quan trên biểu đồ. 

Date trong Power BI

Nhóm Quarter và Week

Chọn cột OrderDateTime và nhấp Quarter -> Quarter of Year, hệ thống sẽ tự động phân loại ngày tháng vào 4 quý trong năm, trả về giá trị số từ 1 đến 4 dạng Whole Number để phục vụ phân tích QoQ.

Date trong Power BI

Khi chọn Quarter -> Start of Quarter, dữ liệu sẽ được quy đổi về ngày đầu tiên của quý tương ứng (Quý 1 về 01/01, Quý 2 về 01/04, Quý 3 về 01/07, Quý 4 về 01/10).

Date trong Power BI

Chọn Quarter -> End of Quarter để xác định mốc thời điểm là ngày mùng 1 của quý kế tiếp.

Date trong Power BI

Thao tác chọn Week -> Week of Month sẽ trả về tuần thứ mấy của tháng (từ tuần 1 đến tuần 5 hoặc 6).

Date trong Power BI

Chọn Week -> Week of Year để trích xuất số thứ tự tuần trong năm (từ tuần 1 đến tuần 52 hoặc 53).

Date trong Power BI

Khi chọn Week -> Start of Week, mọi ngày trong cùng một tuần sẽ được đưa về ngày bắt đầu tuần (mặc định theo chuẩn hệ thống là Chủ Nhật).

Date trong Power BI

Nhóm chức năng còn lại

Nhấp chọn Day -> Day để lấy riêng chỉ số ngày trong tháng (từ ngày 1 đến ngày 31) dưới dạng số nguyên Whole Number.

Date trong Power BI

Chọn Day -> Day of Week để trả về số thứ tự của ngày trong tuần theo thang đo từ 0 đến 6 (mặc định 0 là Chủ Nhật, 1 là Thứ Hai).

Date trong Power BI

Thao tác chọn Day -> Day of Year sẽ tính toán ngày đang chọn là ngày thứ bao nhiêu trong năm (từ 1 đến 365 hoặc 366).

Date trong Power BI

Khi chọn Day -> Start of Day, Power Query sẽ đưa mốc thời gian về đúng thời điểm bắt đầu ngày mới: YYYY-MM-DD 00:00:00.

Date trong Power BI

Bằng cách chọn Day -> End of Day, giá trị thời gian được chuyển về thời điểm bắt đầu ngày tiếp theo.

Date trong Power BI

Chọn Day -> Name of Day để chuyển đổi mốc ngày thành tên thứ bằng chữ (như Monday, Tuesday, Sunday).

Date trong Power BI

Khi chọn cột OrderDateTime và nhấn Earliest, Power Query sẽ duyệt toàn bộ cột và rút gọn bảng thành một giá trị duy nhất là mốc thời gian sớm nhất trong tập dữ liệu (cột được chọn).

Date trong Power BI

Tương tự, nhấn Latest để lấy ra mốc ngày trễ nhất (mới nhất) trong toàn bộ cột dữ liệu.

Date trong Power BI

Khi chọn đồng thời 2 cột riêng biệt là Date và Time (bằng cách giữ phím Ctrl), sau đó chuyển sang thẻ Add Column và chọn Combine Date and Time, Power Query sẽ kết hợp dữ liệu ngày và giờ thành một trường thống nhất dạng DateTime.

Date trong Power BI

Sau khi hoàn tất thao tác, Power Query tạo ra một cột mới có tên Merged chứa đầy đủ dữ liệu ngày giờ theo định dạng chuẩn YYYY-MM-DD HH:MM:SS với kiểu dữ liệu DateTime.

Date trong Power BI

Mã M đằng sau chức năng Date trong Power BI

Chức năngMã M
AgeTable.TransformColumns(#”Source”, {{“OrderDateTime”, each DateTime.LocalNow() – _, type duration}})
Date OnlyTable.TransformColumns(#”Source”, {{“OrderDateTime”, DateTime.Date, type date}})
ParseTable.TransformColumns(#”Source”, {{“OrderDateTime”, each Date.From(DateTimeZone.From(_)), type date}})
YearTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.Year, Int64.Type}})
Start of YearTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.StartOfYear, type datetime}})
End of YearTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.EndOfYear, type datetime}})
MonthTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.Month, Int64.Type}})
Start of MonthTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.StartOfMonth, type datetime}})
End of MonthTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.EndOfMonth, type datetime}})
Days in MonthTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.DaysInMonth, Int64.Type}})
Name of MonthTable.TransformColumns(#”Source”, {{“OrderDateTime”, each Date.MonthName(_), type text}})
Quarter of YearTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.QuarterOfYear, Int64.Type}})
Start of QuarterTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.StartOfQuarter, type datetime}})
End of QuarterTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.EndOfQuarter, type datetime}})
Week of MonthTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.WeekOfMonth, Int64.Type}})
Week of YearTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.WeekOfYear, Int64.Type}})
Start of WeekTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.StartOfWeek, type datetime}})
DayTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.Day, Int64.Type}})
Day of WeekTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.DayOfWeek, Int64.Type}})
Day of YearTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.DayOfYear, Int64.Type}})
Start of DayTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.StartOfDay, type datetime}})
End of DayTable.TransformColumns(#”Source”, {{“OrderDateTime”, Date.EndOfDay, type datetime}})
Day of Week NameTable.TransformColumns(#”Source”, {{“OrderDateTime”, each Date.DayOfWeekName(_), type text}})
EarliestList.Min(#”Source”[OrderDateTime])
LatestList.Max(#”Source”[OrderDateTime])
Combine Date & TimeTable.AddColumn(#”Source”, “Merged”, each [Date] & [Time], type datetime)

So sánh chức năng trong thẻ Transform và Add Column

Tiêu chíThẻ TransformThẻ Add Column
Cơ chế hoạt độngGhi đè trực tiếp kết quả lên cột hiện tạiTạo ra một cột mới ở cuối bảng
Mã M sinh raTable.TransformColumns(…)Table.AddColumn(…)
Số lượng cộtGiữ nguyênTăng lên
Dung lượng file & RAMTối ưu hơn do không sinh thêm cộtTốn thêm bộ nhớ để lưu trữ cột mới
Trường hợp sử dụngKhi cần làm sạch dữ liệu (chuyển DateTime sang Date để nối bảng)Khi cần tạo các cột phân loại để làm Slicer hoặc Legend trên báo cáo

[FAQ] Một số câu hỏi liên quan chức năng Date trong Power BI

Tại sao hàm Date.DayOfWeek lại trả về giá trị 0 cho ngày Chủ Nhật?

Trong ngôn ngữ Power Query M, mặc định chỉ số ngày trong tuần bắt đầu từ 0 (Chủ Nhật) đến 6 (Thứ Bảy). Nếu muốn quy ước Thứ Hai là ngày đầu tuần (chỉ số 0), bạn có thể tùy chỉnh công thức M thành: Date.DayOfWeek([OrderDateTime], Day.Monday).

Làm sao để chuyển đổi tên tháng và tên thứ sang Tiếng Việt trong Power Query?

Cả hai hàm Date.MonthName và Date.DayOfWeekName đều hỗ trợ tham số ngôn ngữ (Culture). Bạn có thể viết trực tiếp trong thanh công thức:

  • Date.MonthName([OrderDateTime], “vi-VN”) để hiển thị Tháng Một, Tháng Hai, …
  • Date.DayOfWeekName([OrderDateTime], “vi-VN”) để hiển thị Thứ Hai, Thứ Ba, Chủ Nhật, …

Khi nào nên dùng chức năng Earliest/Latest?

Chức năng Earliest và Latest biến toàn bộ bảng thành một giá trị đơn. Kỹ thuật này thường được dùng trong các truy vấn phụ để tạo tham số lọc động, xác định ngày bắt đầu/kết thúc khi tạo bảng Calendar tự động hoặc tính số ngày trôi qua so với giao dịch cuối cùng.

Tổng kết

Việc làm chủ chức năng Date trong Power BI giúp bạn chuẩn hóa dữ liệu thời gian ngay tại tầng Power Query mà không cần viết DAX phức tạp. Thực hiện biến đổi ngày tháng từ bước ETL không chỉ giảm tải tài nguyên hệ thống, tối ưu khả năng nén của VertiPaq Engine mà còn đảm bảo độ chính xác tuyệt đối cho các hàm Time Intelligence khi xây dựng báo cáo.

Để học thêm nhiều thủ thuật xử lý data hay, bạn hãy ghé thăm Thư viện tự học Phân tích Dữ liệu miễn phí. Đừng quên tham khảo Khóa học Power BI Business Intelligence Essentials tại Starttrain nếu bạn đang tìm kiếm một lộ trình bài bản để làm chủ kỹ năng thiết kế báo cáo chuẩn executive.

Danh sách bài giảng

Power Query trong Power BI
410
▶

[Power BI Tutorial 2] Cách dùng Power Query trong Power...

Starttrain Official

Index Column
218
▶

[Power Query Tutorial] Cách dùng chức năng Index Column

Starttrain Official

Cách dùng chức năng Pivot Column
214
▶

[Power Query Tutorial] Cách dùng chức năng Pivot Column

Starttrain Official

Unpivot Column
198
▶

[Power Query Tutorial] Cách dùng chức năng Unpivot Column

Starttrain Official

Duration
191
▶

[Power Query Tutorial] Cách dùng Duration trong Power BI

Starttrain Official

Promoted - Demoted Headers
249
▶

[Power Query Tutorial] Cách dùng Promoted – Demoted Headers

Starttrain Official

Cách dùng R-Python Script trong Power BI
187
▶

[Power Query Tutorial] Cách dùng R Script và Python Script

Starttrain Official

Scientific
156
▶

[Power Query Tutorial] Cách dùng Scientific trong Power BI

Starttrain Official

Standard
199
▶

[Power Query Tutorial] Cách dùng Standard trong Power BI

Starttrain Official

Statistics
214
▶

[Power Query Tutorial] Cách dùng Statistics trong Power BI

Starttrain Official

Để lại một bình luận

Form - đọc sách
Form - Single Report Template

Vui lòng liên hệ qua những thông tin bên dưới. Starttrain sẽ phản hồi bạn trong thời gian sớm nhất.

Form Dashboard service