Dear Aflatoon,

Thank you very much for this. I tried to integrate your example in my code but I have not succeeded. Would you mind taking a look at my code? Maybe you have an idea how to make it work. Note: I had created an index column (step 4) in my code already. It does not need to be in step 4:

let
Quelle = Table.NestedJoin(Kurse, {"WP ID", "Kursdatum"}, Anteile, {"ISIN Intern", "Datum"}, "Anteile", JoinKind.LeftOuter),
#"Erweiterte Anteile" = Table.ExpandTableColumn(Quelle, "Anteile", {"Stueck/Nominal", "Kurs", "Kurs Dirty", "Marktwert Clean DW", "Marktwert Dirty DW"}, {"Emittenten.Exposure.Stueck/Nominal", "Emittenten.Exposure.Kurs", "Emittenten.Exposure.Kurs Dirty", "Emittenten.Exposure.Marktwert Clean DW", "Emittenten.Exposure.Marktwert Dirty DW"}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Erweiterte Anteile", "NAV", each if [Notierung] <> "Kurs" then [Kurs] * [#"Emittenten.Exposure.Stueck/Nominal"] else ([Kurs] / 100) * [#"Emittenten.Exposure.Stueck/Nominal"]),
#"Hinzugefügter Index" = Table.AddIndexColumn(#"Hinzugefügte benutzerdefinierte Spalte", "Index", 0, 1, Int64.Type),
#"Zusammengeführte Abfragen" = Table.NestedJoin(#"Hinzugefügter Index", {"WP ID", "Kursdatum"}, Geschäfte, {"WP ID", "Handelstag"}, "Geschäfte", JoinKind.FullOuter),
#"Erweiterte Geschäfte" = Table.ExpandTableColumn(#"Zusammengeführte Abfragen", "Geschäfte", {"Gesch.-Nr.", "Gesch.-Art", "Nominal", "Kurs", "Handelstag", "Valuta", "Nominalbasis", "Betrag AW", "Aktueller Geschäfts- Status"}, {"Geschäfte.Gesch.-Nr.", "Geschäfte.Gesch.-Art", "Geschäfte.Nominal", "Geschäfte.Kurs", "Geschäfte.Handelstag", "Geschäfte.Valuta", "Geschäfte.Nominalbasis", "Geschäfte.Betrag AW", "Geschäfte.Aktueller Geschäfts- Status"}),
#"Spalte nach Trennzeichen teilen" = Table.SplitColumn(#"Erweiterte Geschäfte", "Freikommentar", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, true), {"Freikommentar.1", "Freikommentar.2"}),
#"Geänderter Typ" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen",{{"Freikommentar.1", type text}, {"Freikommentar.2", type text}}),
#"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Geänderter Typ", "Freikommentar", each if [Freikommentar.2] = null then [Freikommentar.1] else [Freikommentar.2]),
#"Neu angeordnete Spalten" = Table.ReorderColumns(#"Hinzugefügte benutzerdefinierte Spalte1",{"WP ID", "WP-Name", "Kursart", "Kursdatum", "Kurs", "Freikommentar.1", "Freikommentar.2", "Freikommentar", "Datenquelle", "MBI", "Notierung", "Datum.Freikommentar", "Emittenten.Exposure.Stueck/Nominal", "Emittenten.Exposure.Kurs", "Emittenten.Exposure.Kurs Dirty", "Emittenten.Exposure.Marktwert Clean DW", "Emittenten.Exposure.Marktwert Dirty DW", "NAV", "Index", "Geschäfte.Gesch.-Nr.", "Geschäfte.Gesch.-Art", "Geschäfte.Nominal", "Geschäfte.Kurs", "Geschäfte.Handelstag", "Geschäfte.Valuta", "Geschäfte.Nominalbasis", "Geschäfte.Betrag AW", "Geschäfte.Aktueller Geschäfts- Status"}),
#"Andere entfernte Spalten" = Table.SelectColumns(#"Neu angeordnete Spalten",{"WP ID", "WP-Name", "Kursart", "Kursdatum", "Kurs", "Freikommentar", "Datenquelle", "MBI", "Notierung", "Datum.Freikommentar", "Emittenten.Exposure.Stueck/Nominal", "Emittenten.Exposure.Kurs", "Emittenten.Exposure.Kurs Dirty", "Emittenten.Exposure.Marktwert Clean DW", "Emittenten.Exposure.Marktwert Dirty DW", "NAV", "Index", "Geschäfte.Gesch.-Nr.", "Geschäfte.Gesch.-Art", "Geschäfte.Nominal", "Geschäfte.Kurs", "Geschäfte.Handelstag", "Geschäfte.Valuta", "Geschäfte.Nominalbasis", "Geschäfte.Betrag AW", "Geschäfte.Aktueller Geschäfts- Status"}),
#"Hinzugefügte benutzerdefinierte Spalte2" = Table.AddColumn(#"Andere entfernte Spalten", "Kursdatum.1", each if [Kursdatum] = null then [Geschäfte.Handelstag] else [Kursdatum]),
#"Geänderter Typ1" = Table.TransformColumnTypes(#"Hinzugefügte benutzerdefinierte Spalte2",{{"Kursdatum.1", type date}}),
#"Neu angeordnete Spalten1" = Table.ReorderColumns(#"Geänderter Typ1",{"WP ID", "WP-Name", "Kursart", "Kursdatum", "Kursdatum.1", "Kurs", "Freikommentar", "Datenquelle", "MBI", "Notierung", "Datum.Freikommentar", "Emittenten.Exposure.Stueck/Nominal", "Emittenten.Exposure.Kurs", "Emittenten.Exposure.Kurs Dirty", "Emittenten.Exposure.Marktwert Clean DW", "Emittenten.Exposure.Marktwert Dirty DW", "NAV", "Index", "Geschäfte.Gesch.-Nr.", "Geschäfte.Gesch.-Art", "Geschäfte.Nominal", "Geschäfte.Kurs", "Geschäfte.Handelstag", "Geschäfte.Valuta", "Geschäfte.Nominalbasis", "Geschäfte.Betrag AW", "Geschäfte.Aktueller Geschäfts- Status"}),
#"Andere entfernte Spalten1" = Table.SelectColumns(#"Neu angeordnete Spalten1",{"WP ID", "WP-Name", "Kursart", "Kursdatum.1", "Kurs", "Freikommentar", "Datenquelle", "MBI", "Notierung", "Datum.Freikommentar", "Emittenten.Exposure.Stueck/Nominal", "Emittenten.Exposure.Kurs", "Emittenten.Exposure.Kurs Dirty", "Emittenten.Exposure.Marktwert Clean DW", "Emittenten.Exposure.Marktwert Dirty DW", "NAV", "Index", "Geschäfte.Gesch.-Nr.", "Geschäfte.Gesch.-Art", "Geschäfte.Nominal", "Geschäfte.Kurs", "Geschäfte.Handelstag", "Geschäfte.Valuta", "Geschäfte.Nominalbasis", "Geschäfte.Betrag AW", "Geschäfte.Aktueller Geschäfts- Status"}),
#"Sortierte Zeilen" = Table.Sort(#"Andere entfernte Spalten1",{{"Kursdatum.1", Order.Descending}}),
#"Umbenannte Spalten" = Table.RenameColumns(#"Sortierte Zeilen",{{"Kursdatum.1", "Datum"}})
in
#"Umbenannte Spalten"

Thank you very much for your support.

Kai