Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Frage zu einem PQ-Lösungsansatz ...

Forumthread: Frage zu einem PQ-Lösungsansatz ...

Frage zu einem PQ-Lösungsansatz ...
30.10.2025 18:37:12
neopa C
Hallo an die PQ-Kundigen,

... die Problemstellung hier: https://www.herber.de/forum/archiv/2020to2024/2020419_Summenprodukt_ueber_festgelegte_Tabellenblaetter.html ist zwar durch Udos Formelvorschlag bereits gelöst. Meine Zielstellung war und ist es nun, dies mit PQ zu lösen.

Ich könnte es zwar mittels PQ auch lösen, aber der Aufwand dafür erschien mir als zumindest nicht empfehlenswert. Aktuell müßte ich mit meinem beschränkten PQ-Wissen nämlich jeder automatisch erstellbaren Abfrage je Tabellenblatt nachträglich noch eine Spalte Jahr hinzuzufügen, bevor man deren Ergebnisse zusammenführen kann. Erst dann kann ich sie direkt in PQ und oder (in meiner Excelversion über das zu erstellenden Datenmodel) mit PIVOT auswerten.

Das kann ein PQ-Kundiger sicherlich vereinfachen. Doch habe ich Google offensichtlich eine unzureichende Fragestellung übermittelt, denn die von dort erhalten "Antworten" haben mir leider nicht wirklich geholfen.

Deshalb hoffe ich nun, ihr versteht meine Frage: "Wie kann man das jeweilige item als Spaltenwert direkt jeder Abfragentabelle als zusätzliche Spalte übergeben?"
Wünschenswert wäre es, wenn ihr es mir am Beispiel der im oben verlinkten thread eingestellten Datei aufzeigt.

Gruß Werner
.. , - ...
aus C the unseen

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Da ist jetzt nur schnell...
30.10.2025 18:49:47
Case
Moin Werner, :-)

... "zusammengeschustert": ;-)
https://www.herber.de/bbs/user/179476.xlsx

Leerspalten- und Zeilen habe ich mal rausgenommen. Kann man auch lassen. ;-)

Alles nur Ansätze. ;-)

Servus
Case
Anzeige
AW: man kann es wirklich kaum glauben, ...
01.11.2025 09:37:52
neopa C
Hallo Case,

... da habe ich mal ein paar Monate mich nicht mit PQ beschäftigt und schon hatte ich doch wirklich die simple Erweiterungsfunktionalität nicht mehr auf den Schirm :-(
Wenn das nicht zum Lachen wäre, müßte ich jetzt nur noch heulen. Ich kann nur hoffen, das sich der Alzheimer in mir nicht schon zu breit gemacht hat.

Ich danke Dir, für Deine zeitaufwendigen Bemühungen, mich zur Lösung zu führen, wofür es an sich nur einen Klapps auf meinen Hinterkopf bedurft hätte.

Wünsche Dir eine schönes Wochenende.

Gruß Werner
.. , - ...
aus C the unseen
Anzeige
Da kann ich dich...
01.11.2025 10:23:55
Case
Moin Werner, :-)

... beruhigen. Ich vergesse auch viel. ;-)

Bin heute Morgen zum Einkaufen gefahren - und habe mich gefreut, dass der Parkpaltz leer war - und die Tür verschlossen. ;-)
Für mich (Rentner) ist nunmal jeder Tag Feiertag. ;-)

Die Klassiker wie Brille suchen - auf dem Kopf und Schlüssel suchen - in der Hand - habe ich auch schon alle durch. ;-)

Deshalb beschäftige ich mich (fast) täglich mit Excel - hält die Gerhirnzellen am Laufen. ;-)

Servus
Case
Anzeige
AW: nachgefragt ...
30.10.2025 20:20:49
neopa C
Hallo Case,

... zunächst jedoch danke, daß Du Dich meiner Fragestellung angenommen hast.
Dein Lösungsweg über Abfrage tblErg_3 entspricht vom Ergebnis her dem, wie ich es mir vorgestellt hatte. Jedoch verstehe ich von Deinem Lösungsansatz leider nur soviel, als Du durch direkten Einsatz von M-Code Funktionen zu diesem gekommen bist. Dieser ist aktuell durch mich nicht wirklich verständlich nachvollziehbar, weil ich bisher PQ-Lösungen nur interaktiv aufgestellt habe. Insbesondere ist mir in Deinem Code der Teil: ... (x)=> _[Name] völlig unklar. Kannst Du mir dies kurz verbal beschreiben?

