Kombinera data från flera datakällor (Power Query)

Viktigt!: Den här artikeln är maskinöversatt, se ansvarsfriskrivningen. Den engelska versionen av den här artikeln finns här för din referens.

Obs!: Power Query kallas Hämta och transformera in Excel 2016. Informationen här gäller båda. Mer information finns i Hämta och transformera i Excel 2016.

I den här självstudiekursen använder du Power Query frågeredigeraren för att importera data från en lokal Excel-fil som innehåller produktinformation och från en OData-feed som innehåller information om produktorder. Du utför omvandling och aggregering steg och kombinera data från båda källor om du vill skapa en rapport Om totalförsäljning per produkt och år.

För att kunna utföra den här självstudiekursen behöver du arbetsbokenProdukter och order. I dialogrutan Spara som namnger du filen Produkter och order.xlsx.

I den här självstudiekursen

Uppgift 1: Importera produkter till en Excel-arbetsbok

Steg 1: Anslut till en Excel-arbetsbok

Steg 2: Höj upp den första raden till tabellkolumnrubriker

Steg 3: Ta bort andra kolumner för att endast visa kolumner av intresse

Power Query-steg som har skapats

Steg 4: Importera en produktfråga

Uppgift 2: Importera beställningsdata från en OData-feed

Steg 1: Anslut till en OData-feed

Steg 2: Utöka en tabell för Order_Details

Expandera tabellänk för Order_Details

Steg 3: Ta bort andra kolumner för att endast visa kolumner av intresse

Ta bort markerade kolumner

Steg 4: Beräkna radtotalen för varje Order_Details-rad

Beräkna radtotalen för varje Order_Details-rad

Steg 5: Omvandla en OrderDate-årskolumn

Steg 6: Gruppera rader genom ProduktID och Year

Steg 7: Byt namn på en fråga

Slutliga frågeresultat

Power Query-steg som har skapats

Steg 8: Inaktivera nedladdning av frågor till en Excel-arbetsbok

Inaktivera en frågenedladdning

Uppgift 3: Kombinera frågorna Produkt- och Total Försäljning

Steg 1: Koppla ProduktID till en Total Salessfråga

Steg 2: Expandera en sammanfogad kolumn

Expandera tabellänken NewColumn

Power Query-steg som har skapats

Steg 3: Ladda en fråga om Total Sales Per Product till en Excel-datamodell

Ladda frågan om Total Sales Per Product fråga till Excel-datamodellen

Sista frågan om Total försäljning per produkt

Uppgift 1: Importera produkter till en Excel-arbetsbok

I den här uppgiften ska du importera produkter från filen Produkter och order.xlsx fil till en Excel-arbetsbok.

Steg 1: Anslut till en Excel-arbetsbok

  1. Skapa en Excel-arbetsbok.

  2. I POWER QUERY -menyfliken klickar du på Från fil > Från Excel.

  3. I Excel-dialogrutan Bläddra kan du bläddra efter eller skriva i sökvägen för Products and Orders.xlsx för att importera eller länka till en fil.

  4. I fönstret Navigatör dubbelklickar du på kalkylbladet Produkter eller på Produkter och sedan på Redigera fråga. När du redigerar en fråga eller ansluter till en ny datakälla visas fönstret Datafrågeredigeraren.

    Obs!: En mycket snabb video om hur du visar Frågeredigeraren finns i slutet av den här artikeln.

Steg 2: Höj upp den första raden till tabellkolumnrubriker

I rutnätet Förhandsgranskning av fråga innehåller den första raden i tabellen inte tabellens kolumnnamn. För att höja den första raden till tabellkolumnrubriker:

  1. Klicka på ikonen ( Tabellikonen ) i det övre vänstra hörnet av förhandsgranskningen.

  2. Klicka på Use First Row as Headers.

Höj upp den första raden till kolumnrubriker i tabeller

Steg 3: Ta bort andra kolumner för att endast visa kolumner av intresse

