Sunteți pe pagina 1din 21

Lucrare de laborator nr.

4
Tema: Editorul de interogări Power Query

În acest laborator veți folosi Power Query pentru a crea cinci interogări și a genera un raport PivotTable.
Scopul acestui laborator este de a obține deprinderi practice la importarea, transformarea și consolidarea
datelor din diferite fișiere, utilizând modulul Power Query.

4.1. Conexiunea Power Query


Power Query extinde posibilitățile de analiză individuală a volumelor mari de date pentru Excel cu o interfață
intuitivă pentru descărcarea, consolidarea și fltrarea datelor dintr-o mare varietate de surse, inclusiv Word, Web,
Access, Excel ș.a.
Acesta este un instrument puternic care vă permite să aduceți tabelul la forma dorită. Chiar și o descriere
superficială a tuturor funcțiilor pe care le deține ar necesita sute de pagini, dar în câteva cuvinte, această fereastră
permite:
• Filtrarea datelor inutile, a liniilor goale, a liniilor cu erori;
• Sortarea datele după una sau mai multe coloane;
• Lichidarea dublicatelor;
• Separarea textului combinat în coloane (delimitator, număr de caractere etc.);
• Ordonarea textului (eliminarea spațiilor suplimentare, corectarea registrului etc.);
• Formatarea tipurilor de date (convertirea numerelor text la numere normale și invers);
• Transpunerea tabelelor și extinderea tabelelor;
• Adăugarae coloanelor suplimentare în tabel cu ajutorul formulelor și funcțiilor scrise în limbajul M integrat
în Power Query;
•...

Modulul Power Query este disponibil gratuit pentru următoarele versiuni Excel 2010, 2013 la adresa
https://www.microsoft.com/ru-RU/download/details.aspx?id=39379 . În Excel 2016 – este inclus implicit.
Pentru Excel 2010 și 2013,
după descărcarea Add-in-lui,
trebuie să-l adăugați în meniul
Excel. Pentru aceasta, deschideți
Excel și accesați meniul: File ->
Options -> Add-Ins > în caseta
COM Add-Ins -> Go…, bifați
Microsoft Office PowerQuery
for Excel 2013 -> OK.
Pentru versiunea MS Office 2016 Excel include modulul Get&Transform, care extinde posibilitățile de
analiză a volumelor mari de date pentru Excel cu o interfață intuitivă pentru descărcarea, consolidarea și fltrarea
datelor dintr-o mare varietate de surse.

1
4.2. Importarea datelor cu Power Query din internet

Exemplul 1. De creat o interogare pentru a importa date dintr-o pagină web. Pentru a face acest lucru,
trebuie să accesați tabelele pe pagina web și să aplicați transformări de date. Power Query va înregistra
toate acțiunile întreprinse și acestea vor fi repetate de fiecare dată la actualizarea datelor.

Etapa 1. Conectarea la pagina Wikipedia


