Sunteți pe pagina 1din 41
Utilizarea instrumentului PowerPivot în Excel SUPORT DE CURS 1

Utilizarea instrumentului PowerPivot în Excel

SUPORT DE CURS

CUPRINS

CAPITOLUL 1. INTRODUCERE ÎN POWERPIVOT

3

1.1 Importul fișierelor de tip text (.csv)

4

1.2 Importul fișierelor de tip Excel (.xlsx)

5

1.3 Relaționare

6

1.4 Construire tabel pivot

7

1.5 Legarea datelor din Excel de PowerPivot

9

1.6 Crearea de legături în PowerPivot

11

CAPITOLUL 2. LUCRUL CU TABELE ÎN POWERPIVOT

14

CAPITOLUL 3. FUNCȚII ÎN POWERPIVOT

16

3.1

Funcții de dată și timp

16

3.1.1 Calcularea zilei din săptămână

18

3.1.2 Numărarea săptămânilor

18

3.1.3 Calculul scadenţelor

18

3.1.4 Calculul fracţional al anilor

19

3.1.5 Folosirea funcției TIME pentru calculul timpului

19

3.2 Funcții matematice și trigonometrice

20

3.3 Funții de text

22

3.4 Funcții logice

23

3.5 Funcții informative

24

3.6 Funcții de centralizare a datelor corelate din alte tabele

24

3.7 Funcții recursive

24

CAPITOLUL 4. CONSTRUIREA TABELELOR PIVOT

26

4.1 Filtre și slicer-e

28

4.2 Reguli importante referitoare la Pivot Tables

29

4.3 Convertirea tabelei pivot în valori

30

4.4 Convertirea unui tabel pivot în format cub

30

4.5 Lucrul cu Pivot Charts

30

4.6 Opțiuni suplimentare

31

CAPITOLUL 5. PERSPECTIVE ȘI MĂSURI

34

5.1 Perspective

34

5.2 Măsuri

34

5.2.1

Funcții utile în calculul măsurilor

35

5.2.2 Time Intelligence Functions

36

CAPITOLUL 6. FINE TUNING

39

6.1 Indicatori de performanță (KPI)

39

6.2 Ierarhii

40

CAPITOLUL 1. INTRODUCERE ÎN POWERPIVOT

Trebuie spus de la început ca POWERPIVOT NU este Excel, ci este un ADD-ON. Are multe asemănări cu Excel dar și multe deosebiri. POWERPIVOT gestionează mari cantități de date în memoria RAM (tabele principale) relaționându-le cu tabele de pe hard disk (tabele de lookup), creând tabele pivot pe care le prezintă și le prelucrează (doar tabelele pivot) în Excel.

După instalarea POWERPIVOT, în dreapta tab-ului View din Excel, se va găsi tab-ul PowerPivot. Accesarea butonului PowerPivot Window duce la comutarea și afisarea PowerPivot:

Window duce la comutarea și afisarea PowerPivot : Comutarea înapoi în Excel se face din butonul
Window duce la comutarea și afisarea PowerPivot : Comutarea înapoi în Excel se face din butonul

Comutarea înapoi în Excel se face din butonul de revenire.

înapoi în Excel se face din butonul de revenire. Tab-ul Home are grupări şi butoane (
înapoi în Excel se face din butonul de revenire. Tab-ul Home are grupări şi butoane (
înapoi în Excel se face din butonul de revenire. Tab-ul Home are grupări şi butoane (

Tab-ul Home are grupări şi butoane (Get External Data) cu care putem importa date în POWERPIVOT, din diferite surse. În exemplul care urmează, ne propunem să creăm un tabel pivot

de 999999 de linii şi un tabel din Excel, cele două

dintr-un fișier de date de tip .csv, delimitat cu

având un câmp comun (ca și conținut) şi anume ID Produs (numele celor două câmpuri nu e nevoie să fie identic) .

;

celor dou ă câmpuri nu e nevoie s ă fie identic) . ; Un prim mare
celor dou ă câmpuri nu e nevoie s ă fie identic) . ; Un prim mare

Un prim mare avantaj al lucrului cu PowerPivot este faptul ca tabelul de tip .csv se va încărca în memorie şi de acolo va fi accesat, viteza şi cantitatea de date crescând foarte mult (se pot prelucra peste 100 de milioane de linii din fişierul .csv). Cel de-al doilea mare avantaj constă în faptul că pot fi relaţionate două (sau mai multe) tabele, oarecum similar cu modul de lucru din Access.

Există un număr de moduri de a obține date în PowerPivot:

■ Puteți lega datele Excel care au fost convertite la un tabel.

■ Aveți posibilitatea să copiați și să lipiți date Excel în PowerPoint. Mai târziu, puteți adăuga la un tabel existent.

■ Puteți importa de la o bază de date, cum ar fi Access sau SQL Server.

■ Puteți importa de la orice raport SharePoint care are un simbol Atom în antet.

■ Puteți importa din mai multe surse Atom. Multe baze de date de pe Internet au feed-uri Atom, și

Atom este un nou mod de a publica datele dintr-un server SQL, deci vor fi în creștere exemple de companii care publica date ca feed-uri Atom.

■ din fisiere text, CSV sau TAB DELIMITED.

■ Din Oracle, Teradata, Sybase, Informix, IBM.

■ Din orice sursă de date ODBC / OLEDB.

Întrebarea este dacă trebuie să copiați și inserați un tabel Excel sau dacă ar trebui să-l legați. Probabil că există sute de date Excel potrivite pentru importul în PowerPivot. Pentru datele conținute în fișiere de tip text, e nevoie de un singur rând de cap de tabel, urmat de rânduri de date. Când aveți aceste date, se pot lega fie la versiunea de tabel a datelor stocate în registrul de lucru, (copy și paste), sau importa dintr-un fișier Excel. Când copiați și lipiți, nu trebuie să modificați datele originale în Excel. Puteți copia și lipi din orice registru de lucru în alt registru de lucru. Dar, pentru că nu se pot edita celule în PowerPivot, nu se pot face modificări ale datelor. Modificările trebuie sa se facă în Excel și sa se reimporte. Când vă legați la un tabel, va trebui să modificați datele în Excel căci ele nu pot fi modificate în PowerPivot. Tabelele trebuie să fie stocate în fișierul de lucru în care se află PowerPivot. Avantajul este că puteți actualiza link-ul și orice modificări ale datelor Excel vor apărea în PowerPivot. Puteți importa, de asemenea, date din fișiere Excel externe. Când importați date, puteți fie să le formatați fie ca un tabel, fie ca o zonă denumită, pentru import. Din nou, dacă modificați datele, puteți reîmprospăta link-ul și noile date vor intra în PowerPivot.

Este esenţial ca ordinea în care se încarcă fişierele în POWERPIVOT sa fie următoarea: mai întâi tabelul principal, de tranzacţii (în cazul nostru - .csv) şi apoi cel de "lookup", din două motive:

importul se face în ordinea prezentării şi relaţionarea tabelelor se face presupunând că primul tabel importat este cel principal.

1.1 Importul fișierelor de tip text (.csv)

Din POWERPIVOT, tab-ul Home, gruparea Get External Data, butonul From Text alegem fişierul

Demo.csv, bifând faptul că e separat cu

;

şi are prima linie ca header:

faptul că e separat cu ; şi are prima linie ca header: În acest moment sunt
faptul că e separat cu ; şi are prima linie ca header: În acest moment sunt

În acest moment sunt afişate doar 50 de linii pentru un preview şi trebuie rezolvate unele aspecte ale vitezei: dacă unele coloane nu sunt necesare se vor elimina iar unele vor fi adăugate, calculate, (necesare pentru filtrări) deoarece POWERPIVOT nu poate face filtrări așa ca Excel. Tot acum se fac

filtrările şi sortările necesare. În cazul de faţă, adăugăm o coloană ce va conţine anul şi una ce va conţine luna, preluate din datele tabelului.

şi una ce va conţine luna , preluate din datele tabelului. 1.2 Importul fișierelor de tip
şi una ce va conţine luna , preluate din datele tabelului. 1.2 Importul fișierelor de tip
şi una ce va conţine luna , preluate din datele tabelului. 1.2 Importul fișierelor de tip
şi una ce va conţine luna , preluate din datele tabelului. 1.2 Importul fișierelor de tip

1.2 Importul fișierelor de tip Excel (.xlsx)

Pentru revenirea în Excel se apasă butonul de revenire aflat în partea din stânga sus:

butonul de revenire aflat în partea din stânga sus: În mod uzual, pentru început trebuie sa

În mod uzual, pentru început trebuie sa convertim datele pe care le avem, într-un tabel, așa cum este acesta înțeles în Excel:

într-un tabel, așa cum este acesta înț eles în Excel: Cu un click (celula activă )

Cu un click (celula activă) în interiorul zonei de date (viitorul tabel), accesăm tab-ul Home, gruparea Styles, butonul Format as Table, tabel ce poate fi redenumit cu un nume sugestiv.

as Table , tabel ce poate fi redenumit cu un nume sugestiv. Pentru lipirea datelor din

Pentru lipirea datelor din Excel în POWERPIVOT, datele din tabel se selectează cu CTRL+* şi se copiază cu CTRL+C apoi se revine în POWERPIVOT prin click pe tab-ul POWERPIVOT şi vom ajunge să vedem din nou datele din tabelul principal, cel de 999999 de linii. Aici, în tab-ul Home vom apăsa butonul Paste iar noului tabel îi vom da un nume sugestiv (InfoMagazine).

În acest moment, POWERPIVOT recunoaşte două tabele: tabelul principal, Rapoarte , de tip txt (.csv)

În acest moment, POWERPIVOT recunoaşte două tabele: tabelul principal, Rapoarte, de tip txt (.csv) și tabelul InfoMagazine de tip .xlsx. Urmează relaţionarea celor două: în tab-ul Design gruparea Relationships butonul CreateRelationship. După relaționare, tabelele legate pot fi vizualizate cu ajutorul butonului Diagram View.

1.3 Relaționare

Vom relaționa o coloană din tabelul principal (.csv) cu o coloană din celălalt tabel (.xlsx) făcând click pe o celulă din coloana ID Produs a tabelului Rapoarte apoi clik pe butonul CreateRelationship și completând linia de jos cu datele din tabelul de tip .xlsx și încheiem acțiunea cu Create.

ș i completând linia de jos cu datele din tabelul de tip .xlsx și încheiem acțiunea

Faptul că cele două tabele sunt relaționate se vede în capul de tabel:

două tabele sunt relaționate se vede în capul de tabel: În acest moment putem trece la

În acest moment putem trece la construirea uni PowerPivot Table, având toate datele necesare: două tabele, primul, principal (.csv) în memorie, și cel de-al doilea (.xlsx) copiat din Excel, relaționate prin câmpurile ID Produs.

1.4 Construire tabel pivot

Unul dintre avantajele PowerPivot este și faptul că mai multe tabele pivot pot împărți aceleași date și slicer-e. În tab-ul Home din POWERPIVOT, butonul Pivot Table poate crea mai multe tipuri de pivoți:

Pivot Table poate crea mai multe tipuri de pivoți: Începem prin a crea un simplu tabel

Începem prin a crea un simplu tabel pivot apăsând Pivot Table ceea ce va determina trecerea în Excel și posibilitatea de a opta pentru a fi creat într-o nouă foaie sau în aceeași. Optăm pentru unul nou și obținem un tabel pivot asemănător cu ceea ce știam din Excel. Se observă existența mai multor ferestre în zona Field List și apariția tab-ului Pivot Table Tools.

Field List și apariția tab -ului Pivot Table Tools . Pntru obținerea unui tabel pivot cu

Pntru obținerea unui tabel pivot cu slicere, procedăm astfel: bifăm Venit (și va apare la ∑ Values), tragem Oras la Row Label, Zona la Columns Label, Anul și Luna la Slicers Vertical și Mall la Slicers Horizontal orice modificare ulterioară fiind posibilă.

Tabelul pivot astfel obținut se poate formata cu ajutorul tab-urilor Design și Options din Pivot Table Tools: benzi orizontale și/sau verticale ca aspect, formatarea câmpului activ (Sum of Venit) ca nur, etc.

Tools : benzi orizontale și/sau verticale ca aspect, formatarea câmpu lui activ (Sum of Venit) ca
Tools : benzi orizontale și/sau verticale ca aspect, formatarea câmpu lui activ (Sum of Venit) ca
Tools : benzi orizontale și/sau verticale ca aspect, formatarea câmpu lui activ (Sum of Venit) ca

1.5 Legarea datelor din Excel de PowerPivot

În cazul în care datele se găsesc în alte baze de date și/sau în alte tabele Excel, datele pot fi doar legate, nu importate în PowerPivot. Astfel, aceluiași tabel Excel din exemplul anterior i se setează atributul de tabel legat, astfel:

anterior i se setează atributul de tabel legat, astfel: rezultatul fiind că în PowerPivot

rezultatul fiind că în PowerPivot

Production_TransactionHistory din baza de date de tip .accdb), tabelul apare ca fiind legat:

