let
Source = Csv.Document(Web.Contents("https://www.ishares.com/ch/individual/en/products/264107/ishares-spi-ch-fund/1535604580403.ajax?fileType=xls&fileName=iShares-Core-SPI-ETF-CH_fund&dataType=fund"),null,""">",null,1250),
#"Added Index" = Table.AddIndexColumn(Source, "Индекс", 0, 1),
#"Added Conditional Column" = Table.AddColumn(#"Added Index", "Пользовательская", each if [Column1] = "</ss:Table>" then [Индекс] else null),
#"Filled Down" = Table.FillDown(#"Added Conditional Column",{"Пользовательская"}),
#"Grouped Rows" = Table.Group(#"Filled Down", {"Пользовательская"}, {{"Количество", each _, type table}}),
#"Removed Other Columns" = Table.SelectColumns(#"Grouped Rows",{"Количество"}),
#"Added Index1" = Table.AddIndexColumn(#"Removed Other Columns", "Индекс", 1, 1),
#"Expanded {0}" = Table.ExpandTableColumn(#"Added Index1", "Количество", {"Column1"}, {"Column1"}),
#"Extracted Text Between Delimiters" = Table.TransformColumns(#"Expanded {0}", {{"Column1", each Text.BetweenDelimiters(_, ">", "</ss:Data>"), type text}}),
#"Filtered Rows1" = Table.SelectRows(#"Extracted Text Between Delimiters", each ([Column1] <> "") and ([Индекс] = 3)),
#"Добавлен индекс" = Table.AddIndexColumn(#"Filtered Rows1", "Индекс.1", 0, 1),
#"Условный столбец добавлен" = Table.AddColumn(#"Добавлен индекс", "Пользовательская", each if Text.Contains([Column1], "/") then [Индекс.1] else null),
#"Заполнение вниз" = Table.FillDown(#"Условный столбец добавлен",{"Пользовательская"}),
#"Замененное значение" = Table.ReplaceValue(#"Заполнение вниз",null,0,Replacer.ReplaceValue,{"Пользовательская"}),
#"Добавлен пользовательский объект" = Table.AddColumn(#"Замененное значение", "Пользовательская.1", each [Индекс.1]-[Пользовательская]),
#"Сгруппированные строки" = Table.Group(#"Добавлен пользовательский объект", {"Пользовательская.1"}, {{"Количество", each _, type table}}),
Дата = Table.AddIndexColumn(
Table.ExpandTableColumn(
Table.SelectRows(#"Сгруппированные строки", each ([Пользовательская.1] = 0)),
"Количество", {"Column1"}, {"Column1"}),
"Индекс", 0, 1),
NAV = Table.AddIndexColumn(
Table.ExpandTableColumn(
Table.SelectRows(#"Сгруппированные строки", each ([Пользовательская.1] = 2)),
"Количество", {"Column1"}, {"Column1"}),
"Индекс", 0, 1),
#"Объединенные запросы" = Table.NestedJoin(NAV,{"Индекс"},Дата,{"Индекс"},"Дата",JoinKind.LeftOuter),
#"Развернутый элемент Дата" = Table.ExpandTableColumn(#"Объединенные запросы", "Дата", {"Column1"}, {"Column1.1"}),
#"Другие удаленные столбцы" = Table.SelectColumns(#"Развернутый элемент Дата",{"Column1", "Column1.1"})
in
#"Другие удаленные столбцы"
|