Una dintre cele mai puternice caracteristici din Power Pivot este capacitatea de a crea relații între tabele și de a utiliza tabelele asociate pentru a căuta sau a filtra date asociate. Regăsiți valori asociate din tabele utilizând limbajul de formule furnizat cuPower Pivot, DAX (Data Analysis Expressions). DAX utilizează un model relațional și, prin urmare, poate regăsi ușor și corect valorile asociate sau corespondente din alt tabel sau altă coloană. Dacă sunteți familiarizat cu VLOOKUP în Excel, această funcționalitate din Power Pivot este similară, dar mult mai ușor de implementat.
Puteți crea formule care fac căutări ca parte a unei coloane calculate sau ca parte a unei măsuri de utilizat într-un raport PivotTable sau PivotChart. Pentru mai multe informații, consultați subiectele următoare:
Câmpuri calculate din Power Pivot
Coloanele calculate în Power Pivot
Această secțiune descrie funcțiile DAX furnizate pentru căutare, împreună cu câteva exemple de utilizare a funcțiilor.
Notă: În funcție de tipul operațiunii de căutare sau de formula de căutare pe care doriți să o utilizați, poate fi necesar să creați mai întâi o relație între tabele.
Înțelegerea funcțiilor de căutare
Capacitatea de a căuta potrivire sau date asociate din alt tabel este utilă în special în situațiile în care tabelul curent are doar un identificator de un anumit tip, dar datele de care aveți nevoie (cum ar fi prețul produsului, numele sau alte valori detaliate) sunt stocate într-un tabel asociat. De asemenea, este util atunci când există mai multe rânduri în alt tabel legate de rândul curent sau de valoarea curentă. De exemplu, puteți regăsi cu ușurință toate vânzările legate la o anumită regiune, la magazin sau la un agent de vânzări.
Spre deosebire de funcțiile de căutare Excel, cum ar fi VLOOKUP, care se bazează pe matrice sau LOOKUP, care obține prima dintre valorile multiple care se potrivesc, DAX urmează relațiile existente între tabelele asociate prin taste pentru a obține valoarea asociată unică care se potrivește exact. DAX poate, de asemenea, să regăsească un tabel de înregistrări legate de înregistrarea curentă.
Notă: Dacă sunteți familiarizat cu bazele de date relaționale, vă puteți gândi la căutările din Power Pivot ca la o instrucțiune de subselectare imbricată din Transact-SQL.
Se regăsește o valoare asociată unică
Funcția RELATED returnează o singură valoare din alt tabel legată de valoarea curentă din tabelul curent. Specificați coloana care conține datele dorite, iar funcția urmează relațiile existente între tabele pentru a prelua valoarea din coloana specificată din tabelul asociat. În unele cazuri, funcția trebuie să urmeze un lanț de relații pentru a regăsi datele.
De exemplu, să presupunem că aveți o listă a livrărilor de astăzi în Excel. Totuși, lista conține doar un număr ID de angajat, un număr ID comandă și un număr ID de expeditor, ceea ce face raportul greu de citit. Pentru a obține informațiile suplimentare dorite, puteți să efectuați conversia listei respective într-un Power Pivot tabel legat, apoi să creați relații cu tabelele Angajați și Reselleri, să potriviți IDAngajat cu câmpul CheieAngajat și RESELLERID la câmpul ResellerKey.
Pentru a afișa informațiile de căutare în tabelul legat, adăugați două coloane calculate noi, cu următoarele formule:
= RELATED('Angajați'[NumeAngajat])
= RELATED('Reselleri'[NumeFirmă])Livrările de astăzi înainte de căutare
OrderID |
Idangajat |
ID reseller |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
Tabelul Angajați
Idangajat |
Angajat |
Reseller |
---|---|---|
230 |
Kuppa Vamsi |
Sisteme ciclic modulare |
15 |
Pilar Ackeman |
Sisteme ciclic modulare |
76 |
Kim Ralls |
Biciclete asociate |
Livrările de astăzi cu căutări
OrderID |
Idangajat |
ID reseller |
Angajat |
Reseller |
---|---|---|---|---|
100314 |
230 |
445 |
Kuppa Vamsi |
Sisteme ciclic modulare |
100315 |
15 |
445 |
Pilar Ackeman |
Sisteme ciclic modulare |
100316 |
76 |
108 |
Kim Ralls |
Biciclete asociate |
Funcția utilizează relațiile dintre tabelul legat și tabelul Angajați și reselleri pentru a obține numele corect pentru fiecare rând din raport. De asemenea, puteți utiliza valori asociate pentru calcule. Pentru mai multe informații și exemple, consultați Funcția RELATED.
Regăsirea unei liste de valori asociate
Funcția RELATEDTABLE urmează o relație existentă și returnează un tabel care conține toate rândurile care se potrivesc din tabelul specificat. De exemplu, să presupunem că doriți să aflați câte comenzi a plasat fiecare reseller în acest an. Puteți crea o nouă coloană calculată în tabelul Reselleri, care include următoarea formulă, care caută înregistrări pentru fiecare reseller din tabelul ResellerSales_USD și contorizează numărul de comenzi individuale plasate de fiecare reseller.
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
În această formulă, funcția RELATEDTABLE obține mai întâi valoarea ResellerKey pentru fiecare reseller din tabelul curent. (Nu trebuie să specificați coloana ID oriunde în formulă, deoarece Power Pivot utilizează relația existentă între tabele.) Funcția RELATEDTABLE obține apoi toate rândurile din tabelul ResellerSales_USD care sunt asociate cu fiecare reseller și contorizează rândurile. Dacă nu există nicio relație (directă sau indirectă) între cele două tabele, veți obține toate rândurile din tabelul ResellerSales_USD.
Pentru resellerul Modular Cycle Systems din baza noastră de date eșantion, există patru comenzi în tabelul de vânzări, astfel că funcția returnează 4. Pentru Biciclete asociate, resellerul nu are vânzări, așa că funcția returnează o valoare necompletată.
Reseller |
Înregistrări în tabelul de vânzări pentru acest reseller |
|
---|---|---|
Sisteme ciclic modulare |
Reseller ID |
Număr comandăVânzătoare |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
Reseller ID |
Număr comandăVânzătoare |
|
Biciclete asociate |
Notă: Deoarece funcția RELATEDTABLE returnează un tabel, nu o singură valoare, trebuie utilizată ca argument pentru o funcție care efectuează operațiuni în tabele. Pentru mai multe informații, consultați Funcția RELATEDTABLE.