時間序列資料轉換基礎

Power BI 的時間序列分析

Kevin Barlow

Data Analytics Professional

脈絡與重要性

  • 時間序列資料在各行各業越來越常見。
  • 不同系統有不同需求與格式。

 

模擬資料架構

Power BI 的時間序列分析

ISO 作為國際標準

ISO 8601

  • 管理日期與時間資料的國際標準
  • 允許將日期時間轉換成不同格式
  • 提供在地化與個人化
  • 使用 FORMAT() 操作日期欄位

Example Date:

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
Power BI 的時間序列分析

UNIX:高精度時間戳

UNIX Time

  • 亦稱 Epoch time
  • 表示自 Epoch(January 1st, 1970, 00:00:00 UTC)以來經過的秒數
  • 通常用於電腦系統
  • 代表時間戳(日期與時間)

範例日期與時間

January 1st, 2022 06:00:00 UTC

1641016800

January 1st, 2022 18:00:00 UTC

1641060000

1 https://en.wikipedia.org/wiki/Unix_time
Power BI 的時間序列分析

在 Power BI 操作日期

DATEADD()

讓你從參考日期往前或往後移動指定數量的時間區間。

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

範例:

DATEADD('date', 30, DAY)

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

DATEDIFF()

計算兩個日期物件之間的時間區間數量。

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

範例:

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

Result: 14
Power BI 的時間序列分析

用 DAX 彙總資料

時間序列不一定是固定間隔,取決於資料如何蒐集,可能造成問題:

  • 多數時間演算法與公式假設間隔一致
  • 資料點之間可能發生重大變化

SUMMARIZE() 對資料表做彙總以「平滑」資料集。即使有遺漏或不規則,透過聚合仍能看出趨勢。

範例:

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

SUMMARIZE('sales', 
    sales[Quarter], 
    sales[Region], 
    "Total Sales", SUM(sales[revenue]))
Power BI 的時間序列分析

處理遺漏值

插補(Imputation)——當你對遺漏值有充分脈絡時很實用;常在 Power Query 進行。

插補資料範例

刪除資料——當列或欄有大量遺漏時可考慮;除非明顯有利分析,否則應避免。

刪除資料範例

Power BI 的時間序列分析

Superstore 資料集

在接下來的練習中,你會查看 Superstore 資料集。這是美國各地 Superstore 的 PoS(銷售點)資料。你將把日期格式化為正確格式,以便後續分析。

Superstore 資料

Power BI 的時間序列分析

一起來練習吧!

Power BI 的時間序列分析

Preparing Video For Download...