Într-un post de blog anterior, am explicat deja cum se realizează un tabel de date în Power BI cu DAX. Pe lângă date, puteți adăuga proprietăți suplimentare pentru fiecare dată: anul, numele lunilor, numele săptămânii, ... Dar ce zici de ore și minute? În acest blog și videoclip, vă vom arăta cum să creați tabele de timp în Power BI.

Multe rapoarte conțin date și, prin urmare, este posibil să creați una sau mai multe tabele de date în modelul dvs. Power BI. Un astfel de tabel de date conține cel puțin toate datele dintr-un interval de date care corespund nevoilor dvs. de afaceri (nu este necesar să vă începeți tabelul de date la 1 ianuarie 1930 dacă tranzacțiile dvs. de afaceri au început în 1990). Pe lângă date, probabil că veți adăuga proprietăți suplimentare pentru fiecare dată: anul, numele lunilor, numele zilelor săptămânii, ... Ceva de genul acesta:

creați

Puteți privi acest post de blog al lui Frederik Vandeputte deoarece explică perfect cum să creați un astfel de tabel de date cu DAX.

Ce zici de ore și minute

Uneori trebuie să raportați la un nivel mai granular decât ziua. Poate că lucrați într-o companie de livrare a coletelor și ați primit cererea de raportare pe oră, căutând modele privind momentul livrării. Sau poate, ca om de știință, faceți o iterație de experimente și chiar și secundele sunt importante într-o configurare specifică. Și, în sfârșit, ce se întâmplă dacă doriți să raportați despre tot ceea ce este între ele, cum ar fi intervale de 15 minute [0-14], [15-29], [30-44], [45-59]).

O primă abordare ar putea fi adăugarea de ore/minute/secunde la tabelul de date. Dar veți afla în curând că acest lucru va genera o cantitate enormă de date (31.536.000 de rânduri pentru fiecare an non-bisect). De asemenea, din perspectiva modelării, veți afla că este mai bine să separați dimensiunile datei și orei. Până acum, bine, dar cum creăm un astfel de tabel de timp în Power BI.

Nu este atât de dificil când folosim funcțiile corecte. Primul este GENERATESERIES și produce un tabel cu o singură coloană care conține valori consecutive între un anumit interval. Dacă vrem să creăm un interval cu toate orele posibile, se poate face cu această formulă DAX (tabel calculat):

Deoarece coloana este întotdeauna numită [Valoare], trebuie să o redenumim. În caz contrar, următoarea îmbinare încrucișată nu va funcționa atunci când trecem același nume de coloană de mai multe ori. Prin urmare, îl redenumim cu funcția SELECTCOLUMNS:

Acum, să punem acest lucru într-o variabilă „HourTable” și să folosim aceeași logică timp de minute și secunde (ambele variind de la 0 la 59). În acest fel, ajungem cu 3 variabile care conțin un tabel cu o singură coloană:

Având aceste 3 tabele, trebuie doar să le îmbinați încrucișat și să adăugați o coloană suplimentară care să mențină timpul (aveți nevoie de această coloană pentru a vă alătura tabelului dvs. de date):

Tabelul rezultat (după schimbarea tipului de date în Timp) conține 86.400 de rânduri și arată astfel:

Dacă secundele sunt prea granulare, le puteți lăsa afară (observați „0” în funcția Timp):

Și în cazul în care nu aveți nevoie de mai multă granularitate, să presupunem 15 minute (00:15, 00:30, (, 23:30, 23:45) puteți schimba definiția MinuteTable (observați al treilea parametru în funcția GENERATESERIES ):

Un ultim lucru: puteți adăuga coloane suplimentare pentru a crea niveluri suplimentare de grupare:

Modelul Power BI

După ce tabelul dvs. de timp este gata, îl puteți conecta cu un tabel de date. Pentru a face acest lucru, trebuie să aveți ora din tabelul de date ca o coloană separată și să o legați cu coloana de timp din tabelul de timp. În acest exemplu, vedeți că tabelul de informații „Fitbit2019” este legat atât de o dată cât și de un orar:

Cod complet

Doriți să vedeți un videoclip pas cu pas? Urmăriți tutorialul nostru.