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?

0

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.

enter image description here

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:

  1. Wie von Rajesh vorgeschlagen, erstellen Sie eine Tabelle mit den richtigen Kopfzeilen: Erstellen einer Tabelle aus dem Bereich
  2. Stellen Sie sicher, dass sich der Cursor innerhalb der Tabelle befindet. Klicken Sie auf der Registerkarte "Daten" auf "Aus Tabelle / Bereich". Tabelle als Datenquelle für Power Query verwenden
  3. 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. Die Parameter schwenken
  4. 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". Referenz aus einer vorhandenen Abfrage erstellen
  5. Klicken Sie mit der rechten Maustaste auf den Wert Ihres Parameters und klicken Sie auf "Drilldown". Drilldown auf einen bestimmten Wert
  6. 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