1. Creați un registru de lucru Excel – Import, într-un folder nou D:\NumeStudent\Lab04.
2. Deschideți tabul Power Query și selectați From Web.
3. În fereastra de dialog From Web în câmpul URL inserați adresa URL a Wikipedia
(https://ro.wikipedia.org/wiki/Economia_Republicii_Moldova).
4. Tastați ОК.

Ca urmare a acțiunilor întreprinse, se dechide fereastra de dialog Navigator, care include tabele disponibile pe
pagina Wikipedia. Puteți face clic pe fiecare dintre aceste tabele pentru a vedea conținutul acestora în zona din
dreapta a ferestrei de dialog.

2
1. Faceți dublu clik pe tabelul Balanta comerciala..., iar editorul interogării (Query Editor) va deschide datele
privind balanța comercială.

Etapa 2. Selectarea câmpurilor


Acum, tabelul este deschisă în Query Editor unde puteți formata și lichida datele. La această etapă, modificați
structura viitorului tabel lichidând coloana Header.
1. În panoul Query Editor, faceți clic pe coloanele An, Raportul… și Față de.. în timp ce țineți apăsată
tasta CTRL.
2. Selectați lista derulantă Remove Columns > Remove Other Columns.

Etapa 3. Filtrarea datelor


Se filtrează coloana An pentru a exclude înregistrările în care nu este indicat anul.
1. Faceți clic pe săgeata filtrului din coloana An.
2. În lista derulantă al filtrului anulați bifa pentru An.
3. Setați ОК.

3
Etapa 4. Tipul datelor
La această etapă urmează de fixat tipul datelor.
1. În antetul coloanei An faceți clic pe ABC.
2. Selectați tipul de date Decimal Number.

Etapa 5. Atribuirea unui nume interogării


În zona Query Setting amplasată în partea dreaptă a editorului de interogări, în caseta câmpului Name, setați
Balanța comercială RM. Dacă dați click pe linkul All Prperties, puteți specifica și descrie interogarea în caseta
Description.

Etapa 6. Încărcarea interogării în foaia de lucru


Toate acțiunile întreprinse până acum se finalizează cu încărcarea datelor în foaie de lucru Excel prin
intermediul interogării Balanța comercială RM.
În colțul din stânga sus, faceți clic pe Close & Load. Power Query
afișează rezultatele interogării în foaia de lucru Excel. Dacă, mai târziu,
trebuie să actualizați datele, faceți clic dreapta pe intervalul de date și
selectați Refresh. Informațiile noi din pagina web vor fi reflectate automat
în datele încărcate.
Foaia de lucru Excel care include datele importate – redenumiți-o
BC.

4
Etapa 7. Examinarea interogării
1. Selectați o celulă din intervalul de date și apoi pe tabul QUERY selectați
butonul Edit Query.

În partea dreaptă a ecranului este afișată lista APPLIED STEPS. Toți


pașii au fost creați în măsura acțiunilor întreprinse de noi. Fiecare etapă a
interogării corespunde unei formule scrisă în limbajul M, descrierea funcțiilor poate fi găsită la adresa
https://msdn.microsoft.com/en-us/library/mt779182.aspx .
Pentru a vizualiza integral codul M generat de Query Editor deschideți tabul View -> Advanced Editor.
2. Mai jos este prezentată descrierea fiecărui pas.

Etapa interogării Sarcină Formula


Source Conectarea la o = Web.Page
sursă de date Web (Web.Contents("https://ro.wikipedia.org/wiki/Economia_Republicii
_Moldova"))
Navigation Selectarea tabelului =Source{5}[Data]
Changed Type Modificarea =Table.TransformColumnTypes(Data5,{{"Header", type text},
tipului: Power {"An", type text}, {"Raportul #(lf)export - import (mln. $)", type
Query face acest text}, {"față de #(lf)anul precedent", type text}}),{"Third place
lucru automat match Fourth place", type text}, {"3", type text}, {"Number of
teams", type text}})
RemovedOtherCol Lichidarea unor =Table.SelectColumns(#"Changed Type",{"An", "Raportul
umns coloane inutile #(lf)export - import (mln. $)", "față de #(lf)anul precedent"}),
utilizând comanda
Removed Other
Columns
FilteredRows Filtrarea datelor în = Table.SelectRows(#"Replaced Value", each ([An] <> "An"))
coloană
Changed Type1 Modificarea = Table.TransformColumnTypes(#"Filtered Rows",{{"An", type
tipului de date, din number" }
text în number
Pentru mai multe informații despre limbajul formulării Power Query, vedeți
https://msdn.microsoft.com/library/mt211003.aspx .

5
4.3. Importarea datelor dintr-un fișier word/pdf

Pentru început, plasați fișierele din ResurseDigitale1 (le găsiți pe platforma MOODLE) în folderul creat în
exempulul precedet (D:\NumeStudent\Lab04)

Exemplul 2. De creat o interogare pentru a importa date din fișier word/pdf.

Etapa 1. Conectarea
1. Pentru fișierul word
(AngajatiOrhei.docx) se face o copie cu
extensia .html în folderul Lab04, denumiți
fișierul AngajatiOrhei.htm.

2. Datele se încarcă în fișierul Excel Import: pe tabul Power Query


accesați From File > From XML.

3. În fereastra Browse, din lista derulantă se selectează All Files(*.*) >


AngajatiOrhei.htm > OK.

6
4. După conectarea la pagina html, veți vedea o listă
de tabele disponibile în zona Navigator. Puteți face
clic pe fiecare dintre aceste tabele pentru a vedea
datele în zona dreaptă a ferestrei de dialog.
Faceți dublu clik pe tabelul Table0 pentru a
fi deschisă în editorul interogării (Query Editor),
care permite transformarea datelor.

Etapa 2. Transformarea
1. Umplem celulele goale din câmpul
Departament:
- selectăm coloana - Departament;
- comanda Transform > Fill down.

2. Se verifică tipul datelor importate,


 Pentru Data Nașterii, Data Angajării, pentru câmpul Data Achitării se stabilește formatul English
(United Kingdom).

7
 Câmpul Salariu de încadrare se transfromă din text > number:
- se selectează câmpul;
- Home > Split Column > By number of Characters > 7 >
Once, as far left as possible > OK;
- câpul Salariu încadrare1 se lichidează cu ajutorul meniului
contextual;
- rămâne doar câmpul Salariu încadrare.2

 Pentru câmpul Salariu încadrare.2 înlocuim “virgula” cu “nimic” (lichidăm virgula):


- Din meniul contextual apelat pentru coloană, selectăm Replace Values;
- setăm ce vrem să înlocuim – Value To Find
- setăm cu ce va fi înlocită – Replace With.
- OK.

 Continuăm transformarea câmpului Salariu


încadrare.2
- Home > Split Column > By Delimiter > Space > OK;
- câmpul format este redenumit Salariu încadrare;
- câmpul suplimentar este lichidat.

Etapa 3. Importarea datelor


Acțiuni finale:

8
- În zona Query Setting amplasată în partea dreaptă a editorului de
interogări, în caseta câmpului Name, setați AngajațiOrheiQ1. Dacă dați
click pe linkul All Properties, puteți specifica și descrie interogarea în
caseta Description.

- Încărcarea interogării în
foaia de lucru: toate acțiunile
întreprinse până acum se
finalizează cu încărcarea
datelor în foaie de lucru Excel
prin intermediul interogării
AngajațiOrheiQ1.
În colțul din stânga sus- tabul Home, faceți clic pe Close & Load To.

Caseta Load To permite selectarea tipului de importare a


datelor:
Table – descarcă datele în foaia de lucru Excel;
Only Create Connection – crează o legătură cu datele;
Add this data to the Data Model – adaugă datele la
modelul de date.

-În final, redenumiți foaia Excel – AngajatiOrhei.

Etapa 4. Examinarea interogării


3. Selectați o celulă din intervalul de date importate;
4. Atrageți atenția la taburile contextuale Query și Design;
5. Pe tabul QUERY selectați butonul Edit Query.
6. În partea dreaptă a ecranului este afișată lista APPLIED STEPS.
Toți pașii au fost creați în măsura acțiunilor întreprinse. Fiecare etapă a interogării corespunde unei formule scrisă
în limbajul M, descrierea funcțiilor poate fi găsită la adresa https://msdn.microsoft.com/en-us/library/mt779182.aspx
.

9
7. Mai jos este prezentată descrierea fiecărui pas.
Etapa interogării Sarcină Formula
Source Conectarea la o sursă de = Web.Page(File.Contents("C:\Users\User\Desktop\lab
date Web BI\ResurseDigitale\1q_Angajati\AngajatiOrhei.htm")),
Navigation Selectarea tabelului = Source{0}[Data]
Promoted Headers Modificarea tipului: = Table.PromoteHeaders(Data0, [PromoteAllScalars=true]),
Power Query face acest
lucru automat
Changed Type Modificarea tipului de = Table.TransformColumnTypes(#"Promoted Headers",{{"Marca", Int64.Type},
date {"Nume Prenume", type text}, {"Data naşterii", type date}, {"Filiala", type text},
{"Departament", type text}, {"Funcţia", type text}, {"Data angajării", type date},
{"Salariu încadrare", type text}, {"Data Achitării", type text}}),
Filled Down Umplerea cu date = Table.FillDown(#"Changed Type",{"Departament"}),
Changed Type with Modificarea tipului de = Table.TransformColumnTypes(#"Filled Down", {{"Data Achitării", type
Locale date la formatul en-GB date}}, "en-GB"),
Split Column by Divizarea unei coloane = Table.SplitColumn(#"Filled Down", "Salariu încadrare",
Position după numărul de Splitter.SplitTextByPositions({0, 8}, false), {"Salariu încadrare.1", "Salariu
caractere încadrare.2"}),
Changet Type1 Modificarea tipului de = Table.TransformColumnTypes(#"Split Column by Position",{{"Salariu
date încadrare.1", type text}, {"Salariu încadrare.2", type text}}),
Removed Columns Lichidarea coloanei = Table.RemoveColumns(#"Changed Type1",{"Salariu încadrare.1"}),
Replaced Value Înlocuirea valorilor = Table.ReplaceValue(#"Removed
Columns",",","",Replacer.ReplaceText,{"Salariu încadrare.2"}),
Split Column by Divizarea coloanei după = Table.SplitColumn(#"Replaced Value", "Salariu încadrare.2",
Delimiter delimator Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Salariu încadrare.2.1",
"Salariu încadrare.2.2"}),
Changed Type2 Modificarea tipului de = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Salariu
date încadrare.2.1", type number}, {"Salariu încadrare.2.2", type text}}),
Renamed Columns Redenumirea coloanei = Table.RenameColumns(#"Changed Type2",{{"Salariu încadrare.2.1", "Salariu
încadrare"}}),
Removed Columns1 Lichidarea coloanei = Table.RemoveColumns(#"Changed Type2",{"Salariu încadrare.2.2"}),

Pentru a vizualiza integral codul M, faceți clic pe opțiunea Query Editor > View > Advanced Editor. Pentru
mai multe informații despre limbajul M, vedeți https://msdn.microsoft.com/library/mt211003.aspx .

10
4.4. Consolidarea datelor din mai multe foi de lucru Excel

Exemplul 3. În această sarcină se automatizează colectarea datelor dintr-un număr mare de foi de
lucru Excel amplasate într-un fișier Excel.

Etapa 1. Conectarea
Pînă a importa datele, ne asigurăm că tabelele au aceiași structură (vezi mapa ResurseDigitale1, fișierul
AngajatiChisinau.xlsx).
1. Power Query > From File > From Excel
2. Anexăm fișierul AngajatiChisinau.xlsx >
OK
3. Selectăm o pagină (nu are importanță) >
butonul Edit

Etapa 2. Transformarea
1. Din panelul Query Settings > APPLIED
STEPS sunt lichidați toți pașii în afară de
primul (Source).

2. Din meniul contextual apelat pentru câmpul Data, selectăm Remove Other
Columns – pentru a lichida celelalte coloane.
3. Activați indicatorul două săgeți din câmpul Data.

11
4. Scoatem bifa de la Use original columns… > OK.

5. Indicăm primul rând – rând antet: Transform > Use First Row as Headers

6. Aplicăm filtrul pentru câmpul Marca, excludem bifa pentru câmpul


null și Marca, OK.
7. Verificăm tipul datelor. Atrageți atenția la câmpurile: Data nașterii,
Data angajării, Data achitării.
8. Denumim interogarea AngajațiChisinauQ2.

Etapa 3. Importarea datelor

1. Importăm datele indicând Only Create Connection, astfel nu descărcăm


datele în foaia de calcul dar creăm doar legătura cu sursa de date.

2. În panelul Workbook Queries (dacă nu este afișat, poate fi afișat cu


Show Pane din tabul Power Query)
găsim lista interogărilor create.

12
Exemplul 4. Consolidarea datelor din interogările AngajatiOrheiQ1 și AngajatiChisinauQ2.
1. Deschidem Query Editor (Power Query > Launch Editor);

2. În partea stângă a editorului de interogări este amplasat panelul Queries,


care poate fi extins pentru a vizualiza lista interogărilor create în fișierul
curent;

3. Apelăm meniul contextual pentru interogarea AngajatiOrheiQ1 >


Reference;
4. Ca urmare acțiunilor întreprinse se crează interogarea nouă
AngajatiOrheiQ1 (2);
5. Adăugăm datele furnizate de interogarea AngajatiChisinauQ2: Home > grupul Combine > Append Queries;
6. Completăm caseta Append, indicând interogarea AngajatiChisinauQ2, OK.

7. Verificăm tipul datelor (atenție la Salariul de încadrare).


8. Adăugăm o coloană nouă Anul Angajării:
- Selectăm coloana Data angajarii;
- Add Column > Column From Examples > From Selection;
- Dublu click pe prima celulă a coloanei noi create;
- Selectăm șablonul Year From Data angajării > OK;
- Redenumim coloana nou creată: Anul angajării;
9. Adăugăm o coloană nouă Impozit
- Add Column > Custom Column;
- Se completează panelul Custom Column cu formula =[Salariu incadrare]*0.12 > OK;
- Pentru coloana nouă stabilim tipul de date Decimal Number.

13
10. Redenumim interogarea - AngajațiQ3.
11. Salvăm interogarea.

14
4.5. Importarea datelor din diferite fișiere Excel

Exemplul 5. În această sarcină se automatizează colectarea datelor dintr-un număr aleator de fișiere
cu număr diferit de foi de lucru într-un singur tabel. Pe baza tabelului consolidat, pot fi create
rapoarte.

Etapa 1. Conectarea
1. Importăm mapa Lista din ResirseDigitale1 (From file > From Folder)

2. Continuăm cu Edit.
3. Din toate coloanele prezente, râmăn doar două (Content, Name), celelalte sunt lichidate.

15
4. Formăm o coloană nouă: Add Column > Costum Column > înscriem formula pentru coloana calculate
=Excel.Workbook([Content])

5. Lichidăm coloanele Content și Name


6. Activăm butonul cu două săgeți
7. Bifăm doar câmpul Data.
8. Excludem bifa – Use original column name as prefix.

9. În continuare, este activat butonul cu două săgeți. Excludem bifa – Use original column name as prefix.

16
Etapa 2. Transformarea

1. Fixăm primul rand – antet.


2. Filtrăm lista cu excluderea rânrului null și antetul.
3. La lista formată adaugăm informația din interogarea AngatiOrheiQ1 și AngajațiChisinauQ2
(Append).
4. Verificăm tipul datelor
5. Denumim interogarea ListaConsolidata.

Etapa 3. Importarea datelor

1. Home -> Close & Load To....

2. Selectați Only Create


Connection (se crează doar
legătura cu fișierul sursă).

17
4.6. Crearea raportului

Exemplul 6. De creat un raport rezumativ pe baza interogării ListaConsolidată


1. Inser > PivotTable > Use an external data source > Choose Connection > ListaConsolidată > OPEN > OK

2. Formăm raportul

18
4.7. Subiecte de evaluare

Întrebări:
1. Identificați destinația modulului Power Query.
2. Descrieți oportunitățile oferite de Power Query pentru importul datelor.
3. Enumerați acțiunile ce pot fi întreprinse la etapa modelării datelor.
4. Descrieți fereastra de dialog Edit Query.
5. Definiți noțiunea și caracteristicile limbajului M.
6. Descrieți modul de creare/redactare a codului scris în limbajul M cu Power Query.
8. Relatați despre adăugarea (Append) datelor cu Power Query.
9. Decsrieți caseta de dialog Workbook Queries.
10. Descrieți caseta de dialog Load To.

Structura raportului individual, subiectul pentru Lucrarea individuală va fi ales din Anexa 1 în comun
acord cu profesorul:

1. Creați o funcție în Power Query, care va consolida datele din mai multe fișiere Excel într-un singur
tabel rezumativ (datele conținute de fișierele excel vor corespunde subiectului ales din Anexa1).
a) Descrieți și prezentați funcția creată.
b) Prezentați panoul Work Queries.
c) Formulați și prezentați raportul Pivot Tabel pe baza tabelului rezultat.

Lucrarea finisată (fișierul Excel) încărcați-o pe platforma moodle


indicând: LL_4, nume, prenumele și grupa studentului.

19
Anexa 1
Variantele lucrărilor individuale:
Varianta 1 Tema BD: Magazin de cărţi
Varianta 2 Tema BD: Universitatea
Varianta 3 Tema BD: Bază angro
Varianta 4 Tema BD: Producţie
Varianta 5 Tema BD: Reţea de magazine
Varianta 6 Tema BD: Atelier de reparaţii auto
Varianta 7 Tema BD: Decanat (evidenţa notelor).
Varianta 8 Tema BD: Activitatea de contract a organizaţiei
Varianta 9 Tema BD: Policlinica (evidenţa pacienţilor)
Varianta 10 Tema BD: Staţia de telefoane
Varianta 11 Tema BD: Sport (evidenţa campionatelor)
Varianta 12 Tema BD: Munci agricole (evidenţa întreprinderilor agricole)
Varianta 13 Tema BD: Transportul urban (evidenţa rutelor)
Varianta 14 Tema BD: Geografia (evidenţa continentelor)
Varianta 15 Tema BD: Administrarea casei (evidenţa achitării serviciilor).
Varianta 16 Tema BD: Aeroport (evidenţa curselor)
Varianta 17 Tema BD: Calculatoare Electronice personale
Varianta 18 Tema BD: Fişa personală a studentului. .
Varianta 19 Tema BD: Microcipuri de memorie
Varianta 20 Tema BD: Şahmate (evidenţa sportivilor)
Varianta 21 Tema BD: Hipodrom (evidenţa competiţiilor)
Varianta 22 Tema BD: Cartea roşie
Varianta 23 Tema BD: Sateliţii planetelor
Varianta 24 Tema BD: Detalii radio
Varianta 25 Tema BD: Gospodărie silvică (evidenţa rezercaţiilor)
Varianta 26 Tema BD: Întreprindere de transport auto (evidenţa încărcăturilor)
Varianta 27 Tema BD: Registrul clipurilor video
Varianta 28 Tema BD: Comenzi
Varianta 29 Tema BD: Recete
Varianta 30 Tema BD: Secţia de cadre
Varianta 31 Tema BD: Autogara
Varianta 32 Tema BD: Armata
Varianta 33 Tema BD: Atelier de croitorie
Varianta 34 Tema BD: Atelier fotografic
Varianta 35 Tema BD: Banca de economii

20
Varianta 36 Tema BD: Cămin
Varianta 37 Tema BD: Circ
Varianta 38 Tema BD: Colecţii
Varianta 39 Tema BD: Comerţ cu imobilul
Varianta 40 Tema BD: Farmacia
Varianta 41 Tema BD: Firmă de turism
Varianta 42 Tema BD: Gara feroviară
Varianta 43 Tema BD: Grădina zoologică
Varianta 44 Tema BD: Grădiniţa de copii
Varianta 45 Tema BD: Internet cafe
Varianta 46 Tema BD: Întreprindere vinicolă
Varianta 47 Tema BD: Magazin de bijuterii
Varianta 48 Tema BD: Magazin de flori
Varianta 49 Tema BD: Muzeu
Varianta 50 Tema BD: Oficiul stării civile
Varianta 51 Tema BD: Organizaţia de construcţii
Varianta 52 Tema BD: Parcarea auto
Varianta 53 Tema BD: Producerea automobilelor
Varianta 54 Tema BD: Serviciu anti-incendiar
Varianta 55 Tema BD: Serviciul de livrare la domiciliu
Varianta 56 Tema BD: Staţie de alimentare
Varianta 57 Tema BD: Studioul cinematografic
Varianta 58 Tema BD: Şcoală muzicală

21

S-ar putea să vă placă și