Miért kerüljük Power BI-ban Datetime adattípust?

Power BI-ban szeparáltan tároljuk az időt a dátumtól. Illetve nem csak Power BI-ban, hanem az adattárházakban és bármilyen BI rendszerben. Azaz pl. a 2023.03.13.-án 11:32 kor bekövetkezett eseményhez külön oszlopban tároljuk a dátumot (2023.03.13) és az időpontot (11:32) Tesszük ezt azért, mert így tudjuk majd legkönnyebben elemezni, hogy

  • hétfőnként, 11:00 -12:00 között hogyan alakult a terhelés
  • hány hívást fogadtunk csúcsidőben,
  • stb.

Ha ugyanis külön dimenzióba tesszük a dátumot és az időt, akkor ezek az elemzések játszi könnyedséggel elvégezhetők.

Power BI-ban azonban megjelenik még egy ok, ami miatt külön tároljuk a dátumot az időtől. Azzal ugyanis, ha szétválasztjuk a dátumot az időtől, növeljük az ismétlődés valószínűségét az oszlopban, és ennek következtében jobban tudja tömöríteni az oszlopokat a Power BI és összességében kisebb helyen el fog férni az adatbázisunk.

Tegyük fel, hogy van egy táblánk, amelyekben mondjuk bejövő hívások dátumát és időpontját tároljuk egy datetime oszlopban. Mekkora a valószínűsége az oszlopon belül az ismétlődésnek? Majdnem nulla. Most szedjük szét az oszlopot egy date és egy time oszlopra. Mekkora az ismétklődés valószínűsége a két új oszlopban? Nem tudom, de sokkal nagyobb mint a datetime oszlopban. Azáltal ugyanis hogy szeparáltuk az időt a dátumtól, növeltük az ismétlődés valószínűségét.

Idő tábla generálása

Az idő táblát generálhatjuk Power Query-ből is, DAX-ból is és beimportálhatjuk külső forrásból is. Aki nálam járt Power BI tanfolyamon az a tanfolyami anyagokban automatikusan kapott egy ilyen idő táblát, de a többieknek bemásolok ide egy DAX kódot, amivel maguk is legenerálhatják az idő dimenzió táblát:
 

Idő =
SELECTCOLUMNS (
    ADDCOLUMNS ( GENERATESERIES ( 014391 )"időpont"TIME ( 0, [Value], 0 ) ),
    "ID", [Value],
    "idő"FORMAT ( [időpont], "hh:mm" ),
    "Óra"HOUR ( [időpont] ),
    "perc"MINUTE ( [időpont] ),
    "óra (tól-ig)",
        HOUR ( [időpont] ) & "-"
            HOUR ( [időpont] ) + 1 & " óra"
)

Megj.: A való életben egy idő tábla sokkal több oszlopot tartalmaz, mert az időpontokat

  • Negyedórás, félórás
  • délelőtt/délután
  • csúcsidő/nem csúcsidő
  • I. , II., III. műszak
  • stb.

bontásokba csoportosíthatjuk.

Összefoglalva: Power BI-ban a dátumot és az időt szeparáltan tároljuk, mert

  1. ez támogatja a legjobban az elemzői munkát,
  2. és ezzel növeljük egy oszlopon belül az ismétlődés valószínűségét, ami csökkenti az oszlop méretét és összességében a két oszlop kevesebb helyet fog foglalni, mint az egy Datetime oszlop.

Kővári Attila - BI projekt

POWER BI WORKSHOP

Tudjon meg többet az itt elhangzottakról! Jöjjön el a 2024. január 24.-i Power BI workshopra vagy rendeljen kihelyezett képzést! Részletek >>

 

Új hozzászólás