Страницы: 1
RSS
Транспортировать столбцы в PQ
 
Всем привет!
Есть необходимость транспортировать столбцы в строки, вроде задача непростая, но простой транспортировкой не получается.
Подумал, тут не транспортировка нужна нужна, а группировка, но вот при развороте не соображу как их в строчку разместить
Решение нашёл, все проще чем думал)
let
Код
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Сгруппированные строки" = Table.Group(Источник, {"Линия"}, {{"Количество", each Text.Combine([стык], ";#(lf)"), type text}}
   ),
    #"Разделить столбец по разделителю" = Table.SplitColumn(#"Сгруппированные строки", "Количество", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Количество.1", "Количество.2", "Количество.3", "Количество.4", "Количество.5", "Количество.6", "Количество.7", "Количество.8", "Количество.9", "Количество.10", "Количество.11", "Количество.12", "Количество.13", "Количество.14", "Количество.15", "Количество.16", "Количество.17", "Количество.18", "Количество.19", "Количество.20", "Количество.21", "Количество.22", "Количество.23", "Количество.24", "Количество.25", "Количество.26", "Количество.27", "Количество.28", "Количество.29", "Количество.30", "Количество.31", "Количество.32", "Количество.33", "Количество.34", "Количество.35", "Количество.36", "Количество.37", "Количество.38", "Количество.39", "Количество.40", "Количество.41", "Количество.42", "Количество.43", "Количество.44", "Количество.45", "Количество.46", "Количество.47", "Количество.48", "Количество.49", "Количество.50", "Количество.51", "Количество.52", "Количество.53", "Количество.54", "Количество.55", "Количество.56"}),
    #"Измененный тип" = Table.TransformColumnTypes(#"Разделить столбец по разделителю",{{"Количество.1", Int64.Type}, {"Количество.2", Int64.Type}, {"Количество.3", Int64.Type}, {"Количество.4", Int64.Type}, {"Количество.5", Int64.Type}, {"Количество.6", Int64.Type}, {"Количество.7", Int64.Type}, {"Количество.8", Int64.Type}, {"Количество.9", Int64.Type}, {"Количество.10", Int64.Type}, {"Количество.11", Int64.Type}, {"Количество.12", Int64.Type}, {"Количество.13", Int64.Type}, {"Количество.14", Int64.Type}, {"Количество.15", Int64.Type}, {"Количество.16", Int64.Type}, {"Количество.17", Int64.Type}, {"Количество.18", Int64.Type}, {"Количество.19", Int64.Type}, {"Количество.20", Int64.Type}, {"Количество.21", Int64.Type}, {"Количество.22", Int64.Type}, {"Количество.23", Int64.Type}, {"Количество.24", Int64.Type}, {"Количество.25", Int64.Type}, {"Количество.26", Int64.Type}, {"Количество.27", Int64.Type}, {"Количество.28", Int64.Type}, {"Количество.29", Int64.Type}, {"Количество.30", Int64.Type}, {"Количество.31", Int64.Type}, {"Количество.32", Int64.Type}, {"Количество.33", Int64.Type}, {"Количество.34", Int64.Type}, {"Количество.35", Int64.Type}, {"Количество.36", Int64.Type}, {"Количество.37", Int64.Type}, {"Количество.38", Int64.Type}, {"Количество.39", Int64.Type}, {"Количество.40", Int64.Type}, {"Количество.41", Int64.Type}, {"Количество.42", Int64.Type}, {"Количество.43", Int64.Type}, {"Количество.44", Int64.Type}, {"Количество.45", Int64.Type}, {"Количество.46", Int64.Type}, {"Количество.47", Int64.Type}, {"Количество.48", Int64.Type}, {"Количество.49", Int64.Type}, {"Количество.50", Int64.Type}, {"Количество.51", Int64.Type}, {"Количество.52", Int64.Type}, {"Количество.53", Int64.Type}, {"Количество.54", Int64.Type}, {"Количество.55", Int64.Type}, {"Количество.56", Int64.Type}})
in
    #"Измененный тип"
Изменено: Adamm - 29.10.2021 22:13:42
 
Вариант.
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Grouped = Table.Group(#"Source", {"Линия"}, {{"Стык", each Table.Skip(Table.Transpose(_), 1)}}),
    Expanded = Table.ExpandTableColumn(Grouped, "Стык", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17", "Column18", "Column19", "Column20", "Column21", "Column22", "Column23", "Column24", "Column25", "Column26", "Column27", "Column28", "Column29", "Column30", "Column31", "Column32", "Column33", "Column34", "Column35", "Column36", "Column37", "Column38", "Column39", "Column40", "Column41", "Column42", "Column43", "Column44", "Column45", "Column46", "Column47", "Column48", "Column49", "Column50", "Column51", "Column52", "Column53", "Column54", "Column55", "Column56"}, {"Стык.Column1", "Стык.Column2", "Стык.Column3", "Стык.Column4", "Стык.Column5", "Стык.Column6", "Стык.Column7", "Стык.Column8", "Стык.Column9", "Стык.Column10", "Стык.Column11", "Стык.Column12", "Стык.Column13", "Стык.Column14", "Стык.Column15", "Стык.Column16", "Стык.Column17", "Стык.Column18", "Стык.Column19", "Стык.Column20", "Стык.Column21", "Стык.Column22", "Стык.Column23", "Стык.Column24", "Стык.Column25", "Стык.Column26", "Стык.Column27", "Стык.Column28", "Стык.Column29", "Стык.Column30", "Стык.Column31", "Стык.Column32", "Стык.Column33", "Стык.Column34", "Стык.Column35", "Стык.Column36", "Стык.Column37", "Стык.Column38", "Стык.Column39", "Стык.Column40", "Стык.Column41", "Стык.Column42", "Стык.Column43", "Стык.Column44", "Стык.Column45", "Стык.Column46", "Стык.Column47", "Стык.Column48", "Стык.Column49", "Стык.Column50", "Стык.Column51", "Стык.Column52", "Стык.Column53", "Стык.Column54", "Стык.Column55", "Стык.Column56"}),
    To = Table.TransformColumnNames(Expanded,each Text.Replace(_, "Column", ""))
in
    To
 
Спасибо!
 
Добрый день.
Подскажите, подобная задача решается только макросом? У меня просто похожая проблема и как мне сказали, есть решение через инструменты Excel.
Может быть вы уже разобрались с данным вопросом?
 
Khava Mamilova, в данном случае использовался не макрос, а запрос Power Query (можно поставить надстройку на excel 2013, с 2016 и новее встроенный).
 
Не могли бы посмотреть, можно ли решить данную задачу этим способом? (прикрепляю файл, там две вкладки: было и должно стать)
 
В одно действие, но сделайте отдельную тему, к этой ваш вопрос никакого отношения не имеет.
 
Создала, спасибо.
Страницы: 1
Наверх