Mein (unbrauchbarer) interaktiver Ansatz beruhte darauf, dass ich mit der XL-Menüfunktion [Neue Abfrage aus Datei] mir die ("Jahres"-)Abfragen erstellen lassen habe. In deren Quelle wurden die Spaltenüberschriften: [Name], [Data], [item] [Kind] und [Hidden] mit den Datenwerten der Tabellenblätter erzeugt. Wobei unter [Data] die jeweiligen Tabellendatenwerte als "Table"-Elemente angezeigt werden. Ich hatte gehofft, es gäbe eine Möglichkeit die Datenwerte aus der [item] Spalte (da stehen ja die Tabellennamen, also die Jahreszahlen) den jeweiligen "Table"-Elementen als Wert in einer zusätzlichen Spalte angefügt werden könnte. Geht so was nicht? Wenn ja auf irgendeine Weise, wie?

Gruß Werner
.. , - ...
aus C the unseen
Anzeige
Im Anhang ist...
30.10.2025 21:51:15
Case
Moin Werner, :-)

… es "aufgedröselt": ;-)
https://www.herber.de/bbs/user/179477.xlsx

Das (x) => ... ist eine Lambda-Funktion in M – so etwas wie in Excel LAMBDA(x;...). ;-)
"x" steht hier für die aktuelle Zeile der Tabelle, die gerade bearbeitet wird. ;-)
Also - für jede Zeile (x) in der Tabelle füge die Spalte "Quellen" hinzu und dann den Wert - immer _ [Name] – also der Name der zugehörigen Tabelle. ;-)

In tblErg_3_1 habe ich die Schritte mal aufgeteilt. ;-)
Excel.CurrentWorkbook() - Tabelle mit Name & Content. ;-)
Table.SelectRows... - nur die Tabellen, die du willst. ;-)
Table.ToRecords... - jede Zeile zu Record (Liste von Records). ;-)
List.Transform... - für jede Tabelle Spalte "Quellen" hinzufügen. ;-)
Table.Combine(Liste) - alle Tabellen aus der Liste zusammenführen. ;-)

In tblErg_3_2 greife ich einfach auf den [content] zu und kombiniere (Combine). Dann hast du aber nicht die Quelle - also aus welcher Tabelle der Datensatz kommt. Wenn du das nicht brauchst, reicht es so. ;-)
Du kannst nicht einfach schreiben: Table.Combine(AlleTabellen). Das entspricht nicht der Datentypstruktur in Power Query (Listen/Tabellen). ;-)

Und in tblErg_3_3 ist es über Tabellen gemacht - also keine Records, keine Listen. ;-)

Schließlich in tblErg_3_4 die Schmalspurvariante - geht aber auch. ;-)

Alle vier sind "Nur Verbindung". ;-)

Servus
Case
Anzeige
AW: dankeschön hierfür Dir, ...
31.10.2025 09:57:42
neopa C
Guten Tag Case,

... ich weiß Deinen Aufwand dafür wertzuschätzen. Vielen Dank Dir.
Leider kann ich Deine Ausführungen zumindest aktuell nicht wirklich so verstehen, das ich es eigenständig so selbst aufstellen könnte. Dazu müßte ich mich sehr viel mehr mit dem M-Code auseinandersetzen, was aber nicht wirklich mein Ziel ist. Zunächst werde ich wohl nun doch zuerst mich von meinen alten XL-Versionen (nutze noch immer hauptsächlich XL 2010 und nur für PQ XL2016) verabschieden müssen, um in die erweiterten XL-Funktions-Welt von XL365 eintauchen zu können. Ist für die nächsten Monate geplant. Erst dann werde ich wohl u.a. auch etwas von LAMBDA() selbst erfahren können. Wobei ich mich zuvor wohl auch noch mit den vielen anderen neuen Funktionen etwas vertrauter machen muß.

Unklar ist mir nun allerdings noch geblieben, ob meine Fragestellung von gestern Abend auch realisierbar wäre, selbst wenn es für einen Programmierer wie Dir, als zumindest nicht empfehlenswert ist oder ob dies nicht möglich bzw. meine Fragestellung unverständlich war.

