2017-12-30 6 views
0

Ich habe ein relativ einfaches Problem, das scheint, als ob es erreichbar sein könnte, aber ich habe absolut alles ohne Erfolg versucht.Übergeben einer dynamischen Liste von Werten in Table.Combine

Hier ist die Situation:

mit Power-Abfrage innerhalb Excel möchte ich kombinieren mehrere Abfragen zu können, wie (diese nennen wir: Query1, Query2 und Abfrage3) in einer einzigen Abfrage mit dem Table.Combine Funktion.

Der einzige Haken ist, dass die Liste der Abfragen werde ich und abhängig wird kombiniert auf einer anderen Abfrage dynamisch sein (dies nennt sie: Querylist)

zum Beispiel unter bestimmten Umständen Querylist sein wird:

  • Query1
  • Query2
  • Abfrage3

und unter einigen anderen condtions Querylist kann einfach sein:

  • Query1
  • Abfrage3

Was würde Ich mag zu tun, der Lage sein, den Wert der Querylist in die Table.Combine zu analysieren Funktion:

z. Table.Combine (# „Querylist“)

und dadurch zu ermöglichen, dynamische Konsolidierung von Abfragen

Was passiert ist, dass ich eine Störung erhalte, die besagt:

Expression.Error: Wir haben den Wert nicht umwandeln können "Query1", um Tabelle einzugeben. Details: Wert = Query1 Typ = Art

aktualisieren: Ich habe Variationen Table.ToList versucht, mit {} eine Liste zu erstellen, TableFromlist, alle ohne Erfolg (in der Regel klagen Fehler über nicht in der Lage, aus dem Text comvert zur Liste oder Tabelle usw.

Vielen Dank im Voraus für die Hilfe.

Antwort

0

Wenn Ihre Querylist {Query1, Query2} dann Table.Combine (Querylist) funktionieren würde, sei.

Anscheinend ist Ihre QueryList {"Query1", "Query2"}.

Also müssen die Zeichenfolgen in Tabellen konvertiert werden, was mit Expression.Evaluate geschehen kann. Als zweiter Parameter, müssen Sie einen Datensatz mit allen möglichen Abfragen liefern, so wird die Formel, für Query1, Query2, Abfrage3:

= Table.Combine(List.Transform(QueryList, each Expression.Evaluate(_, [Query1 = Query1, Query2 = Query2, Query3 = Query3]))) 
+0

Leider antworten nur jetzt, dieser große gearbeitet hat, und hat mich dazu gebracht, zu einem noch flüssigeren und dynamische Lösung.Ich habe ein Feld für den zweiten Parameter erstellt, der aus einem Textwert besteht. Der Textwert = [Query1 = Query1, Query2 = Query2, Query3 = Query3], was ich natürlich auf eine Expression.Evaluate angewendet hat, die eine Liste von Datensätzen zurückgegeben hat, die dann in die Lösung, die Sie oben vorgeschlagen haben. . –

Verwandte Themen