En av de kraftigste funksjonene i Power Pivot er muligheten til å opprette relasjoner mellom tabeller og deretter bruke relaterte tabeller til å slå opp eller filtrere relaterte data. Du henter relaterte verdier fra tabeller ved hjelp av formelspråket som følger medPower Pivot, DAX (Data Analysis Expressions). DAX bruker en relasjonsmodell og kan derfor enkelt og nøyaktig hente relaterte eller tilsvarende verdier i en annen tabell eller kolonne. Hvis du er kjent med FINN.EXCEL, er denne funksjonaliteten i Power Pivot lik, men mye enklere å implementere.
Du kan opprette formler som gjør oppslag som en del av en beregnet kolonne, eller som en del av et mål for bruk i en pivottabell eller PivotChart. Hvis du vil ha mer informasjon, kan du se følgende emner:
Beregnede kolonner i PowerPivot
Denne delen beskriver DAX-funksjonene som er tilgjengelige for oppslag, sammen med noen eksempler på hvordan du bruker funksjonene.
Obs!: Avhengig av typen oppslagsoperasjon eller oppslagsformel du vil bruke, må du kanskje opprette en relasjon mellom tabellene først.
Forstå oppslagsfunksjoner
Muligheten til å slå opp samsvarende eller relaterte data fra en annen tabell er spesielt nyttig i situasjoner der den gjeldende tabellen bare har en identifikator av en type, men dataene du trenger (for eksempel produktpris, navn eller andre detaljerte verdier) lagres i en relatert tabell. Det er også nyttig når det er flere rader i en annen tabell som er relatert til gjeldende rad eller gjeldende verdi. Du kan for eksempel enkelt hente alle salg som er knyttet til et bestemt område, en butikk eller en selger.
I motsetning til Excel oppslagsfunksjoner, for eksempel FINN.RAD, som er basert på matriser eller SLÅ.OPP, som får den første av flere samsvarende verdier, følger DAX eksisterende relasjoner mellom tabeller sammenføyd av nøkler for å få den relaterte verdien som samsvarer nøyaktig. DAX kan også hente en tabell med poster som er relatert til gjeldende post.
Obs!: Hvis du er kjent med relasjonsdatabaser, kan du tenke på oppslag i Power Pivot som ligner på en nestet undervalgsetning i Transact-SQL.
Hente en enkelt relatert verdi
RELATERT-funksjonen returnerer én enkelt verdi fra en annen tabell som er relatert til gjeldende verdi i den gjeldende tabellen. Du angir kolonnen som inneholder dataene du vil bruke, og funksjonen følger eksisterende relasjoner mellom tabeller for å hente verdien fra den angitte kolonnen i den relaterte tabellen. I noen tilfeller må funksjonen følge en kjede med relasjoner for å hente dataene.
Anta for eksempel at du har en liste over dagens forsendelser i Excel. Listen inneholder imidlertid bare et ansatt-ID-nummer, et ordre-ID-nummer og et avsender-ID-nummer, noe som gjør rapporten vanskelig å lese. Hvis du vil ha den ekstra informasjonen du vil ha, kan du konvertere denne listen til en Power Pivot koblet tabell, og deretter opprette relasjoner til tabellene Ansatt og Forhandler, som samsvarer med EmployeeID til EmployeeKey-feltet og Forhandler-ID til ResellerKey-feltet.
Hvis du vil vise oppslagsinformasjonen i den koblede tabellen, legger du til to nye beregnede kolonner, med følgende formler:
= RELATED('Employees'[EmployeeName])
= RELATED('Forhandlere'[Firmanavn])
Dagens forsendelser før oppslag
Ordre-ID |
AnsattID |
Forhandler-ID |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
Ansattabell
AnsattID |
Ansatt |
Forhandler |
---|---|---|
230 |
Kuppa Vamsi |
Modulære kretssystemer |
15 |
Pilar Ackeman |
Modulære kretssystemer |
76 |
Kim Ralls |
Tilknyttede sykler |
Dagens forsendelser med oppslag
Ordre-ID |
AnsattID |
Forhandler-ID |
Ansatt |
Forhandler |
---|---|---|---|---|
100314 |
230 |
445 |
Kuppa Vamsi |
Modulære kretssystemer |
100315 |
15 |
445 |
Pilar Ackeman |
Modulære kretssystemer |
100316 |
76 |
108 |
Kim Ralls |
Tilknyttede sykler |
Funksjonen bruker relasjonene mellom den koblede tabellen og tabellen Ansatte og Forhandlere for å få riktig navn for hver rad i rapporten. Du kan også bruke relaterte verdier for beregninger. Hvis du vil ha mer informasjon og eksempler, kan du se RELATED-funksjonen.
Hente en liste over relaterte verdier
RELATERTTABELL-funksjonen følger en eksisterende relasjon, og returnerer en tabell som inneholder alle samsvarende rader fra den angitte tabellen. Anta for eksempel at du vil finne ut hvor mange ordrer hver forhandler har lagt inn i år. Du kan opprette en ny beregnet kolonne i Videreselgere-tabellen som inneholder følgende formel, som slår opp poster for hver forhandler i ResellerSales_USD-tabellen, og teller antall individuelle ordrer som er plassert av hver forhandler.
=ANTALLANTALL(RELATEDTABLE(ResellerSales_USD))
I denne formelen får RELATERTTABELL-funksjonen først verdien av ResellerKey for hver forhandler i den gjeldende tabellen. (Du trenger ikke å angi ID-kolonnen hvor som helst i formelen, fordi Power Pivot bruker den eksisterende relasjonen mellom tabellene.) RELATERTTABELL-funksjonen henter deretter alle radene fra tabellen ResellerSales_USD som er relatert til hver forhandler, og teller radene. Hvis det ikke er noen relasjon (direkte eller indirekte) mellom de to tabellene, får du alle radene fra tabellen ResellerSales_USD tabellen.
For forhandlerens modulære kretssystemer i eksempeldatabasen vår er det fire ordrer i salgstabellen, så funksjonen returnerer 4. For tilknyttede sykler har ikke forhandleren salg, så funksjonen returnerer en tom.
Forhandler |
Poster i salgstabell for denne forhandleren |
|
---|---|---|
Modulære kretssystemer |
Forhandler-ID |
SalesOrderNumber |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
Forhandler-ID |
SalesOrderNumber |
|
Tilknyttede sykler |
Obs!: Fordi RELATERTTABELL-funksjonen returnerer en tabell, ikke én enkelt verdi, må den brukes som et argument for en funksjon som utfører operasjoner på tabeller. Hvis du vil ha mer informasjon, kan du se RELATEDTABLE-funksjonen.