Du kender muligvis parameterforespørgsler med deres brug i SQL eller Microsoft Query. Der er dog vigtige forskelle i Power Query-parametrene:
- Parametre kan bruges i alle forespørgselstrin. Ud over at fungere som et datafilter kan parametre bruges til at angive ting som f.eks. en filsti eller et servernavn.
- Parametre spørger ikke efter input. I stedet kan du hurtigt ændre deres værdi ved hjælp af Power Query. Du kan endda gemme og hente værdierne fra celler i Excel.
- Parametre gemmes i en enkel parameterforespørgsel, men er adskilt fra de dataforespørgsler, de bruges i. Når den er oprettet, kan du føje en parameter til forespørgsler efter behov.
Bemærk Hvis du vil oprette parameterforespørgsler på den anden måde, skal du se Oprette en parameterforespørgsel i Microsoft Query.
Opret en parameter
Du kan bruge en parameter til automatisk at ændre en værdi i en forespørgsel og undgå at redigere forespørgslen hver gang for at ændre værdien. Du ændrer blot parameterværdien. Når du opretter en parameter, gemmes den i en særlig parameterforespørgsel, som du nemt kan ændre direkte fra Excel.
Vælg Data>, hent data>, andre kilder,>Start Power Query-editor.
I Power Query-editor skal du vælge Hjem>Administrer parametre > Nye parametre.
Vælg Ny i dialogboksen Administrer parameter.
Angiv følgende efter behov:
Navn Dette bør afspejle parameterens funktion, men hold den så kort som muligt. Beskrivelse Den kan indeholde alle oplysninger, der kan hjælpe brugere med at bruge parameteren korrekt. Påkrævet Gør et af følgende:
Enhver værdi Du kan angive en hvilken som helst værdi af en hvilken som helst datatype i parameterforespørgslen.
Liste over værdier Du kan begrænse værdierne til en bestemt liste ved at angive dem i det lille gitter. Du skal også vælge en Standardværdi og en Aktuel værdi nedenfor.
Forespørgsel Vælg en listeforespørgsel, som ligner en listestruktureret kolonne, der er adskilt af kommaer og omsluttet af klammeparenteser.
Et statusfelt for problemer kan f.eks. have tre værdier: {"Ny", "I gang", "Lukket"}. Du skal oprette listeforespørgslen på forhånd ved at åbne Avanceret editor (vælg HomeAvanceret>editor), fjerne kodeskabelonen, angive listen over værdier i forespørgselslisteformatet og derefter vælge Udført.
Når du er færdig med at oprette parameteren, vises listeforespørgslen i dine parameterværdier.Type Dette angiver datatypen for parameteren. Foreslåede værdier Hvis det er nødvendigt, kan du tilføje en liste over værdier eller angive en forespørgsel for at komme med forslag til input. Standardværdi Vises kun, hvis Foreslåede værdier er angivet til Liste over værdier og angiver, hvilket listeelement der er standard. I dette tilfælde skal du vælge en standard. Aktuel værdi Afhængigt af hvor du bruger parameteren, returnerer forespørgslen muligvis ingen resultater. Hvis Påkrævet er valgt, kan den aktuelle værdi ikke være tom. Vælg OK for at oprette parameteren.
Bruge en parameter til at ændre en datakilde
Sådan kan du administrere ændringer af datakildeplaceringer og forhindre opdateringsfejl. Hvis du f.eks. antager, at der er et lignende skema og en lignende datakilde, kan du oprette en parameter, så du nemt kan ændre en datakilde og forhindre fejl ved dataopdatering. Nogle gange ændres serveren, databasen, mappen, filnavnet eller placeringen. Måske udskifter en databaseadministrator af og til en server, et månedligt drop af CSV-filer flyttes til en anden mappe, eller du har brug for nemt at skifte mellem et udviklings-/test-/produktionsmiljø.
Trin 1: Opret en parameterforespørgsel
I følgende eksempel har du adskillige CSV-filer, som du importerer ved hjælp af handlingen Importér mappe (Select Data>Get Data>From FilesFrom>Folder) fra mappe C:\DataFilesCSV1. Men nogle gange bruges en anden mappe af og til som placering til at slippe filerne, C:\DataFilesCSV2. Du kan bruge en parameter i en forespørgsel som erstatningsværdi for den anden mappe.
Vælg Hjem>Administrer parametre>Ny parameter.
Angiv følgende oplysninger i dialogboksen Administrer parameter :
Navn CSVFileDrop Beskrivelse Alternativ placering, hvor filen kan droppes Påkrævet Ja Type Tekst Foreslåede værdier Enhver værdi Aktuel værdi C:\DataFilesCSV1 Vælg OK.
Trin 2: Føje parameteren til dataforespørgslen
- Hvis du vil angive mappenavnet som en parameter, skal du vælge kilde under Forespørgselstrin i Forespørgselsindstillinger og derefter vælge Rediger indstillinger.
- Sørg for, at indstillingen Filsti er angivet til Parameter, og vælg derefter den parameter, du lige har oprettet, på rullelisten.
- Vælg OK.
Trin 3: Opdater parameterværdien
Mappens placering er lige blevet ændret, så nu kan du blot opdatere parameterforespørgslen.
- Vælg fanen Dataforbindelser>& Forespørgsler Forespørgsler>, højreklik på parameterforespørgslen, og vælg derefter Rediger.
- Angiv den nye placering i feltet Aktuel værdi , f.eks. C:\DataFilesCSV2.
- Vælg Hjem>Luk & Indlæs.
- For at bekræfte dine resultater skal du føje nye data til datakilden og derefter opdatere dataforespørgslen med den opdaterede parameter (Vælg>dataopdatering af alt).
Brug en parameter til at filtrere data
Nogle gange kan det være nemt at ændre filteret i en forespørgsel for at opnå forskellige resultater uden at skulle redigere forespørgslen eller lave lidt forskellige kopier af den samme forespørgsel. I dette eksempel ændrer vi en dato for at ændre et datafilter på en praktisk måde.
Hvis du vil åbne en forespørgsel, skal du finde en, der tidligere er indlæst fra Power Query-editor, markere en celle i dataene og derefter vælge Rediger forespørgsel>. Du kan få mere at vide under Oprette, indlæse eller redigere en forespørgsel i Excel.
Vælg filterpilen i en kolonneoverskrift for at filtrere dine data, og vælg derefter en filtreringskommando, f.eks Dato/klokkeslæt-filtre>efter. Dialogboksen Filtrer rækker vises.
Markér knappen til venstre for feltet Værdi , og gør derefter et af følgende:
- Hvis du vil bruge en eksisterende parameter, skal du vælge Parameter og derefter vælge den ønskede parameter på listen, der vises til højre.
- Hvis du vil bruge en ny parameter, skal du vælge Ny parameter og derefter oprette en parameter.
Angiv den nye dato i feltet Aktuel værdi , og vælg derefter Hjem>Luk & Indlæs.
For at bekræfte dine resultater skal du føje nye data til datakilden og derefter opdatere dataforespørgslen med den opdaterede parameter (Vælg>dataopdatering af alt). Du kan f.eks. ændre filterværdien til en anden dato for at få vist nye resultater.
Angiv den nye dato i feltet Aktuel værdi .
Vælg Hjem>Luk & Indlæs.
For at bekræfte dine resultater skal du føje nye data til datakilden og derefter opdatere dataforespørgslen med den opdaterede parameter (Vælg>dataopdatering af alt).
Bruge en celleværdi til at filtrere data
I dette eksempel læses værdien i forespørgselsparameteren fra en celle i projektmappen. Du behøver ikke at ændre parameterforespørgslen, du skal bare opdatere celleværdien. Du vil f.eks. filtrere en kolonne efter det første bogstav, men nemt ændre værdien til et bogstav fra A til Å.
I et regneark i en projektmappe, hvor den forespørgsel, du vil filtrere, er indlæst, skal du oprette en Excel-tabel med to celler: en overskrift og en værdi.
MyFilter G Markér en celle i Excel-tabellen, og vælg derefter Data>: Hent data>fra tabel/område. Power Query-editor vises.
I feltet Navn i ruden Forespørgselsindstillinger til højre kan du ændre forespørgselsnavnet, så det giver mere mening, f.eks. FiltrerCelleværdi.
Hvis du vil videreføre værdien i tabellen og ikke i selve tabellen, skal du højreklikke på værdien i Datavisning og derefter vælge Analysér nedad.
Bemærk, at formlen ændres til= #"Changed Type"{0}[MyFilter]
Når du bruger Excel-tabellen som et filter i trin 10, refererer Power Query til tabelværdien som filterbetingelsen. En direkte reference til Excel-tabellen ville medføre en fejl.Vælg Hjem>Luk & Indlæs>Luk & indlæs til. Nu har du en forespørgselsparameter med navnet "FilterCellValue", som du bruger i trin 12.
I dialogboksen Importér data skal du vælge Opret kun forbindelse og derefter vælge OK.
Åbn den forespørgsel, du vil filtrere med værdien i tabellen FilterCellValue, en forespørgsel, der tidligere er indlæst fra Power Query-editor, ved at markere en celle i dataene og derefter vælge Rediger forespørgsel>. Du kan få mere at vide under Oprette, indlæse eller redigere en forespørgsel i Excel.
Vælg filterpilen i en kolonneoverskrift for at filtrere dine data, og vælg derefter en filtreringskommando, f.eks. Tekstfiltre>begynder med. Dialogboksen Filtrer rækker vises.
Angiv en vilkårlig værdi i feltet Værdi, f.eks. "G", og vælg derefter OK. I dette tilfælde er værdien en midlertidig pladsholder for værdien i tabellen FiltrerCelleværdi, som du angiver i næste trin.
Vælg pilen i højre side af formellinjen for at få vist hele formlen. Her er et eksempel på en filterbetingelse i en formel:
= Table.SelectRows(#"Changed Type", each Text.StartsWith([Name], "G"))
Vælg filterets værdi. Markér "G" i formlen.
Ved hjælp af M IntelliSense skal du skrive det første bogstav i tabellen FilterCelleværdi, du har oprettet, og derefter vælge det på den liste, der vises.
Vælg Hjem>Luk>& indlæs.
Resultat
Forespørgslen bruger nu værdien i den Excel-tabel, du oprettede til at filtrere resultaterne af forespørgslen. Hvis du vil bruge en ny værdi, skal du redigere celleindholdet i den oprindelige Excel-tabel i trin 1, ændre "G" til "V" og derefter opdatere forespørgslen.
Kontrollere brugen af parameterforespørgsler
Du kan styre, om parameterforespørgsler er tilladt eller ikke tilladt.
- I Power Query-editor skal du vælge Filindstillinger>og Indstillinger>for forespørgselPower>Query-editor.
- I ruden til venstre under GLOBAL skal du vælge Power Query-editor.
- Markér eller fjern markeringen i ruden til højre under ParametreTillad altid parameterisering i dialogbokse til datakilder og transformation.