Предположим, диапазон Table1 содержит два столбца ImageBaseName и Количество
Добавить столбец ... Индексный столбец ... Щелкните правой кнопкой мыши ImageBaseName Разделить столбец ... По разделителю ... - Пользовательский--, используйте точку в качестве разделителя и разделите в крайнем правом разделителе. Это приведет к удалению суффикса изображения
Добавить столбец ... Пользовательский столбец ... Назовите его Список и используйте формулу = {1 .. [Количество]} который создаст список значений от 1 до Количество
Нажмите двойную стрелку в верхней части нового столбца список и выберите развернуть до новых строк
Нажмите- Выберите список , Количество , ImageBaseName.2 , ImageBaseName.1 столбцы и Преобразовать ... Тип данных ... Текст
Добавить столбец .. Пользовательский столбец .. Назовите его Пользовательский и используйте формулу = [ImageBaseName.1] & "-" & [list] & "." & [ImageBaseName. 2] собрать все части
Щелкните правой кнопкой мыши Индекс Группировать по ... [x] Бази c, Группировать по Индекс , имя нового столбца ImageIDs , количество строк операций
Это сгенерирует код, подобный следующему:
Table.Group(#"Added Custom1", {"Index"}, {{"ImageIDs", each Table.RowCount(_), type number}})
Используйте формулу для изменения формулы, как показано ниже. Он будет объединять строки, используя в качестве разделителя
Table.Group(#"Added Custom1", {"Index"}, {{"ImageIDs", each Text.Combine([Custom], ", "), type text}})
Ниже приведен полный пример кода, который вы можете вставить в Home .. Расширенный редактор ...
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Index" = Table.AddIndexColumn(Source, "Index", 0, 1),
#"Split Column by Delimiter" = Table.SplitColumn(#"Added Index", "ImageBaseName", Splitter.SplitTextByEachDelimiter({"."}, QuoteStyle.Csv, true), {"ImageBaseName.1", "ImageBaseName.2"}),
#"Added Custom" = Table.AddColumn(#"Split Column by Delimiter", "list", each {1..[Quantity]}),
#"Expanded list" = Table.ExpandListColumn(#"Added Custom", "list"),
#"Changed Type1" = Table.TransformColumnTypes(#"Expanded list",{{"list", type text}, {"Quantity", type text}, {"ImageBaseName.2", type text}, {"ImageBaseName.1", type text}}),
#"Added Custom1" = Table.AddColumn(#"Changed Type1", "Custom", each [ImageBaseName.1]&"-"&[list]&"."&[ImageBaseName.2]),
#"Grouped Rows" = Table.Group(#"Added Custom1", {"Index"}, {{"ImageIDs", each Text.Combine([Custom], ", "), type text}})
in #"Grouped Rows"
Вероятно, есть много способов чтобы объединить все это в один шаг, но я думал, что покажу части