Verwenden Sie einen Zellenwert für einen Parameterwert in Power Query
1608
PeterH
Ich verwende eine Abfrage wie folgt in der Power-Abfrage Excel 2016:
let Source = Odbc.Query("dsn=AS400", "select * from libm61.emleqpm1 where STN1 = '03' ") in Source
Ich möchte '03' durch eine Wertformzelle ersetzen AD2
Ist das möglich?
2 Antworten auf die Frage
0
Rajesh S
Nein, direkt können Sie die Zellreferenz nicht verwenden. Sie müssen einen separaten Datenbereich erstellen und ihn in eine Tabelle konvertieren.
Konvertieren Sie nun diesen Bereich in eine Tabelle und weisen Sie einen korrekten Namen wie ParaTAB oder ParameterTAB zu. Dann sollte Ihr Befehl folgendermaßen aussehen:
let Source = Odbc.Query("dsn=AS400", "select * from libm61.emleqpm1 where STN1 = ParaTAB[Value] ") in Source
Hier wählt Power Query den dritten Wert oder die dritte Zeile aus, der ADM ist, da er von 0 zählt.
Hinweis : Denken Sie daran, dass B6 und A2 Zellreferenzen sind.
0
Gelo32k
Die Antwort von Rajesh S kann Ihre Anforderungen bereits erfüllen. Die Schwäche seiner Antwort ist jedoch, dass Ihr Parameter von der Position in der Tabelle abhängt. Ich schlage eine bessere Lösung vor:
Wie von Rajesh vorgeschlagen, erstellen Sie eine Tabelle mit den richtigen Kopfzeilen:
Stellen Sie sicher, dass sich der Cursor innerhalb der Tabelle befindet. Klicken Sie auf der Registerkarte "Daten" auf "Aus Tabelle / Bereich".
Im Moment befinden Sie sich im Power-Abfrage-Editor. Stellen Sie zunächst sicher, dass die Spalte "Werte" den Datentyp "Text" hat. Klicken Sie anschließend auf die Spalte "Parametername" und klicken Sie unter der Registerkarte "Transformieren" auf "Pivot-Spalte". Verwenden Sie die Spalte "Wert" als Werte. Stellen Sie sicher, dass Sie die Registerkarte "Erweiterte Optionen" erweitern und als "Aggregatwertfunktion" "Nicht aggregieren" auswählen.
Zu diesem Zeitpunkt haben Sie jetzt verschiedene Spalten mit dem Parameternamen als Spaltennamen. Klicken Sie mit der rechten Maustaste auf die Abfrage "Parameter" und klicken Sie auf "Referenz".
Klicken Sie mit der rechten Maustaste auf den Wert Ihres Parameters und klicken Sie auf "Drilldown".
Sie haben jetzt eine Abfrage, die als Variable aus Ihrem Arbeitsblatt verwendet werden kann. Fahren Sie fort und verwenden Sie es in Ihrer ODBC-Abfrage:
let Source = Odbc.Query("dsn=AS400", "select * from libm61.emleqpm1 where STN1 = '"&STN1"' ") in Source
Ich weiß, dass meine Schritte langweilig sind, aber ich bin sehr vergesslich, daher brauche ich beschreibende Variablennamen, um mich leicht daran zu erinnern, was meine Power Query bewirkt. Sie können auch einen Schritt "Typ ändern" ausführen, nachdem Sie die Parameter geschwenkt haben, wenn Sie Zellwerte für Berechnungen mit anderen Abfragen verwenden möchten. Hier ist meine Referenz