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 det formelsprog, der leveres medPower Pivot, DAX (Data Analysis Expressions). 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 LOPSLAG i Excel, er denne funktionalitet i Power Pivot ens, men meget nemmere at implementere.
Du kan oprette formler, der udfører opslag som en del af en beregnet kolonne eller som en del af en måling til brug i en pivottabel eller et pivotdiagram. 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 leveres til opslag, sammen med nogle eksempler på, hvordan du bruger funktionerne.
Bemærk!: Afhængigt af typen af opslagshandling eller opslagsformel, du vil bruge, skal du muligvis først oprette en relation mellem tabellerne.
Om opslagsfunktioner
Muligheden for at slå matchende eller relaterede data fra en anden tabel op er især nyttig i situationer, hvor den aktuelle tabel kun har en identifikator af en slags, men de data, du skal bruge (f.eks. produktpris, navn eller andre detaljerede værdier), gemmes 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 alle salg, der er knyttet til et bestemt område, en butik eller en 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. DAX kan også hente en tabel med poster, der er relateret til den aktuelle post.
Bemærk!: Hvis du kender relationsdatabaser, kan du betragte opslag i Power Pivot som svarende til en indlejret sætning for undermarkering 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 ønskede data, 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 i Excel. Men listen indeholder kun et medarbejder-id, et ordre-id og et speditør-id, hvilket gør rapporten svær at læse. Hvis du vil have de ekstra oplysninger, du ønsker, kan du konvertere listen til en Power Pivot sammenkædet tabel og derefter oprette relationer til tabellerne Medarbejder og Forhandler, matche EmployeeID med feltet EmployeeKey og ResellerID med 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'[CompanyName])Dagens forsendelser før opslag
Ordre-id |
Medarbejder-id |
Forhandler-id |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
Medarbejdertabel
Medarbejder-id |
Medarbejder |
Forhandler |
---|---|---|
230 |
Kuppa Vamsi |
Modulopbygget cyklussystemer |
15 |
Pilar Ackeman |
Modulopbygget cyklussystemer |
76 |
Kim Ralls |
Tilknyttede cykler |
Dagens forsendelser med opslag
Ordre-id |
Medarbejder-id |
Forhandler-id |
Medarbejder |
Forhandler |
---|---|---|---|---|
100314 |
230 |
445 |
Kuppa Vamsi |
Modulopbygget cyklussystemer |
100315 |
15 |
445 |
Pilar Ackeman |
Modulopbygget 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 få mere at vide og se eksempler under Funktionen RELATED.
Henter 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 slår poster op for hver forhandler i tabellen ResellerSales_USD og tæller antallet af individuelle ordrer, der er afgivet af hver forhandler.
=TÆLVR(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 kolonnen Id nogen steder i formlen, da Power Pivot bruger den eksisterende relation mellem tabellerne. Funktionen RELATEDTABLE henter derefter alle rækker fra den ResellerSales_USD tabel, 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 den ResellerSales_USD tabel.
For forhandleren Modular Cycle Systems i vores eksempeldatabase er der fire ordrer i salgstabellen, så funktionen returnerer 4. For Tilknyttede cykler har forhandleren ingen salg, så funktionen returnerer en tom.
Forhandler |
Poster i salgstabellen for denne forhandler |
|
---|---|---|
Modulopbygget 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 få mere at vide under Funktionen RELATEDTABLE.