(care

este

deja

activ

și

are

acces

apare ca fiind legat: (care este deja activ și are acces la tabela mai departe construcția

la

tabela

mai departe construcția tabelului pivot decurgând similar cu exemplul prezentat deja.

Faptul că datele din Excel trebuie să fie în tabele are unele implicații:

prima linie e implicit înghețată, liniile sunt colorate alternativ,

opțiunea Custom View nu mai e disponibilă,

nu se mai poate partaja din Review/ Share Workbook,

auto-filter este implicit,

toate câmpurile calculate se vor recalcula pentru noile rânduri introduse.

calculele ce se fac în tabele sunt specifice modului de lucru cu tabele (o formula de calcul introdusa într-o celula se propagă pe toată coloana acelei celule, etc.). Există și situații în care datele nu e indicat sa fie legate cu POWERPIVOT și anume atunci când datele trebuie să poată fi partajate cu alte persoane. În acest caz, datele se vor importa de fiecare dată când va fi nevoie. Pe lângă aceste posibilități, există opțiunea de a adăuga date la cele deja existente și anume cu opțiunea Paste Append. Datele copiate anterior (cu tot cu cap de tabel) se adaugă la sfârșitul tabelului care trebuie actualizat și din POWERPIVOT, gruparea Clipboard, cu butonul Paste Append. În cazul în care structura datelor nu se mai potrivește cu structura tabelului existent, se afișează un mesaj de eroare. Mesajul de eroare poate proveni și de la faptul că s-au adus date cu tot cu cap de tabel și nu s-a specificat acest lucru prin bifarea opțiunii corespunzătoare din fereastra de PastePreview.

opțiunii corespunzătoare din fereastra de PastePreview. În cazul în care se aduc date prin copy/ paste,

În cazul în care se aduc date prin copy/paste, nu trebuie să existe nici o celulă fără date (valori) într-o coloană cu valori numerice deoarece aceasta va cauza contorizarea (numărarea) și nu însumarea valorilor la crearea tabelului pivot. De asemenea, trebuie știut că pot apărea greșeli la importul datelor calendaristice din sisteme mai vechi (gen 32/01/2013), valorile invalide fiind convertite în text și se vor crea celule goale în cazul folosirii celulelor cu date calendaristice incorecte în formule. La crearea unui tabel pivot cu aceste erori, se va genera o linie care are data calendaristică goală, plasată la începutul listei rezultat.

Datele din care se creează POWERPIVOT nu pot fi editate în POWERPIVOT , cel mult
Datele din care se creează POWERPIVOT nu pot fi editate în POWERPIVOT , cel mult
Datele din care se creează POWERPIVOT nu pot fi editate în POWERPIVOT , cel mult

Datele din care se creează POWERPIVOT nu pot fi editate în POWERPIVOT, cel mult se pot șterge coloane, dar nu se pot șterge linii sau edita celule. Datele de modificat se editează în Excel și se importă fie cu PasteAppend fie cu PasteReplace, de la caz la caz.

Dacă datele inițiale din care s-au creat tabelele pivot nu mai există, se pot re-crea din datele existente în POWERPIVOT apoi edita în Excel și reintroduse în POWERPIVOT cu PasteReplace astfel:

1. În fereastra POWERPIVOT.

2. Selectăm iconița din stânga sus a ferestrei pentru a selecta întregul tabel.

stânga sus a ferestrei pentru a selecta întregul tabel. 3. Folosim Copy . 4. Ne întoarcem

3. Folosim Copy .

4. Ne întoarcem în Excel.

5. Într-o zonă goală dintr-o foaie facem Paste și edităm datele.

6. Selectăm tot tabelul cu Ctrl+*.

7. Ne întoarcem în PowerPivot.

8. Folosim Paste Replace.

Mai există o metodă de a importa date din Excel: aceea de a denumi o parte dintr-o foaie. Avantajele ar fi că acea zonă poate rămâne la dispoziția colegilor pentru editare și în plus, POWERPIVOT reține link-ul către acea zonă denumită. POWERPIVOT păstrează o copie a datelor ca și în cazul metodei copy+paste și un simplu refresh în POWERPIVOT rezolvă problema actualizării datelor din POWERPIVOT. Denumirea unui domeniu are unele avantaje printre care cel mai important este că este "elastic", adică datele adăugate sau șterse ulterior definirii lui rămân în domeniul denumit. Importul datelor se face din POWERPIVOT din tab-ul Home gruparea GetExtrernalData, unde există o listă de surse din care se pot importa date. Din butonul FromOtherSources alegem Excel și din fereastra de browse alegem fișierul necesar, bifând că prima linie constituie cap de tabel.

alegem Excel și din fereastra de browse alegem fișierul necesar, bifând că prima linie constituie cap
alegem Excel și din fereastra de browse alegem fișierul necesar, bifând că prima linie constituie cap
alegem Excel și din fereastra de browse alegem fișierul necesar, bifând că prima linie constituie cap
Pentru a ne asigura că datele cu care lucrăm sunt la zi, se folosește butonul

Pentru a ne asigura că datele cu care lucrăm sunt la zi, se folosește butonul de Refresh din gruparea GetExtrernalData.

butonul de Refresh din gruparea GetExtrernalData. 1.6 Crearea de legături în PowerPivot Un mare beneficiu

1.6 Crearea de legături în PowerPivot

Un mare beneficiu al POWERPIVOT este faptul că poate crea legături între două sau mai multe tabele, în așa fel încât tabelele să lucreze împreună. Relaționarea e mai ușoară decât VLOKUP, uneori POWERPIVOT poate detecta coloanele după care se face relaționarea, dar relaționarea nefiind obligatoriu să fie făcută automat, se poate face și manual.

să fie făcută automat, se poate face și manual. Cele trei tabele (puse în trei sheet-uri
să fie făcută automat, se poate face și manual. Cele trei tabele (puse în trei sheet-uri

Cele trei tabele (puse în trei sheet-uri diferite) se pot relaționa astfel:

Ideal ar fi ca rep din coloana B sa fie relaționat cu rep din coloana E. Apoi sa unim județele din colona G cu județele din coloana I.

sa unim județele din colona G cu județele din coloana I. r ezultat ce este evident
sa unim județele din colona G cu județele din coloana I. r ezultat ce este evident

rezultat ce este evident greșit dar POWERPIVOT sugerează că ar fi nevoie de o relaționare (care încă nu a fost făcută).

După acceptarea creării, rezultatul va fi următorul:

După acceptarea creării, rezultatul va fi următorul: Putem afla ce relații a ț i stabilit în
După acceptarea creării, rezultatul va fi următorul: Putem afla ce relații a ț i stabilit în

Putem afla ce relații ați stabilit în POWERPIVOT, în fereastra de POWERPIVOT, în tab-ul Design, la gruparea Relationships, butonul Manage Relationships se poate edita relația creată anterior și se observă că se referă la câmpurile rep din cele două foi - Sheet1 și Sheet2.

rep din cele două foi - Sheet1 și Sheet2 . Dacă vrem să vedem și bonusurile,

Dacă vrem să vedem și bonusurile, adăugăm și bonus din Sheet3 și din nou POWERPIVOT ne solicită să acceptăm crearea unei relații:

ne solicită să acceptăm crearea unei relaț ii: De data aceasta POWERPIVOT nu mai știe să
ne solicită să acceptăm crearea unei relaț ii: De data aceasta POWERPIVOT nu mai știe să

De data aceasta POWERPIVOT nu mai știe să relaționeze corect câmpurile judet din cele două tabele. Pentru a trece peste limitările relaționării automate, se realizează relaționarea manuală realizată din câteva click-uri de mouse. În cazul în discuție relaționarea câmpurilor judet din cele două tabele, se realizează astfel:

În tabela din Sheet2, se selectează o celulă din coloana judet apoi, în tab-ul Design, gruparea Relationships, butonul CreateRelationship:

Dacă dorim să calculăm bonusul, vom adăuga o coloană adițională în tabelul Sheet1 în care

Dacă dorim să calculăm bonusul, vom adăuga o coloană adițională în tabelul Sheet1 în care vom aplica formula =[venituri] * Related (Sheet2[bonus]). Utilizăm o funcție nouă – Related, care îi va spune POWERPIVOT cu ce câmp și din ce tabelă se va face înmulțirea.

cu ce câmp și din ce tabelă se va face înmulțirea . Funcția Related e parte
cu ce câmp și din ce tabelă se va face înmulțirea . Funcția Related e parte

Funcția Related e parte a DAX - Data Analysis Expressions – este o propunere de limbaj de formule.

Expressions – este o propunere de limbaj de formule. De menționat că între două tabele nu

De menționat că între două tabele nu poate exista decât o singură relaționare. Dacă e nevoie de o relaționare multiplă, se importă de mai multe ori aceași tabelă, sub nume diferite și se relaționează cu fiecare copie în parte. Nu există relaționări many-to-many. Redenumirea unei tabele din POWERPIVOT nu afectează relaționările deja definite. Relațiile se adaptează redenumirilor dar câmpurile calculate NU se adaptează redenumirilor (se vor redenumi ÎNAINTE de calcularea câmpurilor). Relaționările nu sunt CaseSensitive. Caracterele SPATIU de după denumirea coloanelor nu sunt luate în calcul. Numerele stocate ca text nu se vor putea relaționa, coloana care le conține va fi importată ca text.

CAPITOLUL 2. LUCRUL CU TABELE ÎN POWERPIVOT

Tabelul din POWERPIVOT seamănă mult cu cel din Excel dar nu poate:

- să editeze o singură celulă

- să schimbe culoarea celulelor

- să adauge comentarii celulelor

- să printeze datele

Se pot formata prin schimbarea formatării, similar cu cea din Excel, dar aici se modifică și tipul datelor, nu doar aspectul lor. Modificarea formatării unei celule dintr-o coloană are efect asupra întregii coloane. În cazul în care pot apărea pierderi de date din cauza convertirii dintr-un format în alt format apare un mesaj de atenționare. DAX suporta 8 tipuri de date:

- Intreg pe 8 byte

- Real pe 8 byte

- Boolean – YES / NO

- String (șir)

- Date – calendaristică în reprezentare SQL Server

- CY – currency

- Blank – înlocuiește blank din Excel, NULL din SQL, șirul vid. Cu toate că se poate formata o celeulă cu funcția BLANK, NU se poate formata o întreaga coloană ca Blank. Formatările din fererastra POWERPIVOT nu se regăsesc în PivotTable; tipul datelor definit în POWERPIVOT afectează calculele: intreg + data = data, real + data = real, real * data = data.

Excel

DAX

blank + blank = 0

blank + blank = blank

blank * 5 = 0

blank * 5 = blank

5 / blank = #DIV/0

5 / blank = infinit

 

blank OR True = True

 

blank AND blank = blank

Sortarea: pentru o singură coloană funcționează ca în Excel; pentru mai multe coloane (ex: Data din Produse din Regiuni) – se începe sortarea de la Data, apoi Produse apoi Regiuni. Oricum, sortarea nu se propagă în POWERPIVOT. Filtrarea: se face destul de greoi și oricum NU se propaga în POWERPIVOT, este doar pentru vizualizarea datelor. Totuși, POWERPIVOT poate folosi la manipularea unei mari cantități de date, care altfel nu poate fi manipulată în Excel. Din 5.000.000 de linii prin filtrare se obțin 1.000.000 și tot e un câștig:

- Se importa cele 5.000.000 de linii în POWERPIVOT

- Se filtreză

- Se selectează toate (butonul triunghiular stânga sus)

- Se copiază cu butonul Copy

- Se lipesc (după întoarcere) în Excel.

Coloanele pot fi mutate prin drag&drop, li se poate modifica lațimea și pot fi înghețate (dar se mută la stânga).

Stergea unei coloane calculate este reversibilă (UnDo) dar ștergerea unei coloane cu date adevărate, dupa confirmarea ștergerii, nu mai este reversibilă.

Click dreapta pe o celulă are doar două opțiuni, Copy și Filter dar click drepta pe denumirea coloanei are mult mai multe:

dar click drep ta pe denumirea coloanei are mult mai multe: Coloanele calculate se obțin cu

Coloanele calculate se obțin cu DAX. Operatorii sunt unii similari cu Excel, alții diferiți:

- +-/* operațiuni matematice

- & concatenare

- ^ exponent

- =, >, <, <>, >=, <=, comparații

- && - AND între două condiții

- || - OR între două condiții

Adăugarea de coloane calculate se face în fereastra tabelului. Similar cu Excel, introducerea unei formule începe cu semnul = (egal). În continuare se poate scrie un operator sau se poate accesa fx, de unde să alegem funcțiile DAX necesare. Funcția de autocompletare ajută la completarea cu numele unei funcții sau al unei tabele. Nu se poate naviga printre celulele unei tabele cu cursoarele săgeți și nu se poate adăuga semnul $ cu tasta F4. Nu există nume definite în Dax, deci nu se poate folosi nici F3.

CAPITOLUL 3. FUNCȚII ÎN POWERPIVOT

Separarea parametrilor din cadrul funcțiilor DAX se face cu

sistemului de operare (Start, Control Panel, Region and Language, tab-ul Formats, Additional

Settings

așa cum a fost stabilit în setările

,
,
;
;

sau

,

Customize Format, Number, List Separator – care poate fi , sau ; .

3.1 Funcții de dată și timp

DATE(<year>, <month>, <day>)

Întoarce data specificată în format de dată (e bine să se folosească 4 cifre la an, altfel 07 va fi convertiti în 1907, nu în 2007).

DATEVALUE(date_text)

Convertește un text în data calendaristică (ex:

“1/1/2008” sau “30-Dec-2011”).

 

EDATE(<start_date>, <months>)

Întoarce data calculată prin adăugarea sau scăderea (dacă e negativă) unui număr de luni.

EOMONTH(<start_date>, <months>)

Întoarce data ultimei zile din luna, calculată prin adăugarea sau scăderea unui număr de luni.

YEAR(<date>)

Întoarce un număr reprezentând anul, dintr-o data calendaristică.

MONTH(<datetime>)

Întoarce

numărul

lunii

1

(Ianuarie)

la

12

(Decembrie).

 

DAY(<date>)

Întoarce ziua din dată ca număr între 1 și 31.

 

YEARFRAC(<start_date>, <end_date>,<basis>)

Calculează fracţiuni dintr-un an reprezentate ca număr de zile întregi între cele două date.

HOUR(<datetime>)

Întoarce numărul de ore 0 (12:00 a.m.) la 23 (11:00 p.m.).

MINUTE(<datetime>)

Întoarce numărul de minute între 0 la 59

 

SECOND(<time>)

Întoarce numărul de secunde ca număr între 0 și

59.

NOW()

Întoarce data și ora curentă în format data și timp. Dacă se folosește la calcule de zile, rezultatul este în zile şi fracţiuni de zile. Calculul de zile rezultat din celule ce conţin date calendaristice este tot o dată calendaristică. Dacă dorim să-l avem în format numeric, va trebui ca rezultatul sa-l înmulţim cu un număr real 1.00 (care va converti rezultatul la un număr real).

TODAY()

Întoarce data curentă. Dacă se folosește la calcule de zile, rezultatul este în zile întregi. Este de preferat pentru ca Excel să nu folosească zile fracţionate.

TIME(hour, minute, second)

Convertește numere reprezentând ore minute și secunde în format timp.

TIMEVALUE(time_text)

Convertește un text în data în format dată.

 

WEEKDAY(<date>, <return_type>)

Întoarce un număr între 1 şi 7 reprezentând numărul zilei din săptămână - implicit 1 este duminică la 7 care este sâmbătă.

WEEKNUM(<date>, <return_type>)

Întoarce

numărul

săptămânii

din

an,

în

concordanță

cu

convenţiile

de

numărare a

săptămânilor.

Exemple =DATE(2010,14,17) va întoarce 17 februarie, 2011. Dacă luna e mai mică decât 1, se va întoarce o dată din anul precedent:

=DATE(2010,0,31) întoarce 31 decembrie, 2009. =DATE(2010,-1,1) întoarce 1 noiembrie, 2009. Dacă numărul de zile este mai mare decât numărul de zile din lună, DATE va întoarce o dată din luna (lunile) următoare. =DATE(2011,1,33) întoarce 2 februarie, 2011 Ziua 0 este tratată ca fiind ultima zi a lunii precedente; zile negative vor fi scăzute din data ultimei zile a lunii precedente. Calcularea datei de 01.01. a anului următor anului de angajare se face cu

=DATE(YEAR(dataangajării)+1,1,1)

Calcularea datei de 15 a lunii urmatoare anjării se face cu

=DATE(YEAR(dataangajării),MONTG(dataangajării)+1,15)

Calcularea ultimei zile din luna precedentă a unei date se face cu:

=DATE(YEAR(dataangajării),MONTH(dataangajării),0)

Pentru că POWERPIVOT nu oferă grupări de tip data calendaristică, deci vor fi folosite intens aceste funcţii de dată şi timp.

vor fi folosite intens aceste funcţii de dată şi timp. Respectiv =YEAR(F1), =MONTH(F1), =DAY(F1), =HOUR(F1),

Respectiv =YEAR(F1), =MONTH(F1), =DAY(F1), =HOUR(F1), =MINUTE(F1), =SECOND(F1) sau se poate separa data pe zi şi lună pentru mai multă claritate.

separa data pe zi şi lună pentru mai multă claritate. Încă un ajutor în sortarea în

Încă un ajutor în sortarea în slicer-e ar fi numerotarea lunilor, ex: 06 iun.

în slicer -e ar fi numerotarea lunilor, ex: 06 iun. În calculul timpului se folosesc următoarele

În calculul timpului se folosesc următoarele funcţii:

Duration: =[Stop]-[Start] Hour: =HOUR([Duration]) Minute: =MINUTE([Duration])

Second: =SECOND([Duration]) Decimal Hours: =([Start]-[Stop])*24

=SECOND([Duration]) Decimal Hours: =([Start]-[Stop])*24 3.1.1 Calcularea zilei din săptămână =WEEKDAY

3.1.1 Calcularea zilei din săptămână

=WEEKDAY(<date>) va întoarce 1 pentru duminică până la 7 pentru sambătă. =WEEKDAY(<date>,2) va întoarce 1 pentru luni până la 7 pentru duminică. = WEEKDAY(<date>,3) va întoarce 0 pentru luni până la 6 pentru duminică.

va întoarce 0 pentru luni până la 6 pentru duminică. 3.1.2 Numărarea săptămânilor DAX şi Excel

3.1.2 Numărarea săptămânilor

DAX şi Excel numără prima săptămână ca fiind cea în care cade 1 ianuarie, indiferent în ce zi a săptămânii cade 1 ianuarie. =WEEKNUM(<date>, <return_type>) return_type indică prima zi a săptămânii: 1 (sau omis) – prima zi e duminică, 2 - prima zi e luni. În plus, în Europa, prima săptămână e cea în care există cel puţin patru zile.

săptămână e cea în care există cel puţin patru zile. 3.1.3 Calculul scadenţelor Se folosesc două

3.1.3 Calculul scadenţelor

Se folosesc două funcţii: EOMONTH şi EDATE. =EDATE(<start_date>, <months>) =EOMONTH(<start_date>, <months>) =EOMONTH întoarce ultima zi a lunii curente (dacă argumentul e 0, de peste două luni dacă argumentul e 2, din luna trecută dacă argumentul e -1)

=EDATE întoarce data calendaristică rezultată din adunarea (sau scăderea) numărului de luni specificat în parametru. Totuşi, 3 luni după 31 ianuarie nu va fi 31 aprilie ci 30 aprilie, aprilie având doar 30 de zile.

31 aprilie ci 30 aprilie, aprilie având doar 30 de zile. 3.1.4 Calculul fracţional al anilor

3.1.4 Calculul fracţional al anilor

În departamentele de personal ale firmelor, deseori e nevoie de calcularea anilor şi a fracţiilor de ani. Excel oferă funcţia YEARFRAC care poate calcula fracţii de ani reprezentând numărul de zile întregi dintre două date, în cinci moduri:

=YEARFRAC(<start_date>, <end_date>, <basis>) Unde basis reprezintă modul de calcul:

- Dacă baza este 0 sau omisă, Excel utilizează un plan de 30/360, modificat pentru utilizări americane. în acest plan, salariatul câștigă 1/360 de credite pe un an pe cele mai multe zile. Angajatul nu câștigă nici un beneficiu pe zi pentru orice data de 31 a lunii. Într-un an bisect, angajatul câștigă 2/360 pe un an pentru a compensa până la 1 martie. Într-un an nebisect, salariatul câștigă 3/360 de pe un an pentru a compensa până la 1 martie.

- În cazul în care baza este de 1, numărul efectiv de zile scurse se împarte la numărul real de zile din an. Această metodă funcționează bine și se asigură că fracțiunea de an începe la prima zi de după data de aniversare, indiferent dacă anul este un an bisect sau nu.

- În cazul în care baza este de 2, numărul efectiv de zile scurse se împarte la 360. Dacă cineva ar lucra de 30 de ani doar pentru un angajator, această metodă ar da persoanei o suplimentare 0.4528 ani de credit.

- În cazul în care baza este de 3, numărul efectiv de zile scurse se împarte la 365. Acest merge bine pentru trei din fiecare patru ani. Este ușor greșit în anii bisecți.

- Dacă baza este 4, Excel utilizează un plan de 30/360, modificate pentru utilizări europene. Acest lucru este similar cu baza implicit 0. În acest plan, angajatul nu primește nici un credit pentru nici o zi 31 a lunii. Angajatul primeste insă un credit triplu de lucru pentru 01 martie (pentru a face compensa 29 și 30 februarie). Într-un an bisect, 1 martie este în valoare de numai dublu credit.

3.1.5 Folosirea funcției TIME pentru calculul timpului

=TIME(<hour>,<minute>,<second>) TIME este similar cu DATE, returnând o valoare datatimp din cei 3 parametrii astfel:

Hour – ora, număr între 0 și 23; pentru numerele mai mari de 23 se împarte la 24 și se reține restul împărțirii Minute - minute, număr între 0 și 59; pentru numerele mai mari de 59 se împarte la 60 și se reține restul împărțirii Second - secunde, număr între 0 și 59; pentru numerele mai mari de 59 se împarte la 60 și se reține restul împărțirii

Ca și pentru date, DAX poate manipula valori mai mari decât 60 pentru minute sau secunde. De ex.:

=TIME(12,72,120) este evaluat la 1:14 PM.

secunde. De ex.: =TIME(12,72,120) este evaluat la 1:14 PM. Se observă ca cele 33 de or

Se observă ca cele 33 de ore din ultimele linii dau ca rezultat doar 9-10 ore și nu o zi și 9 ore. =TIMEVALUE(time_text), Conversie text în timp, similar cu DATEVALUE, time-text este un sir de caractere ce reprezintă timpul, în orice format acceptat de Excel. 6:45 PM este același lucru cu 18:45. Informația despre data este ignorata. 45:30 în Excel înseamnă 45 de ore și 30 de minute, în DAX rezultă o eroare.

45 de ore și 30 de minute, în DAX rezultă o eroare. 3.2 Funcții matematice ș

3.2 Funcții matematice și trigonometrice

DAX oferă 22 de funcții matematice și trigonometrice identice cu cele din Excel.

FACT(<number>)

Factorial dintr-un număr (1*2*3*

*,

până la număr).

 

ABS(<number>)

Întoarce valoare absolută a unui număr.

 

INT(<number>)

Rotunjește în jos un număr la prima valoare intreagă sau până la prima valoare semnificativă.

LN(<number>)

Întoarce

logaritmul

natural

al

unui

număr,

e

=

2.71828182845904

 

LOG(<number>,<base>)

Întoarce logaritmul unui număr în baza specificată.

 

LOG10(<number>)

Întoarce logaritmul unui număr în baza 10.

 

EXP(<number>)

Ridicarea lui

e

la

o

putere

data

de

numar.

E

=

2.71828182845904, baza logaritmilor naturali.

 

PI()

Întoarce valoare lui Pi 3.14159265358979 cu 15 zecimale.

 

QUOTIENT(<numerator>,

Întoarce partea întreaga dintr-o împărțire.

 

<denominator>)

 

MOD(<number>, <divisor>)

Întoarce restul împărțirii numărului la divizor. Rezultatul are același semn cu divizorul. Exprimarea matematică este:

<number> modulo <divisor>.

 

ROUND(<number>, <num_digits>)

Rotunjește un număr cu un număr specificat de zecimale.

 

ROUNDDOWN(<number>,

Rotunjește în jos zecimale.

un

număr

cu

un

număr

specificat

de

<num_digits>)

 

ROUNDUP(<number>,

Rotunjește în sus un număr cu un număr specificat de zecimale. Până la 0.49 se rotunjește în jos, de la 0,5 inclusiv se rotunjește în sus. Dacă numărul de zecimale este 0 se rotunjește la întreg. Dacă numărul de zecimale e pozitiv, se referă la zecimale Dacă numărul de zecimale e negativ, se referă la cifre din stânga virgulei

<num_digits>)

CEILING(<number>,

Rotunjește în sus un număr la prima valoare întreagă sau multiplu.

<significance>)

FLOOR(number,significance)

Rotunjește în jos un număr la prima valoare întreagă sau multiplu (funcționează similar cu CEILING dar în sus). Funcționează corect și pentru numere negative.

MROUND(number,multiple)

Rotunjește la cel mai apropiat multiplu.

 

SIGN(<number>)

Întoarce semnul unui număr, al rezultatului unui calcul sau a unei valori dintr-o coloană. Dacă rezultatul este 1=pozitiv. 0=zero, -1=negativ.

SQRT(<number>)

Extrage radicalul dintr-un număr.

 

POWER(<number>, <power>)

Ridicarea unui număr la o putere.

 

TRUNC(<number>,<num_digits>)

Trunchiază un număr la un întreg eliminând un număr de zecimalele.

RAND()

Întoarce un număr aleator între 0 și 1. Numărul se schimbă la fiecare recalculare a celulei.

RANDBETWEEN(<bottom>,<top>)

Întoarce un număr aleator între cele două valori.

 

Exemple:

=INT(2.2) = 2; INT(-2.2) = 3. =ROUND(117,-1) = 120 =ROUND(1234567,-3) dă 1,235,000 =CEILING(2.1,1) produce 3. =CEILING(6.1,2) rotunjește 6.1 la următorul multiplu de 2, sau 8; Există o problemă cu numerele negative: =CEILING(-2.1,-1), rezultatul este -3. Standardul ISO spune că CEILING trebuie să dea numărul mai mare. Numărul mai mare decât -2.1 este -2, nu -3. =MROUND(12.1,5) întoarce 10. =TRUNC(2.2) = 2; =TRUNC(-2.2) = -2

mare. Numărul mai mare decât -2.1 este -2, nu -3. = MROUND(12.1,5) întoarce 10. =TRUNC(2.2) =

3.3 Funții de text

DAX are 18 funcții de text, 17 dintre ele fiind identice cu cele din Excel. Funcția Excel TEXT() a fost redenumită în FORMAT().

CONCATENATE(<text1>,

Lipește două sau mai multe texte intr-unul singu. Se pot concatena texte, numere sau valori booleene reprezentate ca text sau o combinație a lor. Poate fi folosit și operatorul & pentru concatenarea șirurilor. =[FirstName]&” “&[LastName]

<text2>,

)

FIXED(<number>,

<decimals>,

Rotunjește un număr la număr de zecimale specificat și întoarce un text. Se poate specifica dacă să aibă sau nu virgula. Diferența dintre formatarea unui câmp și funcția FIXED este că funcția întoarce ca rezultat un text.

<no_commas>)

VALUE(<text>)

 

Convertește un text care arată ca un număr, într-un număr.

FORMAT(<value>,

 

Convertește o valoare la un text în concordanță cu un format specificat.

<format_string>)

LEN(<text>)

 

Întoarce lungimea unui șir (numărul de caractere).

LOWER(<text>)

 

Convertește toate literele unui text la litere mici.

UPPER(<text>)

 

Convertește toate literele unui text la litere mari.

REPT(<text>, <num_times>)

Repetă un text de un număr de ori.

LEFT(<text>, <num_chars>)

Întoarce primele N caractere dintr-un text.

RIGHT(<text>, <num_chars>)

Întoarce ultimele N dintr-un text.

MID(<text>,

<start_num>,

Întoarce un subșir dintr-un șir, începând de la o poziție de start, de a anume lungime.

<num_chars>)

FIND(<find_text>, <within_text>, <start_num>)

Întoarce un număr ce reprezintă poziția în care este găsit un text în interiorul altui text, pornind căutarea de la o anumită poziție. FIND este case sensitive. Rezultatul poate fi folosit în alte funcții: LEFT, RIGHT, MID, REPLACE. Dacă textul nu este găsit, se întoarce o eroare. Pentru o funcționare fără erori:

=NOT(ISERROR(FIND(“text”,[Denumire])))

SEARCH(<search_text>, <within_text>, [start_num])

Întoarce numărul care reprezintă poziția la care este găsit un text mai mic într-un în alt text mai mare, căutând de la stânga spre dreapta. SEARCH este case sensitive. Rezultatul poate fi folosit în alte funcții: LEFT, RIGHT, MID, REPLACE. Daca textul nu este găsit, se întoarce o eroare.

REPLACE(<old_text>, <start_num>, <num_chars>, <new_text>)

Înlocuiește o parte a unui text cu un alt text, începând de la o anume locație, un anumit număr de caractere.

SUBSTITUTE(<text>, <old_text>, <new_text>, <instance_num>)

Înlocuiește într-un text, părți din acel text cu alt text, de un număr specificat de ori. Dacă nu se specifică, se înlocuiesc toate instanțele întâlnite. Funționează ca și Find And Replace.

EXACT(<text1>,<text2>)

Compară două șiruri și întoarce TRUE dacă sunt exact la fel, FALSE în mod contrar. EXACT este case sensitive dar ignoră formatările diferite. Poate fi folosit pentru testarea unui text introdus într-un document.

TRIM(<text>)

Elimină toate caracterele spațiu exceptând câte un singur spațiu între cuvinte (le elimină pe cele de la extremitățile șirului).

Exemple:

=Format([Date],”MMM” ) convertește în Jan, Feb =Format([Date],”YYYY”) convertește o dată în 2010, 2011 =Format([Date],”DDD”) convertește o dată în Mon, Tue, Wed =Format([Date],”YYMM”) arată data cu două cifre la an și lună Yes/No convertește True/False la Yes/No. On/Off convertește True/False la Yes/No.

la Yes/No. On/Off convertește True/False la Yes/No. =SUBSTITUTE(“Sales Data”,”Sales”,”Cost”) va

=SUBSTITUTE(“Sales Data”,”Sales”,”Cost”) va genera “Cost Data”

3.4 Funcții logice

IF(<logical_test>,<value_if_true>,

Verifică condiția returnață de primul argument și dacă e TRUE întoarce <value_if_true> altfel întoarce <value_if_false>

<value_if_false>)

IFERROR(<value>,

Întoarce <value_if_error> dacă prima expresie este eronată sau expresia în sine în celălalt caz. IF(ISERROR([A]/ [B]),0, [A]/ [B]) pentru cazul în care B este

0.

<value_if_error>)

AND(<logical1>,<logical2>,

)

Întoarce TRUE dacș TOATE argumentele sunt TRUE, altfel întoarce FALSE

OR(<logical1>,<logical2>,

)

Întoarce TRUE dacă cel puțin unul dintre argumente este TRUE și FALS în celelalte cazuri.

NOT(<logical>)

Negare; schimbă FALSE în TRUE, sau TRUE în FALSE.

TRUE()

Întoarce valoarea logică TRUE.

FALSE()

Întoarce valoarea logică FALSE.

BLANK()

Întoarce blank.

Exemplu: Calculul uni bonus de 2% dacă vânzările depășesc 20000:

=IF([Vanzari]>=20000,0.02*[Vanzari],0)

Se pot imbrica:

=IF([Vanzari]>=20000,0.02*[Vanzari], IF([Vanzari]>=10000,0.01*[Vanzari],0))

Funcția AND se folosește pentru testarea condițiilor multiple. =AND([Vanzari]>=20000, [Pierderi] <=1000) Funcția OR se folosește pentru testarea a cel puțin unei condiții.

=OR(<[Vanzari]>=20000>,<[Persoane]>=200)

3.5

Funcții informative

ISBLANK(<value>)

Întoarce TRUE dacă o valoare este blank, altfel întoarce FALSE.

ISERROR(<value>)

Întoarce TRUE dacă o valoare este eronată, altfel întoarce FALSE.

ISLOGICAL(<value>)

Verifică dacă o valoare este de tip logic (TRUE or FALSE), și întoarce TRUE sau FALSE.

ISNONTEXT(<value>)

Întoarce TRUE dacă o valoare nu este text (blank nu este text), altfel întoarce FALSE.

ISNUMBER(<value>)

Întoarce TRUE dacă o valoare este număr, altfel întoarce FALSE.

ISTEXT(<value>)

Întoarce TRUE dacă o valoare este text, altfel întoarce FALSE.

3.6 Funcții de centralizare a datelor corelate din alte tabele

Toate funcțiile precedente funcționează pe date din același tabel; totuși e posibil ca DAX să calculeze cu date preluate din tabele diferite, dar respectivele tabele obligatoriu trebuie să fie relaționate.

AVERAGEX(<table>, <expression>)

Calculează media (media aritmetică) a unui set de expresii evaluate pe o tabelă

CALCULATETABLE( <expression>,

Evaluarea unei tabele în contextul unor filtre.

<filter1>, <filter2>,

)

SUMX(<table>, <expression>)

Întoarce un număr zecimal reprezentând suma numerelor din tabelă, din coloana specificată.

COUNTAX(<table>, <expression>)

Contorizează celule nonblank rezultate din evaluarea rezultată dintr-o expresie pe o tabelă.

COUNTX(<table>, <expression>)

Contorizează celule numerice nonblank rezultate din evaluarea rezultată dintr-o expresie pe o tabelă.

MAXX(<table>, <expression>)

Evaluează o expresie pentru fiecare linie a unei tabele și întoarce rezultatul cel mai mare.

MINX(<table>, < expression>)

Evaluează o expresie pentru fiecare linie a unei tabele și întoarce rezultatul cel mai mic.

RELATED(<column>)

Întoarce o valoarea dintr-o tabelă relaționată.

RELATEDTABLE(<table>)

Urmărind o relație existentă, în orice direcție, întoarce o tabelă care conține toate liniile care se potrivesc din tabela relaționată.

3.7 Funcții recursive

EARLIER(<column>, <number>)

Întoarce evaluarea pentru o coloana pentru a fi folosită ca intrare într-un calcul, de un număr de ori.

Este util pentru calcule imbricate în cazul în care doriți să utilizați o anumită valoare la un calcul, în intrare și care să producă rezultate pe această intrare.

EARLIEST(<table_or_column>)

Întoarce valoarea curentă a coloanei specificate pentru a fi folosită ca intrare pentru aceeași coloană.

Exemplu de folosire a unei funcții recursive:

=CountRows(Filter(Sheet12;Earlier([VANZARI])<[VANZARI] && Earlier([TIP])=[TIP]))+1 (1 este adăugat la urmă pentru a preveni apariția poziției 0)

&& Earlier([TIP])=[TIP]))+1 (1 este adăugat la urmă pentru a preveni apariția poziției 0) 25

CAPITOLUL 4. CONSTRUIREA TABELELOR PIVOT

După ce am încărcat tabele și am făcut calculele necesare pe coloane, putem trece la crearea tabelelor pivot.Un tabel pivot are 4 zone:

zona cu etichetele liniilor – în partea stângă jos – de obicei texte (lungi)

zona cu etichetele coloanelor – în partea de sus - de obicei texte (scurte)

zona de date (valori) – celule la intersecția liniilor cu colonele – de obicei numere, dar pot fi și texte, (pentru numărarea aparițiilor)

zona de filtre – deasupra etichetelor coloanelor

Construirea tabelelor pivot se face prin tragerea denumirilor câmpurilor în cele patru zone de sub lista de câmpuri. Ordinea în care apar în lista de linii determină ordinea de apariție a lor în partea stângă a raportului. Tabelele pivot OLAP (OnLine Analytical Processing) sunt folosite pentru totalizarea fișierelor cub. În limbajul fișierelor cub, textul denumirilor etichetelor sunt dimensiuni, iar câmpurile numerice sunt măsuri. Tabelele pivot OLAP conțin patru zone de "drag&drop" ca și tabelele pivot obișnuite dar cu câteva limitări. În zona de Valori se pot pune măsuri și în celelalte zone dimensiuni. Din fericire, POWERPIVOT este făcut să arate ca un tabel pivot obișnuit, adică se pot pune măsuri la dimensiuni și viceversa. În plus, au fost adăugate două noi zone: Slicere Orizontale și Verticale, o îmbunătățire față de Excel 2010. Totuși, nu se pot rearanja zonele. Tabelele pivot obișnuite aveau un drop-down la menținerea mouse-ului pe un câmp din lista (hover) ceea ce nu se mai regăsește la POWERPIVOT. Tabelele pivot obișnuite aveau un hover pe câmpurile din zone, POWERPIVOT are acelasi hover dar îmbunătățit: mutare în slicere și Summarize By și Edit Measure. În plus aveți acces la instrumente în cele doua tab-uri ale PivotTable care oferă multe setări pentru formatarea tabelelor pivot. Începem construirea unui tabel pivot care să lege (relaționeze) între ele două tabele. Unul cu date despre ID Produs, Cod SF, Mall, Magazin, Anul, Orasul, Zona (InfoMagazine.xlsx, 145 linii). Celălalt cu rapoarte despre ID Produs, Data, Produs, Unitati, Venit (Rapoarte.csv, 999999 linii).

În POWERPIVOT (apelat din Excel) încărcăm cele două tabele, mai întâi cel de tip text, apoi cel de tip .xlsx.

tabele, mai întâi cel de tip text, apoi cel de tip .xlsx. La tabela de mai

La tabela de mai sus, am adăugat trei câmpuri calculate: anul, luna, ziua săptămânii.

t rei câmpuri calculate: anul, luna, ziua săptămânii . În tab-ul Design relaț ion ă m

În tab-ul Design relaționăm câmpul ID Produs din tabela Rapoarte cu câmpul ID Produs din tabela InfoMagazine. Verificarea relației se poate face din tab-ul Home, gruparea View, butonul Diagram View.

Revenirea î n vizualizare normală se face cu butonul DataView. Crearea propriu- zisă a tabelului

Revenirea în vizualizare normală se face cu butonul DataView. Crearea propriu-zisă a tabelului pivot se poate face din două locuri, cu același rezultate: din Excel, butonul PivotTable sau din POWERPIVOT butonul Pivot Table, care are mai multe opțiuni:

butonul Pivot Table, care are mai multe opțiuni: Alegem locația unde dorim crearea tabelei pivot de
butonul Pivot Table, care are mai multe opțiuni: Alegem locația unde dorim crearea tabelei pivot de

Alegem locația unde dorim crearea tabelei pivot de obicei într-o foaie noup. După confirmare cu OK, obținem noul tabel pivot. În partea dreaptă va apărea lista cu câmpurile POWERPIVOT, câmpurile din tabela părinte fiind deja afișate. Câmpurile celeilalte tabele apar și ele dar precedate de un semn +, care le poate expanda, pentru acces. Implicit, câmpurile de tip text (dacă se bifează) vor apărea în zona etichetelor de linii, iar cele de tip numeric în zona de Valori. Orice bifă aplicată unui câmp, îl va muta automat conform tipului său, câmpurile numerice fiind implicit însumate. În exemplul nostru cu câteva click-uri putem să avem un raport despre venituri defalcat pe Zona și Magazin.

un raport despre venituri defalcat pe Zona și Magazin. Aspectul se poate îmbunătăți mult dacă mutăm

Aspectul se poate îmbunătăți mult dacă mutăm Magazinul în zona Column Labels.

defalcat pe Zona și Magazin. Aspectul se poate îmbunătăți mult dacă mutăm Magazinul în zona Column

Utilizarea Filtrelor: prin adăugarea unui câmp în fereastra de Report Filter, avem posibilitatea să filtrăm toate datele deja afișate după diverse criterii (ex: datele defalcate pe Oras)

după diverse criterii (ex: datele defalcate pe Oras) Se poate întâmpla ca unele celule să fie

Se poate întâmpla ca unele celule să fie 0, altele vor fi afișate ca blank. Cele blank indică faptul că acolo nu au fost niciodată date, cele cu 0 indică faptul că acolo au fost date dar ulterior au ajuns să fie 0. În funcție de cum dorim să apară aceste date, putem seta cum să apară celulele goale:

aceste date, putem seta cum să apară celulele goale: Dacă datele de pe linii sunt formate
aceste date, putem seta cum să apară celulele goale: Dacă datele de pe linii sunt formate

Dacă datele de pe linii sunt formate din mai multe câmpuri, ele pot afișate sau nu (restrânse sau expandate) din butoanele de + și – din stânga denumirii câmpurilor.

butoanele de + și – din stânga denumirii câmpurilor. De asemenea, aspectul poate fi ajustat din
butoanele de + și – din stânga denumirii câmpurilor. De asemenea, aspectul poate fi ajustat din

De asemenea, aspectul poate fi ajustat din tab-ul Design al PivotTable Tools, gruparea Layout.

4.1 Filtre și slicer-e

Dacă avem nevoie de mai mult decât de un singur filtru, atunci va trebui să apelăm la slicer-e care sunt în esență tot filtre dar cu care se lucrează mult mai comod. Pentru aceasta e suficient sa bifăm un câmp pe care apoi să-l tragem în zona de slicer dorită: vertical sau orizontal, respectiv gruparea datelor din slicer să fie pe orizontală sau verticală.

de slicer dorită: vertical sau orizontal, respectiv gruparea datelor din slicer să fie pe orizontală sau

4.2 Calculation Fields, Items & Sets în Pivot Table

În cazul lucrului cu tabele pivot care au mai multe nivele de detaliere la câmpurile care compun liniile (sau coloanele), se poate să nu fie nevoie să fie afișate toate liniile (sau coloanele) care compun tabelul pivot. Daca avem 16 Orase, 4 Zone, 8 Malluri si 144 de Magazine, e posibil să fie până la 16*4*8*144 de linii în tabelul pivot, (dacă le expandăm pe toate cele 4 nivle) ceea ce e foarte mult. Pentru a putea reduce numărul acestora, se apelează la Fields, Items & Sets, din gruparea Calculation a tab-ului Option de la PivotTable Tool, opțiunea Create Set Baset on Row Items

PivotTable Tool , opțiunea Create Set Base t on Row Items În fereastra care apare –

În fereastra care apare – New Set (PowerPivot Data), din mulțimea de linii care compun tabelul pivot putem selecta doar cele ce ne interesează să apară la o ulterioară vizualizare a sa, setarea păstrându-se cu un nume implicit (sau mai bine explicit) și care va apare in lista de câmpuri. Selecția liniilor se face cu cele trei butoane Add Row, Delete Row, Copy Row și pot fi reordonate cu cele două butoane de mutare în sus sau în jos. După confirmarea cu OK, noul set va apare în lista de câmpuri și poate fi folosit.

l set va apare în lista de câ mpuri și poate fi folosit. 4.3 Reguli importante
l set va apare în lista de câ mpuri și poate fi folosit. 4.3 Reguli importante
l set va apare în lista de câ mpuri și poate fi folosit. 4.3 Reguli importante

4.3 Reguli importante referitoare la Pivot Tables

Deși majoritatea foilor de lucru excel recalculează datele la modificarea unei celule, tabelele pivot nu fac aceasta. Soluția se află în butonul de Refresh All. In POWERPIVOT trebuie urmați câțiva pași suplimentari:

- dacă tabela pivot este creată din tabele legate, se poate folosi butonul Update All.

- dacă tabela pivot este creată din date copiate și lipite în POWERPIVOT, datele trebuiesc copiate și lipite din nou.

- dacă tabela pivot este creată din alte surse externe, atunci în POWERPIVOT trebuie folosit Refresh drop-down.

- d acă tabela pivot este creată din alte surse externe, atunci în POWERPIVOT trebuie folosit

Actualizarea aplicată datelor din POWERPIVOT nu face face refresh și la tabela pivot! În tabelul pivot trebuie folosit butonul de Refresh care apare deasupra listei de câmpuri sau butonul de Refresh All. La adăugarea unui câmp calculat trebuie făcut Refresh din butonul corespunzător care apare deasupra listei de câmpuri.

corespunzător care apare deasupra listei de câmpuri. 4.4 Convertirea tabelei pivot în valori Câteodată e

4.4 Convertirea tabelei pivot în valori

Câteodată e necesar să calculăm și altceva decât ne oferă o tabela pivot și asta se poate face scoțând în afară datele. Se începe prin a selecta întregul tabel pivot (cu tot cu filtre) dar fără slicer-e și copierea lui cu butonul Copy din tab-ul Home. Se alege foaia unde dorim facem copierea și se lipește cu opțiunea Paste Value.

4.5 Convertirea unui tabel pivot în format cub

În mod normal, tabelele OLAP pivot citesc un tip special de baze de date numit un cub, de obicei creat de un administrator de baze de date. POWERPIVOT ne ajută să ne descurcăm fără administrator de date creând el fișierul cub. Se selectează o celulă din cadrul tabelului pivot; din tab-ul Options, gruparea Tools, din butonul OLAP Tools alegem Convert to Formulas.

Tools, din butonul OLAP Tools alegem Convert to Formulas. După câteva secunde de calcule, valorile vor
Tools, din butonul OLAP Tools alegem Convert to Formulas. După câteva secunde de calcule, valorile vor

După câteva secunde de calcule, valorile vor apare din nou, de data aceasta, fiecare celulă având atașată o formulă. După această manevră se pot adăuga linii sau coloane în tabelul pivot.

4.6 Lucrul cu Pivot Charts

Lucrul cu Pivot Charts este oarecum similar cu Pivot table, cu deosebirile următoare:

- Zona Row Labels este acum numită Axis Fiels (sau Categories)

- Zona Column Labels este acum numită Legend Fields (sau Series)

este acum numită Axis Fiels (sau Categories) - Zona Column Labels este acum numit ă Legend

Se poate observa că filtrele se păstrează și sunt funcționale; orice alt câmp care va fi bifat, va deveni un filtru cu care se pot face selecții de date de afișat.

un filtru cu care se pot face selecții de date de afișat. Așa ca și la
un filtru cu care se pot face selecții de date de afișat. Așa ca și la

Așa ca și la graficele pe care le știm din Excel, aspectul se poate schimba din tab-ul Design, gruparea Type, butonul Change Chart Type. În plus, din tab-ul Analyze, gruparea Show/Hide, butonul Fields Buttons putem afișa sau nu diverse butoane din grafic. Toate graficele din POWERPIVOT au în spate un tabel pivot.

4.7 Opțiuni suplimentare

a) Sortare după valoare și nu alfabetic

Cu un click dreapta pe câmpul care se doreste a fi sortat descrescător după valoare se alege Sort

More Sort Option

apoi se stabilește ce anume să se sorteze:

Sort Option apoi se stabilește ce anume să se sorteze: b) Sortarea lunilor în secven ță

b) Sortarea lunilor în secvență naturală

Tabelele pivot din Excel ordonează în mod implicit după listele personalizate; POWERPIVOT nu face asta implicit dar poate fi ”convins” prin opțiunile se sortare:

dar poate fi ”convins” prin opțiunile se sortare: În plus, listele personalizate pot fi lărgite prin

În plus, listele personalizate pot fi lărgite prin adăugarea unora noi: în Excel, tab-ul File, Options, Advanced, Edit Custom List. Listele pot fi ierarhii de calificări, funcții într-o firmă, zone geografice, etc.

Advanced, Edit Custom List. Listele pot fi ierarhii de calificări, funcții într- o firmă, zone geografice,
Advanced, Edit Custom List. Listele pot fi ierarhii de calificări, funcții într- o firmă, zone geografice,

c)

Afișarea primelor n poziții

Cu click dreapta pe una din celulele din zona RowLabels, alegem Filter și de acolo Top 10 acolo alegem ce ne ajută la afișarea primelor n poziții:

acolo alegem ce ne ajută la afișarea primelor n poziții: d) Schimbarea calculelor și de În

d) Schimbarea calculelor

la afișarea primelor n poziții: d) Schimbarea calculelor și de În mod implicit, POWERPIVOT mută câmpurile

și de

În mod implicit, POWERPIVOT mută câmpurile numerice în zona de vlori: dacă mutăm câmpuri de tip text în zona de valori, conținutul lor va fi contorizat (numărat). Există două tipuri de contorizări:

COUNTA și DISTINCTCOUNT. În timp ce prima contorizează TOATE liniile care satisfac filtrul, cea de-a doua contorizează doar aparițiile corelate cu alte criterii.

contorizează doar aparițiile corelate cu alte criterii. Dacă însumarea implicită nu ne satisface, putem să o
contorizează doar aparițiile corelate cu alte criterii. Dacă însumarea implicită nu ne satisface, putem să o
contorizează doar aparițiile corelate cu alte criterii. Dacă însumarea implicită nu ne satisface, putem să o

Dacă însumarea implicită nu ne satisface, putem să o schimbăm în alte trei calcule: MIN, MAX, AVERAGE, fie cu click dreapta și alegem Summarize By fie click pe numele câmpului și alegem Edit Measure

e) Schimbarea felului în care se văd datele

Cu click dreapta pe una din celulele tabelului pivot putem sa schimbăm felul în care se vad datele raportate la alte calcule (ca % din total pe lini/coloana/general, etc.) așa cum le știm din tabele pivot din Excel. (în exemplu, ca procente din totalul general). E posibil să avem nevoie de calcul valorilor față de alte valori din aceași grupă sau să știm rangul unei valori. Aceasta se poate face cu ajutorul Base Fields și Base Item.

se poate face cu ajutorul Base Fields ș i Base Item. % din TOTAL Rang pe

% din TOTAL

face cu ajutorul Base Fields ș i Base Item. % din TOTAL Rang pe Magazin Rang

Rang pe Magazin

Base Fields ș i Base Item. % din TOTAL Rang pe Magazin Rang pe Zona Formatarea

Rang pe Zona

ș i Base Item. % din TOTAL Rang pe Magazin Rang pe Zona Formatarea valorilor din

Formatarea valorilor din cadrul tabelului pivot se poate face cu click dreapta pe o valoare și de acolo ales Number Format. Deasemenea, selectând celulele de date se pot formata condiționat (tab-ul Home, gruparea Style, Conditional Formating) așa ca în exemplu sau se pot crea mici grafice de tip SparkLine în celula din dreapta unui serii de celule (tab-ul Insert, click pe celula din dreapta seriei, și din gruparea SparkLine una dintre opțiuni)

33
33

CAPITOLUL 5. PERSPECTIVE ȘI MĂSURI

5.1 Perspective

Unul dintre avantajele utilizării programului de completare PowerPivot pentru a rafina un model de date este capacitatea de a adăuga perspective. Perspectivele oferă vizualizări particularizate pe care le definiți pentru un anumit grup de utilizatori sau pentru un anumit scenariu de afaceri, facilitând navigarea în seturi mari de date și/sau regăsirea ușoară a unor seturi restrânse de colecții de tabele și coloane. Puteți include (și așa va fi păstrată) orice combinație de tabele, coloane și măsuri (inclusiv indicatori KPI) într-o perspectivă și puteți crea mai multe perspective pentru diverși clienți de raportare din organizația dvs. Perspectivele pot fi utilizate ca sursă de date pentru rapoartele PivotTable și alte rapoarte, inclusiv rapoarte Power View (Office 2013). Când vă conectați la un fișier de lucru ce include perspective, puteți alege o anumită perspectivă în pagina selectare tabele și vizualizări din expertul de conectare a datelor. Pentru a putea fi create, POWERPIVOT trebuie să fie trecut în modul Advanced; în tab-ul Advanced, primul buton este Perspectives, de unde putem gestiona (pentru început crea) perspectivele. Implicit ni se oferă toate tabelele relaționate de care are cunoștință POWERPIVOT la momentul respectiv (în cazul nostru Rapoarte și InfoMagazine). Bifăm câmpurile necesare, dăm un nume sugestiv perspectivei și confirmăm cu OK.

dăm un nume suge stiv perspectivei și confirmăm cu OK. Dup ă creare, perspectivele pot fi
dăm un nume suge stiv perspectivei și confirmăm cu OK. Dup ă creare, perspectivele pot fi
dăm un nume suge stiv perspectivei și confirmăm cu OK. Dup ă creare, perspectivele pot fi
dăm un nume suge stiv perspectivei și confirmăm cu OK. Dup ă creare, perspectivele pot fi

După creare, perspectivele pot fi găsite și accesate din fereastra de table pivot, în partea de sus.

5.2 Măsuri

Valorile calculate sunt numite măsuri. Ele pot fi de tip implicit și explicit. Cele de tip implicit sunt create automat de sistem la glisarea unui câmp numeric din lista de câmpuri, în zona de valori a unui tabel pivot. Deoarece câmpurile calculate implicite sunt generate de Excel, este posibil să nu știți că a fost creat un nou câmp calculat. Dar dacă examinați mai atent lista Valori, veți vedea că acest câmp (în cazul nostru Venit) este de fapt un câmp calculat denumit Sum of Venit. Pornim de la un tabel pivot în care avem doar două câmpuri, Mall (pe linii) și Produs (pe coloane) (obținut din POWERPIVOT dar pentru exemplificare am debifat câmpul Venit) și tabelul în POWERPIVOT fără nici o celulă calculată:

tabelul în POWERPIVOT fără nici o celulă calculată : Bifăm î n lista de câmpuri din
tabelul în POWERPIVOT fără nici o celulă calculată : Bifăm î n lista de câmpuri din

Bifăm în lista de câmpuri din tabelul pivot pe câmpul Venit și vom avea în lista ∑ Valori suma câmpului Venit; în același timp, în tabelul din POWERPIVOT se va crea automat un câmp calculat implicit, cu suma pe Venit:

Crearea unui câmp calculat explicit, care va fi și o măsură, se face astfel: Diferența
Crearea unui câmp calculat explicit, care va fi și o măsură, se face astfel: Diferența

Crearea unui câmp calculat explicit, care va fi și o măsură, se face astfel:

explicit, care va fi și o măsură, se face astfel: Diferența dintre cele două câ mpuri,
explicit, care va fi și o măsură, se face astfel: Diferența dintre cele două câ mpuri,

Diferența dintre cele două mpuri, cel calculat implicit și cel calculat explicit, chiar dacă folosesc aceeași funcție și au același rezultat, este aceea că, câmpul calculat explicit poate fi folosit la crearea de KPI

calculat explicit poate fi folosit la crearea de KPI Câmpurile calculate explicite pot fi utilizate de
calculat explicit poate fi folosit la crearea de KPI Câmpurile calculate explicite pot fi utilizate de

Câmpurile calculate explicite pot fi utilizate de orice raport PivotTable sau PivotChart din registrul de lucru și de rapoartele Power View. După ce utilizați un câmp calculat ca indicator KPI, nu puteți să îl utilizați pentru alte calcule; trebuie să creați o copie dacă doriți să utilizați formula și în calcule.

5.2.1 Funcții utile în calculul măsurilor

ALLEXCEPT(<table>,column1>,<column2>, )

Anulează toate filtrele contextuale din tabelă, cu excepția filtrelor care au fost aplicate la coloanele specificate.

ALLNONBLANKROW(<table_or_column>)

Returnează toate rândurile, cu excepția rândurilor necompletate, într-un tabel sau o coloană, și ignoră orice filtre de context care ar putea exista.

COUNTBLANK(<column>)

Contorizează

numărul

celulelor

goale

dintr-o

coloană.

COUNTROWS(<table>)

Contorizează numărul de rânduri în tabela specificată, sau într-un tabel definit de o expresie

FILTER(<table>,<filter>)

Returnează un tabel care reprezintă un subset din alt tabel sau expresie.

FIRSTNONBLANK(<column>,<expression>)

Returnează valorile care nu sunt goale pentru prima dată în coloană, filtrate de expresie.

VALUES(<column>)

Returnează o tabelă de o coloană care conține valori distincte din coloana specificată. Această funcție este similară cu funcția Distinct, dar funcția Values poate întoarce de asemenea și un membru necunoscut.

5.2.2 Time Intelligence Functions

Sunt funcții complexe de calcul al timpului. ”În contextul curent” înseamnă după aplicarea tuturor filtrelor.

CLOSINGBALANCEMONTH(<expression>,<

Evaluează parametrul expression în ultima dată a lunii în contextul curent.

dates>,<filter>)

CLOSINGBALANCEQUARTER(<expression

Evaluează parametrul expression la ultima dată a semestrului în contextul curent.

>,<dates>,<filter>)

CLOSINGBALANCEYEAR(<expression>,<da

Evaluează parametrul expression la ultima dată a anului în contextul curent

tes>,<filter>)

DATEADD(<date_column>,<number_of_interv

Returnează un tabel ce conține o coloană de date calendaristice, deplasate înainte sau înapoi în timp în funcție de numărul specificat de intervale de la datele calendaristice din contextul curent.

als>,<interval>)

DATESBETWEEN(<column>,<start_date>,<en

Returnează un tabel ce conține o coloană de date calendaristice care începe cu start_date și continuă până la end_date.

d_date>

DATESINPERIOD(<date_column>,<start_date

Returnează un tabel ce conține o coloană de date calendaristice care începe cu start_date și continuă pentru numărul specificat de number_of_intervals .

>,<number_of_intervals>,<intervals>)

DATESMTD(<date_column>)

Returnează un tabel ce conține o coloană cu datele lunii curente, în contextul current.

DATESQTD (<date_column>)

Returnează un tabel ce conține o coloană cu datele trimestrului curent, în contextul curent

DATESYTD (<date_column> [,<YE_date>])

Returnează un tabel ce conține o coloană cu datele anului curent, în contextul curent.

ENDOFMONTH(<date_column>)

Returnează ultima dată a lunii în contextul curent, pentru coloana specificată de date calendaristice

ENDOFQUARTER(<date_column>)

Returnează ultima dată a trimestrului în contextul curent pentru coloana specificată de date calendaristice.

ENDOFYEAR(<date_column>,<YE_Date>)

Returnează ultima dată a anului în contextul curent pentru coloana specificată de date calendaristice

FIRSTDATE (<date_column>)

Returnează prima dată calendaristică în contextul curent pentru coloana specificată de date calendaristice.

FIRSTNONBLANK

Returnează

prima

valoare

din

(<date_column><Expression>)

coloana column filtrată în funcție de contextul curent, pentru care expresia nu este necompletată.

LASTDATE (<date_column>)

Returnează ultima dată în contextul curent pentru coloana specificată de date calendaristice.

LASTNONBLANK

Returnează

ultima

valoare

din

(<date_column>,<expression>)

coloana column filtrată de contextul curent, pentru care expresia nu este necompletată.

NEXTDAY(<date_column>)

Returnează un tabel ce conține o coloană cu toate datele din ziua următoare, în funcție de prima dată specificată în coloana dates, în contextul curent.

NEXTMONTH(<date_column>)

Returnează un tabel ce conține o coloană cu toate datele din luna următoare, în funcție de prima dată din coloana dates, în contextul curent.

NEXTQUARTER (<date_column>)

Returnează un tabel ce conține o coloană cu toate datele din trimestrul următor, în funcție de prima dată specificată în coloana dates, în contextul curent.

NEXTYEAR(<date_column>[,<YE_date>])

Returnează un tabel ce conține o coloană cu toate datele din anul următor, în funcție de prima dată din coloana dates, în contextul curent.

OPENINGBALANCEMONTH(<expression>,<

Evaluează parametrul expression în prima dată a lunii în contextul curent.

dates>,<filter>)

OPENINGBALANCEQUARTER(<expression

Evaluează parametrul expression la prima dată a trimestrului, în contextul curent.

>,<dates>,<filter>)

OPENINGBALANCEYEAR(<expression>,<da

Evaluează parametrul expression în prima dată a anului în contextul curent.

tes>,<filter>)

PARALLELPERIOD(<date_column>,<number

Returnează un tabel ce conține o coloană de date calendaristice care reprezintă o perioadă paralelă cu datele calendaristice din coloana dates specificată, în contextul curent, cu datele calendaristice deplasate în timp cu un număr de intervale fie înainte, fie înapoi.

_of_intervals>,<intervals>)

PREVIOUSDAY(<date_column>)

Returnează un tabel ce conține o coloană cu toate datele reprezentând ziua anterioară primei date din coloana dates, în contextul curent.

PREVIOUSMONTH(<date_column>)

Returnează un tabel ce conține o coloană cu toate datele din luna anterioară pe baza primei date din coloana dates, în contextul curent.

PREVIOUSQUARTER(<date_column>)

Returnează un tabel ce conține o coloană cu toate datele din trimestrul anterior pe baza primei date din coloana dates, în contextul curent.

PREVIOUSYEAR(<date_column>[,<YE_Date

Returnează un tabel ce conține o coloană cu toate datele din anul anterior, ținând cont de ultima dată în coloana dates, în contextul curent.

>])

SAMEPERIODLASTYEAR(<date column>)

Returnează un tabel ce conține o coloană de date calendaristice deplasate cu un an în urmă față de datele din coloana dates specificată în contextul curent.

STARTOFMONTH (<date_column>)

Returnează prima dată a lunii în contextul curent, pentru coloana specificată de date calendaristice.

STARTOFQUARTER (<date_column>)

Returnează o primă dată a trimestrului în contextul curent, pentru coloana specificată de date calendaristice.

STARTOFYEAR

Returnează prima dată a anului în contextul curent, pentru coloana specificată de date calendaristice.

(<date_column>[,<YE_date>])

TOTALMTD(<expression>,<dates>,<filter>)

Evaluează valoarea parametrului expression pentru ultima lună, în contextul current.

TOTALQTD(<expression>,<dates>,<filter>)

Evaluează valoarea parametrului expression pentru datele din ultimul trimestru, în contextul curent

TOTALYTD(<expression>,<dates>,<filter>)

Evaluează valoarea ultimului an a parametrului expression în contextul current.

CAPITOLUL 6. FINE TUNING

6.1 Indicatori de performanță (KPI)

Un indicator cheie de performanță (KPI) se bazează pe o valoare calculată și este proiectat pentru a ajuta utilizatorii să evalueze rapid valoarea și starea curentă a unei măsurători comparativ cu o țintă definită. Este o ilustrare grafică a unor raporturi între diferite date, unele fiind de referință. KPI măsoară performanța valorii, definită de un câmp calculat Bază, comparativ cu o valoare Țintă, definită, de asemenea, de un câmp calculat sau de o valoare absolută. În terminologia de afaceri, un KPI este unitatea de măsură cuantificabilă pentru măsurarea obiectivelor de afaceri. De exemplu, departamentul de vânzări dintr-o organizație poate să utilizeze un KPI pentru a măsura profitul brut lunar comparativ cu profitul brut previzionat. Departamentul de contabilitate poate măsura cheltuielile lunare comparativ cu veniturile pentru a evalua costurile, iar departamentul de resurse umane poate măsura indicele de rotație trimestrială a personalului. Toate acestea sunt exemple de KPI. Specialiștii utilizează frecvent KPI-uri grupate împreună într-un raport de tip scorecard de afaceri pentru a obține un rezumat istoric rapid și corect al succesului unei afaceri sau pentru a identifica tendințe. Un KPI include:

Valoarea de bază - definită de un câmp calculat din care reiese o valoare. Această valoare, de exemplu, poate fi creată ca agregat pentru vânzări sau creată pentru a defini profitul pentru o perioadă dată.

Valoarea țintă - definită de un câmp calculat din care reiese o valoare sau de o valoare absolută. De exemplu, un câmp calculat se poate utiliza ca valoare țintă atunci când managerii unei organizații doresc să compare modul în care departamentul de vânzări se îndreaptă spre o cotă dată, unde câmpul calculat pentru buget reprezintă valoarea țintă. Un exemplu de valoare absolută utilizată ca valoare țintă poate fi atunci când managerul de resurse umane dorește să evalueze numărul de zile de concediu medical al fiecărui angajat comparativ cu media, unde numărul mediu de zile de concediu medical reprezintă valoarea absolută.

Praguri de stare - definit de intervalul dintre un prag minim și un prag maxim. Pragul de stare se afișează cu un element grafic pentru a-i ajuta pe utilizatori să determine cu ușurință starea valorii de bază comparativ cu valoarea țintă. În exemplul nostru: ne propunem să vedem dacă valorile veniturilor rezultate din vânzările produselor, repartizate pe Mall-uri, se încadrează în target-ul de 10.000.000. Pentru aceasta, în POWERPIVOT, pe tabela cu câmpul de însumat (Rapoarte), facem suma pe Venit. Pe baza acestei sume construim KPI-ul:

facem suma pe Venit. Pe baza acestei sume construim KPI-ul: În POWERPIVOT, în tab-ul Home, gruparea
facem suma pe Venit. Pe baza acestei sume construim KPI-ul: În POWERPIVOT, în tab-ul Home, gruparea

În POWERPIVOT, în tab-ul Home, gruparea Measures, butonul Create KPI; Avem valoarea absolută de 10.000.000 și se consideră ca între 5.000.000 și 10.000.000 e o zonă galbenă, acceptabilă, abia peste 10.000.000 fiind îndeplinit target-ul. Confirmăm cu OK și facem Refresh la tabela pivot pe butonul din partea de sus a listei câmpurilor. Vor apărea cele trei câmpuri în plus în lista de câmpuri. Dacă vrem să vedem doar grafic încadrarea în target, debifăm Value și Target și lăsăm doar Status:

Editări ulterioare ale KPI se pot face în două locuri: fie în POWERPIVOT, cu click

Editări ulterioare ale KPI se pot face în două locuri: fie în POWERPIVOT, cu click dreapta pe celula care conține însumarea de coloană, fie în Excel, cu click dreapta pe câmpul de KPI din lista de câmpuri a tabelului pivot.

pe câmpul de KPI din lista de câmpuri a tabelului pivot. 6.2 Ierarhii Una dintre modificările
pe câmpul de KPI din lista de câmpuri a tabelului pivot. 6.2 Ierarhii Una dintre modificările

6.2 Ierarhii

Una dintre modificările pe care le puteți efectua la un model de date este adăugarea ierarhiilor. De exemplu, dacă aveți date geografice, este bine să creați o ierarhie care începe cu țara și se detaliază cu regiunea și orașul. Sau, în cazul nostru, REGIUNE, ORAS, MALL, MAGAZIN. O ierarhie este o listă de coloane care sunt considerate a fi un singur element când sunt utilizate într- un raport Pivot sau Power View. O ierarhie apare ca un singur obiect în lista de câmpuri. Ierarhiile facilitează pentru utilizatori selectarea și navigarea pe căi obișnuite ale datelor la crearea rapoartelor și a rapoartelor PivotTable.

În fereastra PowerPivot, în tab-ul Home, gruparea View, butonul Diagram View. Aici selectați una sau mai multe coloane din același tabel, pe care doriți să le plasați într-o ierarhie. Dacă tabelul nu include toate coloanele pe care doriți să le utilizați, le puteți adăuga utilizând funcția Related. Faceți clic dreapta pe una dintre coloanele selectate și alegeți Create Hierarchy. Un nivel părinte al ierarhiei este creat în partea de jos a tabelului, iar coloanele selectate sunt copiate în ierarhie ca niveluri copil și editați numele ierarhiei. Apoi, puteți glisa mai multe coloane în nivelul părinte al ierarhiei, ceea ce creează niveluri copil din coloane și plasează nivelurile în partea de jos a ierarhiei. Inițial, ordinea coloanelor copil este cea din tabel dar ea poate fi modificată prin glisarea unei coloane din ierarhie în sus sau în jos, până pe poziția în care doriți să apară în ierarhie.

Când utilizați o selecție multiplă pentru a crea o ierarhie, ordinea nivelurilor copil se bazează inițial pe cardinalitatea coloanelor. Cardinalitatea de cel mai înalt nivel este listată prima, unde valorile sunt cele mai rare sau unice (REGIUNE), iar coloanele cu nivelul cel mai scăzut de cardinalitate sunt listate ultimele (MALL), unde valorile pot avea mai multe duplicate. Totuși, adăugarea coloanelor suplimentare plasează nivelurile copil în partea de jos a listei. Puteți glisa coloanele pentru a modifica ordinea. Puteți crea o ierarhie dintr-o coloană ascunsă (o coloană ce este ascunsă de instrumentele client).

Dacă știți ce coloane doriți să creați ca niveluri copil în ierarhia dvs., comanda Create Hierarchy din meniul contextual vă permite să selectați acele coloane și să creați rapid o ierarhie cu mai multe niveluri copil.

Puteți redenumi o ierarhie, puteți redenumi un nivel copil, puteți modifica ordinea nivelurilor copil, puteți adăuga coloane suplimentare ca niveluri copil, puteți elimina un nivel copil dintr-o ierarhie, puteți afișa numele sursă al unui nivel copil (numele coloanei) și puteți ascunde un nivel copil dacă acesta are același nume cu nivelul părinte al ierarhiei, toate acestea cu click dreapta pe nivelul părinte al ierarhiei. Puteți adăuga o coloană numai o singură dată la o ierarhie. După ce adăugați o coloană la o ierarhie, nu o puteți adăuga din nou la aceeași ierarhie. Dacă redenumiți un nivel copil al unei ierarhii, acesta nu mai partajează același nume ca și coloana din care este creat. În mod implicit, numele sursă al coloanei apare în partea dreaptă a nivelului copil și poate fi ascuns sau afișat cu click dreapta de unde alegem Hide/Show Source Column Name. După crearea unei ierarhii, ea va apare în lista de câmpuri a tabelului pivot.

alegem Hide/Show Source Column Name. După crearea unei ierarhii, ea va apare în lista de câmpuri
alegem Hide/Show Source Column Name. După crearea unei ierarhii, ea va apare în lista de câmpuri
alegem Hide/Show Source Column Name. După crearea unei ierarhii, ea va apare în lista de câmpuri