時系列データ変換の基礎

Power BI での時系列分析

Kevin Barlow

Data Analytics Professional

背景と重要性

  • 時系列データはあらゆる業界で増加しています。
  • システムごとに要件や形式が異なります。

 

モックアップのデータアーキテクチャ

Power BI での時系列分析

国際標準としてのISO

ISO 8601

  • 日付と時刻データの国際標準
  • 日付・時刻を別形式へ変換可能
  • 個人向けのローカライズ/パーソナライズに対応
  • FORMAT() で日付フィールドを整形

日付の例:

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時間

  • Epoch time とも呼ばれる
  • Epoch(1970年1月1日 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()

2つの日付オブジェクト間の時間間隔数を計算します。

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 での時系列分析

Ayo berlatih!

Power BI での時系列分析

Preparing Video For Download...