I det här steget tar du bort alla kolumner utom ProductID, ProductName, CategoryID och QuantityPerUnit.

  1. I rutnätet Query Preview ska du välja kolumnerna ProductID, ProductName, CategoryID och QuantityPerUnit (använd Ctrl+klick eller Shift+klicka).

  2. I menyfliksområdet Frågeredigeraren klickar du på Ta bort kolumner > Ta bort andra kolumner eller så högerklickar du på en kolumnrubrik och klickar på Ta bort andra kolumner.

    Dölja andra kolumner

Power Query-steg som har skapats

När du utför frågeaktiviteter i Power Query, skapas och listas frågesteg i Frågeinställningar-fönstret i listan TILLÄMPADE STEG. Varje frågesteg har en motsvarande Power Query-formel, även känt som "M"-språket. Mer information om Power Query-formelspråk finns i Läs om Power Query-formler.

Uppgift

Frågesteg

Formel

Anslut till en Excel-arbetsbok

Källa

Källa{[Name= "Productsr"]}[Data]

Höja den första raden till kolumnrubriker i tabeller

FirstRowAsHeader

Table.PromoteHeaders

(Produkter)

Ta bort andra kolumner för att endast visa kolumner av intresse

RemovedOtherColumns

Table.SelectColumns

(FirstRowAsHeader,{"ProductID", "ProductName", "CategoryID", "QuantityPerUnit"})

Steg 4: Importera en produktfråga

I det här steget kan du importera frågan Products till en Excel-arbetsbok.

  1. I menyfliksområdet för Query Editor klickar du på Apply & Close. Resultatet visas i ett nytt Excel-kalkylblad.

Överst på sidan

Uppgift 2: Importera beställningsdata från en OData-feed

I den här uppgiften ska du importera data till Excel-arbetsboken från en exempelfeed, Northwind OData, på http://services.odata.org/Northwind/Northwind.svc.

Steg 1: Anslut till en OData-feed

  1. I POWER QUERY -menyfliken klickar du på From Other Sources > From OData-feed.

  2. I OData-feedens dialogrutan ska du ange URL:en för Northwind OData-feeden.

  3. Klicka på OK.

  4. I fönstret Navigatör dubbelklickar du på tabellen Orders eller så klickar du på Orders och klickar på Redigera.

Obs!: När du hovrar med musen över en tabell kommer en förhandsgranskning av en fråga att komma utflygande.

Håll muspekaren över en datakälla

Steg 2: Utöka en tabell för Order_Details

I det här steget expanderar du Order_Details-tabellen som är relaterad till Order-tabellen, för att kombinera ProductID, UnitPrice, and Quantity-kolumnerna från Order_Details i Orders-tabellen. Åtgärden Expand kombinerar kolumner från en relaterad tabell till ett ämnestabell. När frågan körs kommer rader från den relaterade tabellen (Order_Details) att kombineras in i rader från ämnestabellen (Order).

I Power Query har en kolumn som innehåller en länk till en relaterad tabell en Post -länk eller en Tabell -länk. En Post -länk navigerar till en enda post och representerar ett1-till-1-sammanhang med en ämnestabell. En Tabell-länk navigerar till en relaterad tabell och representerar ett 1:N-samband med en ämnestabell. En länk representerar navigeringsegenskaper i en datakälla inom en sambandsmodell. För en OData-feed representerar navigeringsegenskaper en enhet med en sekundärnyckelassociation. I en databas, som till exempel en SQL-Server, representerar navigeringsegenskaper externa nyckelrelationer i databasen.

Expandera tabellänk för Order_Details

När du expanderar Order_Details -tabellen kommer tre nya kolumner och ytterligare rader att läggas till Order-tabell, en för varje rad i den kapslade eller relaterad tabellen.

  1. I fönstret Query Preview rullar du till Order_Details -kolumnen.

  2. I Order_Details -kolumnen klickar du på expanderingsikonen ( Expandera ).

  3. I listrutan Expandera:

    1. Klicka på (Markera alla kolumner) för att rensa alla kolumner.

    2. Klicka på Produkt-ID, Enhetsprisoch Antal.

    3. Klicka på OK.

      Expandera tabellänk för Order_Details

      Obs!: I Power Query kan du expandera tabeller som är länkade till en kolumn och har dessutom möjlighet att utföra sammansättningsåtgärder på kolumnerna i den länkade tabellen innan du expanderar data i ämnestabellen. För mer information om hur du utför sammansättningsåtgärder, se Sammanställa data från en kolumn.

