Skapa en parameterfråga (Power Query)

Du kanske är ganska bekant med parameterfrågor när de används i SQL eller Microsoft Query. Det finns dock viktiga skillnader i Power Query-parametrar:    

  • Parametrar kan användas i alla frågesteg. Förutom att fungera som ett datafilter kan parametrar användas för att ange till exempel en filsökväg eller ett servernamn.

  • Parametrar uppmanar inte till indata. I stället kan du snabbt ändra deras värde med hjälp av Power Query. Du kan även lagra och hämta värden från celler i Excel.

  • Parametrar sparas i en enkel parameterfråga, men skiljer sig från de datafrågor de används i.  När den har skapats kan du lägga till en parameter till frågor efter behov.

Obs!    Om du vill ha det andra sättet att skapa parameterfrågor, se Skapa en parameterfråga i Microsoft Query.

Du kan använda en parameter för att automatiskt ändra ett värde i en fråga och undvika att redigera frågan varje gång du vill ändra värdet. Du ändrar bara parametervärdet. När du skapar en parameter sparas den i en särskild parameterfråga som du enkelt kan ändra direkt från Excel.

  1. Välj Data > hämta data >andra källor >starta Power Query-redigeraren.

  2. I Power Query-redigeraren väljer du Start > Hantera parametrar > nya parametrar.

  3. Välj Ny i dialogrutan Hantera parameter.

  4. Ange följande efter behov:

    Namn    

    Det bör återspegla parameterns funktion, men hålla den så kort som möjligt.

    Beskrivning    

    Det kan innehålla all information som hjälper användare att använda parametern på rätt sätt.

    Obligatorisk    

    Gör något av följande:

    Alla värden Du kan ange vilket värde som helst av valfri datatyp i parameterfrågan.

    Lista med värden    Du kan begränsa värdena till en viss lista genom att ange dem i det lilla rutnätet. Du måste också välja ett Standardvärde och ett Aktuellt värde nedan.

    Fråga Välj en listfråga som liknar en listas strukturerad kolumn avgränsad med kommatecken och omges av kparenteser.

    Till exempel kan statusfältet Problem ha tre värden: {"Ny", "Pågående", "Stängd"}. Du måste skapa listfrågan i förväg genom att öppna den avancerade redigeraren (välj Start > Avanceradredigerare ), ta bort kodmallen, ange listan med värden i frågelistformatet och välj sedan Klar.

    När du har skapat parametern visas listfrågan i parametervärdena.

    Typ    

    Det här alternativet anger parameterns datatyp.

    Föreslagna värden    

    Om du vill kan du lägga till en lista med värden eller ange en fråga som ger förslag på indata.

    Standardvärde

    Det här visas bara om Föreslagna värden är inställt påLista med värden och anger vilket listobjekt som är standard. I det här fallet måste du välja en standardinställning.

    Aktuellt värde    

    Beroende på var du använder parametern kan frågan inte returnera några resultat om det är tomt. Om Obligatorisk är markerat kan aktuellt värde inte vara tomt.

  5. Välj OK för att skapa parametern.

Här är ett sätt att hantera ändringar av datakällans platser och förhindra uppdateringsfel. Anta till exempel att du har ett liknande schema och en datakälla, skapa en parameter för att enkelt ändra en datakälla och förhindra datauppdateringsfel. Ibland ändras servern, databasen, mappen, filnamnet eller platsen. En databashanterare kanske då och då byter ut en server, en månatlig drop av CSV-filer hamnar i en annan mapp eller så behöver du enkelt växla mellan en utvecklings-/test/produktionsmiljö.

Steg 1: Skapa en parameterfråga

I följande exempel har du flera CSV-filer som du importerar med åtgärden Importera mapp (Välj Data > Hämta data> Från filer > Frånmapp ) från mapp C:\DataFilesCSV1. Men ibland används en annan mapp som en plats att släppa filerna, C:\DataFilesCSV2. Du kan använda en parameter i en fråga som ett ersättningsvärde för den andra mappen.

  1. Välj Start > Hantera parametrar >ny parameter.

  2. Ange följande information i dialogrutan Hantera parameter:

    Namn

    CSVFileDrop

    Beskrivning

    Alternativ filsläppplats

    Obligatorisk

    Ja

    Typ

    Text

    Föreslagna värden

    Alla värden

    Aktuellt värde

    C:\DataFilesCSV1

  3. Välj OK.

Steg 2: Lägg till parametern i datafrågan

  1. Om du vill ange mappnamnet som en parameter väljerdu Källa under Frågestegi Frågeinställningar och sedan Redigera inställningar.

  2. Kontrollera att alternativet Sökväg till fil är inställt på Parameteroch välj sedan parametern som du just skapade i listrutan.

  3. Välj OK.

Steg 3: Uppdatera parametervärdet

Mappplatsen har just ändrats så nu kan du enkelt uppdatera parameterfrågan.

  1. Välj Data > anslutningar & Frågor > fliken Frågor, högerklicka på parameterfrågan och välj sedan Redigera.

  2. Ange den nya platsen i rutan Aktuellt värde, t.ex. C:\DataFilesCSV2.

  3. Välj Start > Stäng & Läs in.

  4. Bekräfta resultatet genom att lägga till nya data i datakällan och sedan uppdatera datafrågan med den uppdaterade parametern (välj Data > Uppdatera alla).

