Verwenden von Parametern in Power Query

Verwenden von Parametern in Power Query

Bitte helfen Sie mir herauszufinden, wie ich eine Power Query parametrisiere.

Ich habe eine PowerQuery-Abfrage erstellt, die einen Webservice nach bestimmten Daten abfragt und diese auf die richtige Weise bearbeitet. Nehmen wir an, ich frage ein Aufgabenverwaltungssystem nach meinen heutigen Aufgaben ab. Eine Abfrage könnte etwa so aussehen:

Web.Contents("http://intranet/tasks?assignee=John", [Content=Text.ToBinary("")]),

Es funktioniert einwandfrei, aber ich möchte diese Arbeitsmappe mit dieser Abfrage mit meinen Kollegen teilen, damit sie sie für ihre eigenen Aufgaben verwenden können.

Web.Contents("http://intranet/tasks?assignee={INPUT HERE}", [Content=Text.ToBinary("")]),

Idealerweise möchte ich irgendwo einen Parameter namens „Zugewiesener“ (z. B. in einer Zelle einer Arbeitsmappe). Ich möchte, dass ein Benutzer dieser Arbeitsmappe den Zuweisungsempfänger eingeben kann, den er abfragen möchte, z. B. Peter, sodass die Abfrage beim Aktualisieren der Daten seinen Parameter wie folgt verwendet

Web.Contents("http://intranet/tasks?assignee=Peter", [Content=Text.ToBinary("")]),

Ich möchte nicht, dass sie den PowerQuery-Editor öffnen und den Abfragecode bearbeiten, da unsere Benutzer davor zu Tode erschrocken wären und wahrscheinlich Fehler machen würden. Eine Zelle in der Arbeitsmappe zum Auswählen des Beauftragten ist meiner Meinung nach der praktikabelste Ansatz.

Ist das möglich? Und wenn ja, wie?

Danke

Antwort1

Im Internet habe ich diese Lösung gefunden, die genau das ist, wonach ich gesucht habe.

Erstellen Sie eine neue Abfrage, öffnen Sie den erweiterten Editor und fügen Sie den folgenden Code ein:

let GetValue=(rangeName) => 
    let
      name = Excel.CurrentWorkbook(){[Name=rangeName]}[Content],
      value = name{0}[Column1]
    in
      value
    in GetValue

Speichern Sie es und Sie haben nun eine Abfragefunktion, die Sie in einer weiteren Abfrage wie dieser verwenden können:

GetValue("Password")

Dabei wird in der Arbeitsmappe nach einem Bereich namens „Passwort“ gesucht und der Wert der ersten Zelle in diesem Bereich übernommen.

Antwort2

Über den Datensatz können Sie QueryParameter übergeben. Wenn der Zellenwert im vorherigen Schritt gespeichert wurde Name, können Sie mit dem fx-Button in der Bearbeitungsleiste einen neuen Schritt hinzufügen und die folgende Formel eingeben:

= Web.Contents("http://intranet/tasks", [Content=Text.ToBinary(""), Query=[assignee = Name]])

Wenn Datenschutzstufen aktiviert sind, wird eine entsprechende Eingabeaufforderung angezeigt. Sie können entweder entsprechende Datenschutzstufen zuweisen (in diesem Fall möglicherweise beide organisatorischen) oder die Datenschutzstufen im Dialogfeld „Optionen“ deaktivieren.

verwandte Informationen