Cơ bản về biến đổi dữ liệu chuỗi thời gian

Phân tích chuỗi thời gian trong Power BI

Kevin Barlow

Data Analytics Professional

Bối cảnh và tầm quan trọng

  • Dữ liệu chuỗi thời gian ngày càng phổ biến trong mọi ngành.
  • Hệ thống khác nhau có yêu cầu và định dạng khác nhau.

 

Mô hình kiến trúc dữ liệu

Phân tích chuỗi thời gian trong Power BI

ISO: tiêu chuẩn quốc tế

ISO 8601

  • Tiêu chuẩn quốc tế để quản lý dữ liệu ngày và giờ
  • Cho phép chuyển đổi ngày giờ sang định dạng khác
  • Hỗ trợ bản địa hóa và cá nhân hóa theo nhu cầu
  • Thao tác trường ngày với FORMAT()

Ngày ví dụ:

var date = January 1st 2022 
# US Standard (MM DD YYYY)

var date2 = FORMAT(date, "DD MM YYYY")
# UK Standard
# 1 January 2022

var date3 = FORMAT(date, "YYYY MM DD")
# ISO Standard
# 2022 January 01
1 https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations
Phân tích chuỗi thời gian trong Power BI

UNIX cho dấu thời gian độ chính xác cao

Thời gian UNIX

  • Còn gọi là Epoch time
  • Là số giây đã trôi qua kể từ Epoch (01/01/1970, 00:00:00 UTC)
  • Thường dùng trong hệ thống máy tính
  • Biểu diễn mốc thời gian (ngày và giờ)

Ví dụ ngày giờ

January 1st, 2022 06:00:00 UTC

1641016800

January 1st, 2022 18:00:00 UTC

1641060000

1 https://en.wikipedia.org/wiki/Unix_time
Phân tích chuỗi thời gian trong Power BI

Xử lý ngày trong Power BI

DATEADD()

Cho phép dịch chuyển một số khoảng thời gian từ một ngày tham chiếu.

DATEADD(<dates>,<number_of_intervals>,<interval>)

Ví dụ:

DATEADD('date', 30, DAY)

var timestamp_PST = 
    DATEADD('timestamp_EST', -3, HOUR)

DATEDIFF()

Tính số khoảng thời gian giữa hai đối tượng ngày.

DATEDIFF(<Date1>, <Date2>, <Interval>)

Ví dụ:

DATEDIFF(DATE(2019,2,1),
        DATE(2020,4,30),
        MONTH)

Result: 14
Phân tích chuỗi thời gian trong Power BI

Tóm tắt dữ liệu với DAX

Chuỗi thời gian không phải lúc nào cũng có khoảng đều, tùy cách thu thập. Điều này có thể gây vấn đề:

  • Thuật toán/thức yêu cầu khoảng thời gian nhất quán
  • Biến động lớn có thể xảy ra giữa các điểm dữ liệu

Dùng SUMMARIZE() để “làm mượt” dữ liệu. Khi gộp dữ liệu, ta vẫn rút ra xu hướng dù dữ liệu thiếu hoặc không đều.

Ví dụ:

SUMMARIZE('<table>', 
    [group_column(s)], 
    [new aggregated column(s)])

SUMMARIZE('sales', 
    sales[Quarter], 
    sales[Region], 
    "Total Sales", SUM(sales[revenue]))
Phân tích chuỗi thời gian trong Power BI

Xử lý dữ liệu thiếu

Bù khuyết (Imputation) – hữu ích khi ta có bối cảnh rõ về giá trị thiếu; thường thực hiện trong Power Query.

Ví dụ bù khuyết dữ liệu

Loại bỏ dữ liệu – dùng khi một hàng/cột thiếu nhiều dữ liệu; tránh trừ khi thực sự có lợi cho phân tích

Ví dụ loại bỏ dữ liệu

Phân tích chuỗi thời gian trong Power BI

Bộ dữ liệu Superstore

Trong các bài tập sau, bạn sẽ xem bộ dữ liệu Superstore. Đây là dữ liệu Point of Sale (PoS) cho các cửa hàng Superstore trên khắp Hoa Kỳ. Bạn sẽ định dạng ngày về đúng chuẩn để phân tích tiếp.

Dữ liệu Superstore

Phân tích chuỗi thời gian trong Power BI

Ayo berlatih!

Phân tích chuỗi thời gian trong Power BI

Preparing Video For Download...