Podstawy przekształcania danych szeregów czasowych

Analiza szeregów czasowych w Power BI

Kevin Barlow

Data Analytics Professional

Kontekst i znaczenie

  • Dane szeregów czasowych są coraz powszechniejsze w każdej branży.
  • Różne systemy mają różne wymagania i formaty.

 

Przykładowa architektura danych

Analiza szeregów czasowych w Power BI

ISO jako standard międzynarodowy

ISO 8601

  • Międzynarodowy standard zarządzania datami i godzinami
  • Umożliwia konwersję dat i godzin między formatami
  • Zapewnia lokalizację i personalizację
  • Modyfikuj pole daty za pomocą FORMAT()

Przykładowa data:

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
Analiza szeregów czasowych w Power BI

UNIX dla znaczników czasu o wysokiej precyzji

Czas UNIX

  • Zwany również czasem epoki (Epoch time)
  • Oznacza liczbę sekund, które upłynęły od epoki (1 stycznia 1970, 00:00:00 UTC)
  • Stosowany głównie w systemach komputerowych
  • Reprezentuje znacznik czasu (datę i godzinę)

Przykładowe daty i godziny

1 stycznia 2022, 06:00:00 UTC

1641016800

1 stycznia 2022, 18:00:00 UTC

1641060000

1 https://en.wikipedia.org/wiki/Unix_time
Analiza szeregów czasowych w Power BI

Manipulowanie datami w Power BI

DATEADD()

Przesuwa datę o określoną liczbę przedziałów czasowych.

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

Przykłady:

DATEADD('date', 30, DAY)

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

DATEDIFF()

Oblicza liczbę przedziałów czasowych między dwoma datami.

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

Przykłady:

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

Result: 14
Analiza szeregów czasowych w Power BI

Podsumowywanie danych w DAX

Szeregi czasowe nie zawsze mają regularne odstępy — zależy to od sposobu zbierania danych. Może to powodować problemy:

  • Algorytmy zakładają stały odstęp czasowy
  • Istotne zmiany mogą wystąpić między punktami danych

SUMMARIZE() — agreguje tabelę, „wygładzając" zbiór danych. Pozwala wykryć trendy nawet przy brakujących lub nieregularnych danych.

Przykład:

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

SUMMARIZE('sales', 
    sales[Quarter], 
    sales[Region], 
    "Total Sales", SUM(sales[revenue]))
Analiza szeregów czasowych w Power BI

Obsługa brakujących danych

Imputacja — przydatna strategia, gdy mamy dużo informacji o brakujących wartościach; stosowana najczęściej w Power Query.

Przykład imputacji danych

Usuwanie danych — stosowane, gdy wiersz lub kolumna ma znaczne braki; należy unikać, chyba że wyraźnie poprawia analizę

Przykład usuwania danych

Analiza szeregów czasowych w Power BI

Zbiór danych Superstore

W kolejnych ćwiczeniach będzie używany zbiór danych Superstore. Reprezentuje on dane punktów sprzedaży (PoS) sieci Superstore w Stanach Zjednoczonych. Zadaniem będzie formatowanie dat do poprawnego formatu na potrzeby dalszej analizy.

Dane Superstore

Analiza szeregów czasowych w Power BI

Czas na ćwiczenia!

Analiza szeregów czasowych w Power BI

Preparing Video For Download...