En af de mest effektive funktioner i Power Pivot er muligheden for at oprette relationer mellem tabeller og derefter bruge de relaterede tabeller til at slå op eller filtrere relaterede data. Du henter relaterede værdier fra tabeller ved hjælp af formelsproget iPower Pivot, Data Analysis Expressions (DAX). DAX bruger en relationel model og kan derfor nemt og præcist hente relaterede eller tilsvarende værdier i en anden tabel eller kolonne. Hvis du kender til LOPSLAG i Excel, er denne funktionalitet i Power Pivot lignende, men meget nemmere at implementere.
Du kan oprette formler, der laver opslag som en del af en beregnet kolonne eller som en del af en måling til brug i en pivottabel eller PivotChart. Du kan finde flere oplysninger under følgende emner:
Beregnede felter i Power Pivot
Beregnede kolonner i Power Pivot
I dette afsnit beskrives DE DAX-funktioner, der er medfølgende opslag, sammen med nogle eksempler på, hvordan du bruger funktionerne.
Bemærk!: Afhængigt af typen af opslagshandling eller opslagsformel, du vil bruge, kan det være nødvendigt først at oprette en relation mellem tabellerne.
Forstå opslagsfunktioner
Muligheden for opslagsmatchning eller relaterede data fra en anden tabel er især nyttig i situationer, hvor den aktuelle tabel kun har en identifikator af en art, men de data, du skal bruge (f.eks. produktpris, navn eller andre detaljerede værdier), er gemt i en relateret tabel. Det er også nyttigt, når der er flere rækker i en anden tabel, der er relateret til den aktuelle række eller aktuelle værdi. Du kan f.eks. nemt hente alt det salg, der er bundet til et bestemt område, en bestemt butik eller sælger.
I modsætning til Excel opslagsfunktioner som f.eks. LOPSLAG, der er baseret på matrixer, eller SLÅ.OP, som får den første af flere matchende værdier, følger DAX eksisterende relationer mellem tabeller, der er forbundet med nøgler, for at få den enkelte relaterede værdi, der svarer nøjagtigt til hinanden. DAX kan også hente en tabel over poster, der er relateret til den aktuelle post.
Bemærk!: Hvis du kender til relationsdatabaser, kan du tænke på opslag i Power Pivot som en indlejret undermarkeringsopgørelse i Transact-SQL.
Henter en enkelt relateret værdi
Funktionen RELATED returnerer en enkelt værdi fra en anden tabel, der er relateret til den aktuelle værdi i den aktuelle tabel. Du angiver den kolonne, der indeholder de data, du ønsker, og funktionen følger eksisterende relationer mellem tabeller for at hente værdien fra den angivne kolonne i den relaterede tabel. I nogle tilfælde skal funktionen følge en kæde af relationer for at hente dataene.
Antag f.eks., at du har en liste over dagens forsendelser Excel. Men listen indeholder kun et medarbejder-id, et ordre-id og et spedér-id, så rapporten er svær at læse. Hvis du vil have de ekstra oplysninger, du vil bruge, kan du konvertere listen til en sammenkædet Power Pivot -tabel og derefter oprette relationer til tabellerne Medarbejder og Forhandler, hvor EmployeeID matcher feltet EmployeeKey og ResellerID til feltet ResellerKey.
Hvis du vil have vist opslagsoplysningerne i den sammenkædede tabel, skal du tilføje to nye beregnede kolonner med følgende formler:
= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[Firmanavn])
Dagens forsendelser før opslag
Ordre-id |
EmployeeID |
ResellerID |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
Medarbejdertabel
EmployeeID |
Medarbejder |
Forhandler |
---|---|---|
230 |
Kuppa Vamsi |
Modulære cyklussystemer |
15 |
Pilar Ackeman |
Modulære cyklussystemer |
76 |
Kim Ralls |
Tilknyttede cykler |
Forsendelser i dag med opslag
Ordre-id |
EmployeeID |
ResellerID |
Medarbejder |
Forhandler |
---|---|---|---|---|
100314 |
230 |
445 |
Kuppa Vamsi |
Modulære cyklussystemer |
100315 |
15 |
445 |
Pilar Ackeman |
Modulære cyklussystemer |
100316 |
76 |
108 |
Kim Ralls |
Tilknyttede cykler |
Funktionen bruger relationerne mellem den sammenkædede tabel og tabellen Medarbejdere og forhandlere til at få det korrekte navn for hver række i rapporten. Du kan også bruge relaterede værdier til beregninger. Du kan finde flere oplysninger og eksempler i Funktionen RELATED.
Hente en liste over relaterede værdier
Funktionen RELATEDTABLE følger en eksisterende relation og returnerer en tabel, der indeholder alle matchende rækker fra den angivne tabel. Antag f.eks., at du vil finde ud af, hvor mange ordrer hver forhandler har afgivet i år. Du kan oprette en ny beregnet kolonne i tabellen Forhandlere, der indeholder følgende formel, som søger efter poster for hver forhandler i ResellerSales_USD-tabellen og tæller antallet af individuelle ordrer, der er afgivet af hver forhandler.
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
I denne formel henter funktionen RELATEDTABLE først værdien af ResellerKey for hver forhandler i den aktuelle tabel. (Du behøver ikke at angive id-kolonnen nogen steder i formlen, fordi Power Pivot den eksisterende relation mellem tabellerne.) Funktionen RELATEDTABLE henter derefter alle rækkerne fra tabellen ResellerSales_USD, der er relateret til hver forhandler, og tæller rækkerne. Hvis der ikke er nogen relation (direkte eller indirekte) mellem de to tabeller, får du alle rækker fra ResellerSales_USD tabel.
Til forhandleren Modular Cycle Systems i vores eksempeldatabase er der fire ordrer i salgstabellen, så funktionen returnerer 4. Forhandleren har ingen salg for Tilknyttede cykler, så funktionen returnerer et tomt felt.
Forhandler |
Poster i salgstabellen for denne forhandler |
|
---|---|---|
Modulære cyklussystemer |
Forhandler-id |
Salgsordrenummer |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
Forhandler-id |
Salgsordrenummer |
|
Tilknyttede cykler |
Bemærk!: Da funktionen RELATEDTABLE returnerer en tabel, ikke en enkelt værdi, skal den bruges som argument til en funktion, der udfører handlinger på tabeller. Du kan finde flere oplysninger under Funktionen RELATEDTABLE.