(Forum) PQ: Dynamische Liste anhand eines Dropdowns

Quelle:  https://www.herber.de/cgi-bin/eachthread.pl?idx=1992985
Stand: 08.10.2024 13:20

Bitte beacht­en Sie die hier beschriebene Beson­der­heit in Sachen des Her­ber-Forums.


Hier der Eröff­nungs­beitrag aus dem Forum:

 Hal­lo zusam­men,

ich ver­suche ger­ade eine dynamis­che Liste anhand eines aus­gewählten Wertes inner­halb eines Drop­downs zu erstellen.

Konkret geht es mir um fol­gen­des. Ich habe Pro­jek­te (A, B, C, D, …) mit einem definierten Ziel­ter­min. Nun habe ich ein Drop­down erstellt, bei dem ich Ziel­ter­mine auswählen kann. Im Anschluss soll eine Liste gener­iert wer­den mit den Pro­jek­ten die diesen Ziel­ter­min haben (inkl. Beschrei­bung des Pro­jek­tes).
https://www.herber.de/bbs/user/172603.xlsx
Das Ziel ist eigentlich sog­ar noch darüber hin­aus ein Dia­gramm zu erstellen, welch­es sich aktu­al­isiert sobald man im Drop­down ein anderen Ziel­ter­min auswählt (und per­spek­tivisch auch noch ein weit­eres Auswahlkri­teri­um). Aber Schritt für Schritt…

Wenn jemand eine Idee bzw. Lösung hier­für hat (auch gerne für die zukün­fti­gen Vorhaben von mir mit der Excel) bin ich sehr dankbar.

Schö­nen Abend 🙂


Zwar kön­nte der Fragesteller mit sein­er 365er-Ver­sion auch die FILTER() – Funk­tion ver­wen­den, aber ich finde Pow­er Query ein­fach trans­par­enter und als Basis-Tool viel bre­it­er gefächert.

Vor­bere­itung: Sie geben der Zelle F4 (und nur der) den Bere­ich­sna­men WahlTer­min. Diese Zelle anschließend in PQ einlesen/importieren und im PQ-Edi­tor per Recht­sklick via Drill­down aus­führen zu ein­er per Namen ansprech­baren Liste machen.

Nach dem Import der Daten­Liste die Spalte Ziel­ter­min nach einem beliebi­gen Datum fil­tern. Die Eingabezeile mit der gener­ierten Funk­tion kön­nte nun so ausse­hen:
= Table.SelectRows(#„Geänderter Typ”, each ([Ziel­ter­min] = #date(2025, 4, 1)))

Erset­zen Sie nun per Hand den gener­ierten Datum-Teil #date(2025, 4, 1) mit dem Namen der Auswahlliste, also WahlTer­min.

Hier die bei­den M-Code Blöcke, zuerst für den Bere­ich bzw. die Query WahlTer­min:

let
    Quelle = Excel.CurrentWorkbook(){[Name="WahlTermin"]}[Content],
    #"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Column1", type date}}),
    Column1 = #"Geänderter Typ"{0}[Column1]
in
    Column1

… und hier für die Berech­nung in Tabelle1:

let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    #"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Projekt", type text}, {"Beschreibung", type text}, {"Zieltermin", type date}}),
    // Per Mausklick beliebiger Wert gewählt oder irgendeis kalendarisches per Hand  eingegebenes Datum händisch mit dem Namen WahlTermin ersetzt.
    #"Gefilterte Zeilen" = Table.SelectRows(#"Geänderter Typ", each ([Zieltermin] = WahlTermin)),
    // Wenn die Spalte dennoch in der Auswertung angezeigt werden soll, dann muss diese in der Ergebnisliste im Zahlenformet "MM/JJJJ" formatiert werden.
    #"Entfernte Spalten" = Table.RemoveColumns(#"Gefilterte Zeilen",{"Zieltermin"})
in
    #"Entfernte Spalten"

Und hier, beim Stich­wort last but not least find­en Sie noch einen Hin­weis, wo und wie Sie Antworten auf eventuelle Fra­gen oder auch die aus­gear­beit­ete Datei bekom­men kön­nen. Grundle­gen­des zum The­ma M-Code lesen Sie hier im Blog nach.

Dieser Beitrag wurde unter Allgemein, Allgemein, Verschiedenes, Datentyp anpassen, Datum & Zeit, Filtern & Sortieren, Power Query abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.