Includeti eficient componenta "timp" in analizele realizate cu Power BI - TKI Solutions

DISTRIBUITI



Power BI este un program software uimitor cand vine vorba de analiza si vizualizarea datelor, insa, din nefericire, nu ofera implicit functionalitati avansate pentru analiza bazata pe componenta “timp”. Cu alte cuvinte, nu puteti, in toate situatiile, imparti si analiza datele bazandu-va pe anumite intervale de timp (pe luna, pe trimestru, pe an etc.). Dar pentru a face acest lucru puteti utiliza un tabel care contine datele calendaristice, corelate cu lunile, trimestrele, anii din care fac parte. Acest tabel va avea rol de sursa a datelor din Power BI, exact ca orice tabel obisnuit pe care il utilizati pentru analiza datelor. Deci tabelul cu datele calendaristice poate fi stocat in format .xls, .csv sau intr-o baza de date SQL. Aveti posibilitatea de a descarca un tabel cuprinzator cu date de aici. Pentru a adauga tabelul in raport, trebuie sa il selectati ca sursa de date utilizand butonul “Get Data” din interiorul TAB-ului (sectiunii) Home. Dupa ce apasati acest buton, trebuie sa selectati fisierul dorit si apoi sa faceti clic pe “Load” pentru a-l primi in Power BI asa cum este. In cazul in care aveti intentia de a efectua modificari in cadrul tabelelor cu informatii (eliminare coloane, redenumire coloane, filtrarea valorilor etc.), in locul butonului Load veti utiliza butonul Edit. In cazul in care alegeti sa incarcati direct tabelul (prin Load), va puteti reintoarce oricand la el pentru modificari suplimentare.

 

Pozitionarea butonului Get Data in fereastra aplicatiei Power BI

 
Selectati acest tabel ca sursa de date, impreuna cu alte tabele pe care doriti sa le analizati. Stabiliti relatiile dintre tabelul de date calendaristice si un alt tabel care are o coloana cu informatii cu format de data calendaristica. Apoi veti putea analiza informatiile relativ la componenta “timp” asa cum doriti.

Cea mai usoara cale de a crea relatii este sa accesati tab-ul “Relationships” din meniul din partea dreapta a ferestrei si sa trageti si sa plasati coloana DateKey din tabelul de date deasupra coloanei cu valorile de tip data calendaristica din tabelul cu care urmeaza a fi relationat. Dar inainte de aceasta, asigurati-va ca respectiva coloana are formatarea corespunzatoare, respectiv formatare de tipul data calendaristica.

 

Pozitionarea butonului Relationships in fereastra aplicatiei Power BI

 
Pentru a obtine atat luna, cat si anul in aceeasi valoare (ianuarie 2017, februarie 2017, martie 2017 si asa mai departe), astfel incat sa puteti filtra vizualizarile realizate in functie de luna, vom adauga informatii noi in acest tabel, direct in Power BI. Vom crea o noua coloana si pentru valorile ei vom folosi formula CONCATENATE. Pentru a adauga o coloana noua, trebuie sa faceti clic oriunde in interiorul unui tabel si apoi, in meniul contextual care se deschide, clic pe optiunea “New column”. Personal, prefer sa dau click pe structura tabelului din bara din partea dreapta, deoarece imi confera o imagine de ansamblu asupra tuturor tabelelor si imi permite sa navighez rapid intre tabele si coloane.

 

Utilizarea meniului contextual in cadrul unui tabel, pentru adaugarea unei noi coloane (New column)

 
Formula CONCATENATE functioneaza exact ca cea cu acelasi nume din Excel. Este folosita pentru a inlantui bucati de text, dar se pot folosi doar 2 argumente (doua bucati de text care vor fi inlantuite). De aceea, trebuie sa folosim alta formula CONCATENATE in interiorul primei formule CONCATENATE pentru a inlantui 3 bucati de text: numele lunii, un spatiu (“ “) si numele anului.