Ibland vill du ha ett enkelt sätt att ändra filtret för en fråga för att få olika resultat utan att redigera frågan eller göra något annorlunda kopior av samma fråga. I det här exemplet ändrar vi ett datum för att på ett enkelt sätt ändra ett datafilter.

  1. Om du vill öppna en fråga letar du upp en tidigare inläst från Power Query-redigeraren, markerar en cell i dina data och väljer sedan Fråga > Redigera. Mer information finns i Skapa, läsa in eller redigera en fråga i Excel.

  2. Välj filterpilen i någon kolumnrubrik för att filtrera dina data och välj sedan ett filterkommando, till exempel datum-/tidsfilter > efter. Dialogrutan Filtrera rader visas.

    Ange en parameter i dialogrutan Filter

  3. Välj knappen till vänster om rutan Värde och gör sedan något av följande:

    • Om du vill använda en befintlig parameter väljerdu Parameter och sedan den parameter som du vill använda i listan som visas till höger.

    • Om du vill använda en ny parameter väljer du Ny parameteroch skapar sedan en parameter.

  4. Ange det nya datumet i rutan Aktuellt värde och välj sedan Start> Stäng & Läs in.

  5. Bekräfta resultatet genom att lägga till nya data i datakällan och sedan uppdatera datafrågan med den uppdaterade parametern (välj Data > Uppdatera alla). Du kan till exempel ändra filtervärdet till ett annat datum för att se nya resultat.

  6. Ange det nya datumet i rutan Aktuellt värde.

  7. Välj Start > Stäng & Läs in.

  8. Bekräfta resultatet genom att lägga till nya data i datakällan och sedan uppdatera datafrågan med den uppdaterade parametern (välj Data > Uppdatera alla).

I det här exemplet läses värdet i frågeparametern upp från en cell i arbetsboken. Du behöver inte ändra parameterfrågan, du behöver bara uppdatera cellvärdet. Du kanske till exempel vill filtrera en kolumn efter den första bokstaven, men enkelt ändra värdet till en bokstav från A till Ö.

  1. I kalkylbladet i en arbetsbok där frågan du vill filtrera läses in skapar du en Excel-tabell med två celler: en rubrik och ett värde.
     

    MyFilter

    G

  2. Markera en cell i Excel-tabellen och välj sedan Data >hämta data > från tabell/område. Power Query-redigeraren visas.

  3. I rutan Namn i fönstret Frågeinställningar till höger ändrar du frågans namn till något mer beskrivande, t.ex. FiltreraCellvärde. 

  4. Om du vill överföra värdet i tabellen, och inte själva tabellen, högerklickar du på värdet i dataförhandsgranskningen och väljer Granska nedåt.

    Observera att formeln ändrades till = #"Changed Type"{0}[MyFilter]

    När du använder Excel-tabellen som ett filter i steg 10 refererar Power Query till tabellvärdet som filtervillkor. En direkt referens till Excel-tabellen skulle orsaka ett fel.

  5. Välj Start > Stäng & läs > Stäng & Läs in till. Nu har du en frågeparameter med namnet "FilterCellValue" som du använder i steg 12.

  6. I dialogrutan Importera data väljer du Skapa endast anslutningoch sedan OK.

  7. Öppna frågan som du vill filtrera med värdet i tabellen FiltreraCellVärde, en som tidigare lästs in från Power Query-redigeraren, genom att markera en cell i dina data och sedan välja Fråga > Redigera. Mer information finns i Skapa, läsa in eller redigera en fråga i Excel.

  8. Välj filterpilen i någon kolumnrubrik för att filtrera data och välj sedan ett filterkommando, till exempel Textfilter > Börjar med. Dialogrutan Filtrera rader visas. 

  9. Ange ett värde i rutan Värde, till exempel "G", och välj sedan OK. I det här fallet är värdet en tillfällig platshållare för värdet i tabellen FiltreraCellvärde som du anger i nästa steg.

  10. Klicka på pilen till höger om formelfältet om du vill visa hela formeln. Här är ett exempel på ett filtervillkor i en formel:

    = Table.SelectRows(#"Changed Type", varje text.StartsWith([Name], "G"))

  11. Välj filtrets värde. Välj "G" i formeln.

  12. Med M Intellisense anger du den första bokstaven i tabellen FiltreraCellVärde som du skapade och väljer den i listan som visas.

  13. Välj Start > stäng > stäng & läs in.

Resultat

Frågan använder nu värdet i Excel-tabellen som du skapade för att filtrera frågeresultatet. Om du vill använda ett nytt värde redigerar du cellinnehållet i den ursprungliga Excel-tabellen i steg 1, ändrar "G" till "V" och uppdaterar sedan frågan.

Du kan styra om parameterfrågor ska tillåtas eller inte.

  1. I Power Query-redigeraren väljer du Arkiv > Alternativ och inställningar > Alternativ > Power Query-redigeraren.

  2. I fönstret till vänster, under GLOBAL, väljerdu Power Query-redigeraren.

  3. I fönstret till höger, under Parametrar, markerar elleravmarkerar du Tillåt alltid parameterisering i dialogrutor för datakälla och transformering.

Se även

Hjälp om Power Query för Excel

Använda frågeparametrar (docs.com)

Behöver du mer hjälp?

Utöka dina Office-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.

×