Uppslag i PowerPivot-formler

Gäller för
Excel för Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

En av de mest kraftfulla funktionerna i Power Pivot är möjligheten att skapa relationer mellan tabeller och sedan använda de relaterade tabellerna för att söka efter eller filtrera relaterade data. Du hämtar relaterade värden från tabeller med hjälp av formelspråket i Power Pivot, DAX (Data Analysis Expressions). DAX använder en relationsmodell och kan därför enkelt och exakt hämta relaterade eller motsvarande värden i en annan tabell eller kolumn. Om du är bekant med VLOOKUP i Excel är den här funktionen i Power Pivot liknande, men mycket enklare att implementera.

Du kan skapa formler som gör uppslag som en del av en beräknad kolumn eller som en del av ett mått som ska användas i en pivottabell eller ett pivotdiagram. Mer information finns i följande avsnitt:

Beräknade fält i PowerPivot

Beräknade kolumner i PowerPivot

I det här avsnittet beskrivs de DAX-funktioner som tillhandahålls för sökning samt några exempel på hur du använder funktionerna.

Obs

Beroende på vilken typ av uppslagsåtgärd eller uppslagsformel du vill använda kan du behöva skapa en relation mellan tabellerna först.

Förstå LETAUPP-funktioner

Möjligheten att söka efter matchande eller relaterade data från en annan tabell är särskilt användbar i situationer där den aktuella tabellen endast har en identifierare av något slag, men de data du behöver (t.ex. produktpris, namn eller andra detaljerade värden) lagras i en relaterad tabell. Det är också användbart när det finns flera rader i en annan tabell som är relaterade till den aktuella raden eller det aktuella värdet. Du kan till exempel enkelt hämta all försäljning som är knuten till en viss region, butik eller säljare.

Till skillnad från Excel-uppslagsfunktioner som LETARAD, som baseras på matriser eller LETAUPP, som hämtar det första av flera matchande värden, följer DAX befintliga relationer mellan tabeller som är sammanbundna med nycklar för att få fram det enskilda relaterade värdet som matchar exakt. DAX kan även hämta en tabell med poster som är relaterade till den aktuella posten.

Obs

Om du är bekant med relationsdatabaser kan du tänka på uppslag i Power Pivot som liknar en kapslad subselect-sats i Transact-SQL.

Funktionen RELATED returnerar ett enskilt värde från en annan tabell som är relaterad till det aktuella värdet i den aktuella tabellen. Du anger den kolumn som innehåller de data du vill använda, och funktionen följer befintliga relationer mellan tabeller för att hämta värdet från den angivna kolumnen i den relaterade tabellen. I vissa fall måste funktionen följa en kedja av relationer för att hämta data.

Anta till exempel att du har en lista över dagens leveranser i Excel. Listan innehåller emellertid endast ett anställningsnummer, ett ordernummer och ett speditörsnummer, vilket gör rapporten svår att läsa. För att få den extra information du vill ha kan du konvertera listan till en Power Pivot-länkad tabell och sedan skapa relationer till tabellerna Anställd och Återförsäljare, genom att matcha EmployeeID med fältet EmployeeKey och ResellerID med fältet ResellerKey.

Om du vill visa uppslagsinformationen i den länkade tabellen lägger du till två nya beräknade kolumner med följande formler:

= RELATED('Employees'[EmployeeName])
= RELATED('Återförsäljare'[CompanyName])

Dagens leveranser före sökning

Order-ID EmployeeID ResellerID
100314 230 445
100315 15 445
100316 76 108

Tabellen Employees

EmployeeID Anställd Återförsäljare
230 Kuppa Vamsi Modulära kretscykelsystem
15 Pilar Ackeman Modulära kretscykelsystem
76 Kim Ralls Tillhörande cyklar

Dagens sändningar med uppslag

Order-ID EmployeeID ResellerID Anställd Återförsäljare
100314 230 445 Kuppa Vamsi Modulära kretscykelsystem
100315 15 445 Pilar Ackeman Modulära kretscykelsystem
100316 76 108 Kim Ralls Tillhörande cyklar

Funktionen använder relationerna mellan den länkade tabellen och tabellen Anställda och återförsäljare för att få rätt namn för varje rad i rapporten. Du kan också använda relaterade värden för beräkningar. Mer information och exempel finns i Funktionen RELATED.

Funktionen RELATEDTABLE följer en befintlig relation och returnerar en tabell som innehåller alla matchande rader från den angivna tabellen. Anta till exempel att du vill veta hur många beställningar varje återförsäljare har gjort i år. Du kan skapa en ny beräknad kolumn i tabellen Återförsäljare som innehåller följande formel som slår upp poster för varje återförsäljare i den ResellerSales_USD tabellen och räknar antalet enskilda beställningar från varje återförsäljare. 

=ANTALRADER(RELATERADTABELL(ResellerSales_USD))

I den här formeln hämtar funktionen RELATEDTABLE först värdet för ResellerKey för varje återförsäljare i den aktuella tabellen. (Du behöver inte ange ID-kolumnen någonstans i formeln eftersom Power Pivot använder den befintliga relationen mellan tabellerna.) Funktionen RELATEDTABLE hämtar sedan alla rader från den ResellerSales_USD tabellen som är relaterade till varje återförsäljare och räknar raderna. Om det inte finns någon relation (direkt eller indirekt) mellan de två tabellerna hämtas alla rader från den ResellerSales_USD tabellen.

För återförsäljaren Modular Cycle Systems i vår exempeldatabas finns det fyra order i försäljningstabellen, så funktionen returnerar 4. För Associated Bikes har återförsäljaren ingen försäljning, så funktionen returnerar ett tomt värde.

Återförsäljare Poster i tabellen Försäljning för den här återförsäljaren
Modulära kretscykelsystem Återförsäljar-ID
445
445
445
445
Återförsäljar-ID
Tillhörande cyklar

Obs

Eftersom funktionen RELATEDTABLE returnerar en tabell, inte ett enskilt värde, måste den användas som ett argument till en funktion som utför åtgärder på tabeller. Mer information finns i avsnittet RELATEDTABLE, funktion.

Överst på sidan