Una dintre cele mai puternice caracteristici din Power Pivot este capacitatea de a crea relații între tabele, apoi de a utiliza tabelele asociate pentru a căuta sau a filtra date asociate. Regăsiți valorile asociate din tabele utilizând limbajul pentru formule furnizat cuPower Pivot, Data Analysis Expressions (DAX). DAX utilizează un model relațional și, prin urmare, poate regăsi cu ușurință și corect valorile asociate sau corespunzătoare din alt tabel sau din 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 să creați formule care fac căutare ca parte a unei coloane calculate sau ca parte a unei măsuri pentru utilizare î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 despre cum să utilizați funcțiile.
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 potriviri sau date asociate din alt tabel este utilă în special în situațiile în care tabelul curent are doar un identificator, 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 valoarea curentă. De exemplu, puteți regăsi cu ușurință toate vânzările legate la o anumită regiune, magazin sau vânzător.
Spre deosebire de funcțiile de căutare Excel cum ar fi VLOOKUP, care se bazează pe matrice sau LOOKUP, care obține primele din mai multe valori care se potrivesc, DAX urmează relațiile existente între tabelele asociate prin taste, pentru a obține unica valoare corelată care se potrivește exact. De asemenea, DAX poate regăsi un tabel de înregistrări legate de înregistrarea curentă.
Notă: Dacă sunteți familiarizat cu bazele de date relaționale, gândiți-vă la căutările din Power Pivot la fel ca la o inserție de subselectare imbricată în Transact-SQL.
Regăsirea unei valori asociate unice
Funcția RELATED returnează o singură valoare dintr-un alt tabel, legată de valoarea curentă din tabelul curent. Specificați coloana care conține datele dorite și 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ă de livrări de astăzi în Excel. Totuși, lista conține doar un număr ID de angajat, un număr ID de comandă și un număr id de expeditor, făcând raportul greu de citit. Pentru a obține informațiile suplimentare dorite, puteți să efectuați conversia listei într-un tabel legat Power Pivot, apoi să creați relații la tabelele Angajați și Reseller, LA CÂMPURILE EMPLOYEEKEY (ID angajați) și ResellerID (CHEIE Reseller) la câmpul ResellerKey (Cheie Reseller).
Pentru a afișa informațiile de căutare din tabelul legat, adăugați două coloane calculate noi cu următoarele formule:
= RELATED('Angajați'[Nume Angajat])
= RELATED('Reselleri'[Nume CompanyName])
Livrările de astăzi înainte de căutare
OrderID |
ID pentru angajați |
RESELLERID |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
Tabelul Angajați
ID pentru angajați |
Angajat |
Reseller |
---|---|---|
230 |
Kuppa Vamsi |
Sisteme ciclu modular |
15 |
Pilar Ackeman |
Sisteme ciclu modular |
76 |
Kim Ralls |
Biciclete asociate |
Livrările de astăzi cu ajutorul cautării
OrderID |
ID pentru angajați |
RESELLERID |
Angajat |
Reseller |
---|---|---|---|---|
100314 |
230 |
445 |
Kuppa Vamsi |
Sisteme ciclu modular |
100315 |
15 |
445 |
Pilar Ackeman |
Sisteme ciclu modular |
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 anul acesta. Puteți crea o nouă coloană calculată în tabelul Reselleri, care include formula următoare, care caută înregistrări pentru fiecare reseller în tabelul ResellerSales_USD și contorizează numărul de comenzi individuale plasate de fiecare reseller.
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
În această formulă, funcția RELATEDTABLE primește mai întâi valoarea ResellerKey pentru fiecare reseller din tabelul curent. (Nu trebuie să specificați coloana ID oriunde în formulă, deoarece această Power Pivot utilizează relația existentă între tabele.) Funcția RELATEDTABLE primește apoi toate rândurile de 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, atunci veți obține toate rândurile din tabelul ResellerSales_USD tabel.
Pentru sistemele ciclu modulare ale resellerului 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, astfel că funcția returnează o valoare goală.
Reseller |
Înregistrări în tabelul de vânzări pentru acest reseller |
|
---|---|---|
Sisteme ciclu modular |
Reseller ID |
SalesOrderNumber |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
Reseller ID |
SalesOrderNumber |
|
Biciclete asociate |
Notă: Deoarece funcția RELATEDTABLE returnează un tabel, nu o singură valoare, aceasta trebuie utilizată ca argument pentru o funcție care efectuează operațiuni cu tabele. Pentru mai multe informații, consultați Funcția RELATEDTABLE.