Steg 3: Ta bort andra kolumner för att endast visa kolumner av intresse

I det här steget du tar bort alla kolumner förutom OrderDate, ProductID, UnitPrice och Quantity -kolumnerna. I den föregående uppgiften använde du Remove Other Columns. För den här aktiviteten kan du ta bort markerade kolumner.

Ta bort markerade kolumner

  1. Markera alla kolumner i fönstret Query Preview:

    1. Klicka på den första kolumnen (OrderID).

    2. Skift+klick den sista kolumnen (Shipper).

    3. Ctrl+klicka på OrderDate, Order_Details.ProductID, Order_Details.UnitPrice, and Order_Details.Quantity-kolumnerna.

  2. Högerklicka på en markerad kolumnrubrik och klicka på Remove Columns.

Steg 4: Beräkna radtotalen för varje Order_Details-rad

I det här steget skapar du en Custom column för att beräkna radtotalen för varje Order_Details-rad.

Beräkna radtotalen för varje Order_Details-rad

  1. I fönstret Query Preview klickar du på tabellikonen ( Tabellikonen ) i det övre vänstra hörnet av förhandsgranskningen.

  2. Klicka på Insert Column >Custom.

  3. I dialogrutan Insert Custom Column, i textrutan Custom Column Formula, skriver du in [Order_Details.UnitPrice] * [Order_Details.Qunatity].

  4. I textrutan Nytt kolumnnamn skriver du in Radtotal.

  5. Klicka på OK.

Beräkna radtotalen för varje Order_Details-rad

Steg 5: Omvandla en OrderDate-årskolumn

I det här steget omvandlar du OrderDate-kolumner för att återge året för OrderDate.

  1. I rutnätet Förhandsgranskning högerklickar du först på OrderDate-kolumnen och sen på Omvandla > Year.

  2. Byta namn på OrderDate-kolumnen till Year:

    1. Dubbelklicka på kolumnen OrderDate och ange Year eller

    2. Högerklicka på kolumnen OrderDate, klicka på Renameoch skriv in Year.

Steg 6: Gruppera rader genom ProduktID och Year

  1. I rutnätet Förhandsgranskning av fråga välj Year och Order_Details.ProductID.

  2. Högerklicka på en av rubrikerna och klicka på Gruppera efter.

  3. I dialogrutan Gruppera efter:

    1. I textrutan New column name skriver du in Total Sales.

    2. I listrutan Operation väljer du Sum.

    3. I listrutan Column väljer du Line Total.

  4. Klicka på OK.

    Dialogrutan Gruppera efter för mängdåtgärder

Steg 7: Byt namn på en fråga

Innan du importerar försäljningsdata till Excel, namnge frågan Total Sales:

  1. I fönstret Query Settings, i textrutan Name skriver du in Total Sales.

Slutliga frågeresultat

Efter att du utfört varje steg kommer du att ha en Total Sales-fråga över Northwind OData-feeden.

Total försäljning

Power Query-steg som har skapats

När du utför frågeaktiviteter i Power Query, skapas och listas frågesteg i Frågeinställningar-fönstret i listan TILLÄMPADE STEG. Varje frågesteg har en motsvarande Power Query-formel, även känt som "M"-språket. Mer information om Power Query-formelspråk finns i Läs om Power Query-formler.

Uppgift

Frågesteg

Formel

Ansluta till en OData-feed

Källa

Källa{[Name="Orders"]}[Data]

Expandera tabellen för Order_Details

Expandera Order_Details

Table.ExpandTableColumn

(Order, "Order_Details" , { "ProductID", "UnitPrice", "Quantity" }, { "Order_Details.ProductID", "Order_Details.UnitPrice", "Order_Details.Quantity"})

Ta bort andra kolumner för att endast visa kolumner av intresse

RemovedColumns

Table.RemoveColumns

