Hallo Christian,
Du darfst testen, wie und wann es dir passt :-))
Anbei die Power Query-Lösung. Es besteht aus 2 Teilen. Eine davon ist eine Funktion. Einfach in Power eine neue leere Abfrage erzeugen und mit dem erweiterte Editor folgende m-Code reinbringen:
let
Quelle = (R as record) as text =>
let
Quelle = Record.ToTable(R),
GefilterteZeilen = Table.SelectRows(Quelle, each Text.StartsWith([Value], "movie") or Text.StartsWith([Value], "series")),
erg = Text.Combine(GefilterteZeilen[Value], ";")
in erg
in
Quelle
Diese Abfrage in "movie_series" umbenennen.
Der Hauptteil wird über die Tabelle5 aufgebaut. Eine Schritte ruft dann die Function "movie_series"
let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle5"]}[Content],
#"Transponierte Tabelle" = Table.Transpose(Quelle),
#"Umbenannte Spalten" = Table.RenameColumns(#"Transponierte Tabelle",{{"Column1", "Adresse"}, {"Column2", "Name"}}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Umbenannte Spalten", "movie_series", each movie_series(Record.RemoveFields(_,{"Adresse", "Name"}))),
#"Andere entfernte Spalten" = Table.SelectColumns(#"Hinzugefügte benutzerdefinierte Spalte",{ "movie_series", "Adresse", "Name"}),
#"Gefilterte Zeilen" = Table.SelectRows(#"Andere entfernte Spalten", each ([movie_series] > "")),
#"Spalte nach Trennzeichen teilen" = Table.ExpandListColumn(Table.TransformColumns(#"Gefilterte Zeilen", {{"movie_series", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "movie_series")
in
#"Spalte nach Trennzeichen teilen"
Wobei diese Function sich auch direct in der Hauptabfrage "reinschmuggeln" lässt. Es ist aber nicht mehr "low code/no code" sondern man muss kräftig basteln. Man benutzt M-Code-Funktionen, die nicht mehr durch Zusammenklicken aufgerufen werden:
let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle5"]}[Content],
#"Transponierte Tabelle" = Table.Transpose(Quelle),
#"Umbenannte Spalten" = Table.RenameColumns(#"Transponierte Tabelle",{{"Column1", "Adresse"}, {"Column2", "Name"}}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Umbenannte Spalten", "movie_series", each Text.Combine(List.Select(Record.ToList(Record.RemoveFields(_,{"Adresse", "Name"})), each Text.StartsWith(_, "movie") or Text.StartsWith(_, "series")), ";")),
#"Andere entfernte Spalten" = Table.SelectColumns(#"Hinzugefügte benutzerdefinierte Spalte",{ "movie_series", "Adresse", "Name"}),
#"Gefilterte Zeilen" = Table.SelectRows(#"Andere entfernte Spalten", each ([movie_series] > "")),
#"Spalte nach Trennzeichen teilen" = Table.ExpandListColumn(Table.TransformColumns(#"Gefilterte Zeilen", {{"movie_series", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "movie_series")
in
#"Spalte nach Trennzeichen teilen"
VG
Yal