Auf Deine evtl. Antwort auf meine Nachfrage, könnte ich heute frühestens am späteren Nachmittag reagieren. Auf jeden Fall wünsche ich Dir einen schönen Tag.

Gruß Werner
.. , - ...
aus C the unseen
Anzeige
Eventuell kannst du...
31.10.2025 11:49:30
Case
Moin Werner, :-)

... deine Beispieldatei hochladen. Dann kann man sehen, was du machst bzw. möchtest. ;-)

Also wenn du bestimmte Tabellen aus einer Datei brauchst, gehe ich immer so vor: ;-)

let

Quelle = Excel.CurrentWorkbook(),
Gefiltert = Table.SelectRows(Quelle, each Text.StartsWith([Name], "Tabelle")),
Erweitern = Table.ExpandTableColumn(Gefiltert, "Content", {"Stadt", "Bundesland", "Wert"}, {"Stadt", "Bundesland", "Wert"})
in
Erweitern


Das kann man nun alles über das Menü zusammenklicken! ;-)

Quelle - lade alle Tabellen die im aktuellen Workbook sind (auch ausgegebene Abfragen - NICHT ausgegeben werden Verbindungen bzw. Pivot-Berichte).
Gefiltert - "Klick auf das Dreieck rechts von Name - Textfilter - Beginnt mit..." - Eingabe Tabelle (oder wie auch immer die Namen der Tabellen anfangen - das kannst du ja in Excel selber steuern). ;-)
Erweitern - Klick auf den Doppelpfeil rechts von Content. Haken bei "Ursprünglichen Spaltennamen als Präfix verwenden" entfernen - OK. ;-)

Das müsste doch auch in Excel 2016 gehen? ;-)

Servus
Case
Anzeige
AW: sicher geht es so, ...
31.10.2025 20:22:40
neopa C
Guten Abend Ralf,

... wie Du den Code angegeben hast. Dies setzt aber meiner Meinung nach voraus, daß in der aktuellen Datei auch wirklich "benannte Tabellen" vorhanden sind und auch die entsprechenden Überschriften besitzen. In der ursprünglich eingestellten Datei 179473.xlsx (auf die ich mich bmit meiner Anfrage bezogen habe) ist jedoch beides nicht der Fall.

Den M-Code "Schritt": Quelle = Excel.CurrentWorkbook() kann man zudem mW per Menüfunktion nicht direkt erzeugen, oder? Jedoch kann man über eine Menüfunktion eine Abfrage erzeugen, die ich in der beigefügten Datei aufzeige. Soweit so gut oder schlecht. Jedenfalls komme ich danach nicht weiter. Wie würdest Du danach weiter vorgehen?

Gruß Werner
.. , - ...
aus C the unseen
Anzeige
AW: sorry, nun die Datei und ...
31.10.2025 20:33:18
neopa C
... nun auch mit korrekte Anrede.

Guten Abend Case,

hier nun noch die angekündigte Datei: https://www.herber.de/bbs/user/179481.xlsx

Gruß Werner
.. , - ...
aus C the unseen


Im Anhang ist...
31.10.2025 21:33:39
Case
Moin Werner, :-)

... ein möglicher Weg. Wie ich schon schrieb, ist es egal, ob da Überschriften oder Leerzeilen- Spalten sind. Ich arbeite so aber in der Regel nicht. ;-)

Habe nur die Zeile geändert - Table.SelectRows(Quelle, each Text.Contains([Name], "20")) - sonst nimmt er ja auch meine "Pivot" mit. ;-)

Im Tabellenblatt "Tabs" habe ich in D1 den Namen "PfadDatei" vergeben. Dann muss man nicht immer den Pfad anpassen. ;-)

Wenn du das nicht willst, lösche die Zeile - QuelleD = Excel.CurrentWorkbook(){[Name="PfadDatei"]}[Content]{0}[Column1], - und schreibe bei Quelle statt "QuelleD" wieder den Pfad- und Dateinamen in "Gänsefüßchen" rein. ;-)

Ich habe auch keine überflüssigen Spalten gelöscht. Kannst du ja noch alles machen. ;-)

https://www.herber.de/bbs/user/179483.xlsx

Servus
Case
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18