(#"Expand Order_Details",{"OrderID", "CustomerID", "EmployeeID", "RequiredDate", "ShippedDate", "ShipVia", "Freight", "ShipName", "ShipAddress", "ShipCity", "ShipRegion", "ShipPostalCode", "ShipCountry", "Customer", "Employee", "Shipper"})

Beräkna radtotalen för varje Order_Details-rad

InsertedColumns

Table.AddColumn

(RemovedColumns, "Anpassad", varje [Order_Details.UnitPrice] * [Order_Details.Quantity])

Omvandla kolumnen OrderDate för att återge året

RenamedColumns

Tabell.RenameColumns

(InsertedCustom,{{ "Anpassad", "Totalt"}})

TransformedColumn

Table.TransformColumns

(RenamedColumns,{{ "OrderDate", Datum.Year}})

RenamedColumns1

Tabell.RenameColumns

(TransformedColumn ; { { "OrderDate", "Year" } })

Gruppera rader genom ProduktID och Year

GroupedRows

Table.Group
(RenamedColumns1, {"Year", "Order_Details.ProductID"}, {{"Total Sales", varje List.Sum([Line Total]), typ nummer}})

Steg 8: Inaktivera nedladdning av frågor till en Excel-arbetsbok

Eftersom frågan Total Sales inte representerar den slutliga rapporten för Total Sales Per Product and Year kan du inaktivera nedladdningen av frågan till Excel-arbetsboken. När alternativet Load to Worksheet är Off i fönstret Query settings kommer resultatet av denna fråga inte att hämtas, men frågan kan fortfarande kombineras med andra frågor för att bygga upp det önskade resultatet. Du lär dig att kombinera den här frågan med produktfrågan i nästa uppgift.

Inaktivera en frågenedladdning

  1. I fönstret Query settings kan du avmarkera Load to worksheet.

  2. I menyfliksområdet för Query Editor klickar du på Apply & Close. I fönstret Workbook Queries visar frågan Total Sales att Load is disabled.

    Inaktivera en frågenedladdning

Överst på sidan

Uppgift 3: Kombinera frågorna Produkt- och Total Försäljning

Med Power Query kan du kombinera flera frågor genom att sammanfoga eller lägga till dem. Åtgärden Merge utförs på alla Power Query-frågor med en tabulär form, oberoende av den datakälla som uppgifterna kommer från. Mer information om att kombinera datakällor finns i Kombinera flera frågor.

I den här uppgiften ska du kombinera frågorna Products och Total Sales genom att använda ett Merge och Expand-frågesteg.

Steg 1: Koppla ProduktID till en Total Salessfråga

  1. I Excel-arbetsboken går du till frågan ProductsSheet2.

  2. I menyfliken QUERY klickar du på Merge.

  3. I dialogrutan Merge väljer du Products som den primära tabellen och markerar Total Sales som den sekundära eller relaterade frågan att sammanfoga. Total Sales blir en ny expanderbar kolumn.

  4. För att matcha Total Sales till Products genom ProductID väljer du kolumnen ProductID från Produkter och kolumnen Order_Details.ProductID från tabellen Totala Sales.

  5. I dialogrutan Privacy Levels:

    1. Välj Organizational som isoleringsnivå för din sekretess för båda datakällor.

    2. Klicka på Save.

  6. Klicka på OK.

    Säkerhetsmeddelande : Sekretessnivåer hindrar att användare oavsiktligt kombinerar data från flera datakällor, som kan vara privata eller organisatoriska. Beroende på frågan så kan användaren råka skicka data från den privata datakällan till en annan datakälla som kan vara skadlig. Power Query analyserar varje datakälla och klassificerar in i dess definierade sekretessnivå: offentlig, organisatorisk eller privat. Mer information om sekretessnivåer finns i Sekretessnivåer.

    Dialogrutan Slå samman

När du har klickat på OK kommer åtgärden Merge att skapa en fråga. Frågeresultatet innehåller alla kolumner från den primära tabellen (Produkter), och en kolumn som innehåller en navigeringslänk till den relaterade tabellen (Total Sales). En Expandera-åtgärd lägger till nya kolumner till antingen den primära tabellen eller ämnestabell från den relaterade tabellen.

Slå samman slutlig

Steg 2: Expandera en sammanfogad kolumn

I det här steget kan du expandera den sammanslagna kolumnen med namnet NewColumn för att skapa två nya kolumner i Products-frågan: Year och Total Sales.

Expandera tabellänken NewColumn

  1. I rutnätet Query Preview klickar du på NewColumn-ikonen expandera ( Expandera ).

  2. I listrutan Expandera:

    1. Klicka på (Markera alla kolumner) för att rensa alla kolumner.

    2. Klicka på År och Total försäljning.

    3. Klicka på OK.

  3. Byta namn på dessa två kolumner till Year och Total Sales.

  4. Sort Descending genom Total Sales för att ta reda på vilka produkter det gäller och vilka år dessa produkter hade det högsta försäljningsvolymerna.

  5. Byt namn på frågan till Total Sales Per Product.

Expandera tabellänken

Power Query-steg som har skapats

När du utför Merge-frågeaktiviteter i Power Query, skapas frågesteg som listas i fönstret Query Settings i listan APPLIED STEPS. Varje fråga steg har en motsvarande Power Query-formel, som också kallas "M"-språket. Mer information om Power Query-formelspråket finns i Learn more about Power Query formulas.

Uppgift

Frågesteg

Formel

Sammanfoga ProductID i frågan Total Sales

Källa (datakälla för åtgärden Merge)

Table.NestedJoin

(Produkter,{"ProductID"},#"Total Sales";{"Order_Details.ProductID"}; "NewColumn")

Expandera en sammanfogad kolumn

ExpandNewColumn

Table.ExpandTableColumn

(Källa, "NewColumn", { "Year", "Total Sales" }, {"NewColumn.Year", "NewColumn.Total Sales"})

RenamedColumns

Tabell.RenameColumns

(#"Expand NewColumn",{{"NewColumn.Year", "Year"}, {"NewColumn.Total Sales", "Total Sales"}})

SortedRows

Table.Sort

(RenamedColumns,{{"Total Sales", Order.Descending}})

Steg 3: Ladda en fråga om Total Sales Per Product till en Excel-datamodell

I det här steget kan du inaktivera alternativet Load in Worksheet och läsa in en fråga till Excel Data Model, för att skapa en rapport kopplad till frågeresultatet. Förutom att ladda frågeresultatet i ett Excel-kalkylblad så låter Power Query dig läsa in en frågan till en Excel-datamodell. Efter att du har läst in data till Excel-datamodellen kan du använda Power Pivot och Power View för vidare analys.

Ladda frågan om Total Sales Per Product fråga till Excel-datamodellen

  1. I fönstret Query Settings kan du avmarkera Hämta till kalkylbladet och kontrollera Load to data model.

  2. För att läsa in frågan i Excel-datamodellen klickar du på Apply & Close.

Läsa in Excel-datamodell

Sista frågan om Totala försäljning per produkt

När du utför varje steg kommer en Total Sales per produkt fråga som kombinerar data från Products and Orders.xlsx-filen och Northwind OData-feeden. Den här frågan kan tillämpas på en Power Pivot modell. Dessutom kan ändringar i frågan i Power Query ändra och uppdatera den resulterande tabellen i Power Pivot modellen.

Överst på sidan

Obs!: Frågeredigeraren visas bara när du läser in, redigerar eller skapar en ny fråga med Power Query. I den här videon visas det fönster i Frågeredigeraren som visas när du har redigerat en fråga från en Excel-arbetsbok. Om du vill öppna Frågeredigeraren utan att läsa in eller redigera en befintlig arbetsbok går du till avsnittet Hämta externa data i menyfliksområdet i Power Query och väljer Från andra källor > Tom fråga. I följande video visas bara ett sätt att visa Frågeredigeraren.

Så här visar du Frågeredigeraren i Excel

Obs!: Ansvarsfriskrivning för maskinöversättning: Den här artikeln har översatts av ett datorsystem utan mänsklig inblandning. Microsoft erbjuder dessa maskinöversättningar för att hjälpa icke engelskspråkiga användare att ta del av information om Microsofts produkter, tjänster och tekniker. Eftersom artikeln är maskinöversatt kan den innehålla fel i ordval, syntax och grammatik.

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×