Aceasta e formula utilizata pentru tabelul prezent (nu uitati ca, in cazul in care ati redenumit coloanele utilizate, va trebui sa folositi denumirile actuale):
 

 
Acesta formula inlantuie valorile din coloana YearName cu rezultatul inlantuirii spatiului (“ “) si valorile coloanei YearKey. Rezultatele vor arata ca acest exemplu: ianuarie 2017. Aceasta este care va fi afisata in momentul filtrarii vizualizarilor si a rapoartelor, dar de asemenea, este coloana care trebuie sortata corespunzator.

Trebuie sa retineti ca singurul mod in care veti obtine o sortare corespunzatoare a informatiilor din aceasta noua coloana este sa beneficiati de ajutorul unei alte coloane, cu informatii de tip numeric (sau de tip data calendaristica).

Prima solutie la care v-ati putea gandi este utilizarea coloanei DateKey, cea care are datele calendaristice complete si sortate in ordine cronologica. Insa acesta sortare ar fi eronata deoarece exista mai multe valori in DateKey pentru o singura valoare in coloana nou creata pe care am denumit-o in acest caz MonthAndYear.

Prin urmare, cel mai bun mod de a sorta aceste valori este acela de a crea o valoare numerica unica pentru fiecare dintre valorile care trebuie sortate. Pentru a le obtine, putem combina valorile YearKey si MonthAndYear intr-o coloana noua.

Sa presupunem ca utilizand formula CONCATENATE realizam o simpla inlantuire pentru datele care au urmatoarele valori: septembrie 2017 si noiembrie 2016. Pentru cele doua cazuri, rezultatele inlantuirii coloanei cu anul si a coloanei cu numarul lunii din an vor fi 20179 si 201610. A doua valoare este mai mare decat prima, de aceea sortarea nu se va face in mod corect.

Cheia, in acest caz este sa folosim o cifra suplimentara, mai exact cifra 0, in fata numarului acolo unde este cazul, astfel incat sa obtinem numerele care sa permita o sortare corecta, pentru acelasi exemplu (201709 si 201610). Dar aceasta cifra initiala ar trebui adaugata numai lunilor care au o singura cifra (din ianuarie pana in septembrie). Pentru a realiza acest lucru, putem folosi afirmatia IF si un test logic pentru a determina lungimea fiecarei valori si apoi, pe baza rezultatului, sa agaugam acea extra cifra (0) sau nu..

Aceasta e formula utilizata pentru tabelul prezent (nu uitati ca, in cazul in care ati redenumit coloanele utilizate, va trebui sa folositi denumirile actuale):
 

 

Dupa crearea acestei coloane, pe care am denumit-o MonthIndex, putem sorta valorile MonthAndYear pe baza acestor valori. Pentru a face acest lucru, trebuie selectata coloana care urmeaza a fi sortata (MonthAndYear) si apoi selectat TAB-ul “Modeling” si clic pe butonul “Sort by column”. Din lista derulanta trebuie aleasa coloana in functie de care se va face sortarea (MonthIndex). Acesta actiune va avea ca rezultat ordonarea dorita pentru coloana cu numele lunilor si anilor. Valorile din aceasta coloana vor putea fi folosite mai tarziu atat cu rol de valori in axele diferitelor vizualizari, cat si in cadrul filtrelor vizuale (denumite Slicers in cadrul Power BI).

 

Utilizarea functionalitatii Sort by Column pentru a sorta valorile dintr-o coloana in functie de valorile din alta coloana.

 
In exemplul de mai jos (raport creat in Power BI) puteti observa atat posibilitatea filtrarii dupa luna, trimestru sau an, prin utilizarea filtrelor (denumite in program “slicers”) din sectiunea “Filtre disponibile”, cat si graficele “Venit pe luna” si “Venit pe trimestru” care au valorile din tabelul cu date calendaristice pe cate o axa.
 
Puteti interactiona aici cu acest raport, dand click pe valorile din filtrele disponibile sau pe elementele vizuale din grafice:

Power BI ofera posibilitatea includerii rapoartelor in cadrul website-urilor.

Este demn de retinut faptul ca, utilizand o serie de pasi logici si simpli, concretizati prin modificari sau adaugari de informatii direct in Power BI, analiza datelor poate atinge un cu totul alt nivel de eficienta, fara a fi nevoie ca informatiile sa fie alterate si in sursa (document sau baza de date).