Страницы: 1
RSS
Разделение по столбцам Power Qwery, определение разделителя для дальнейшего разделение по столбцам
 
Добрый день. Прошу помочь разделить по столбцам Power Qwery, а именно определить разделитель. Альтернатива СЖПРОБЕЛ не помогает.
 
Какой корявый источник то. А откуда оно попало в таком виде в Эксель?
Для вашего примера можно разделить вот так:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content],
    #"Split Column by Position" = Table.SplitColumn(Source, "Столбец  1", Splitter.SplitTextByPositions({0, 10, 26, 41, 57, 72, 87,97,103,116}, false), {"1", "2", "3", "4", "5", "", "7", "8", "9", "10"}),
    #"Trimmed Text" = Table.TransformColumns(#"Split Column by Position",{{"1", Text.Trim, type text}, {"2", Text.Trim, type text}, {"3", Text.Trim, type text}, {"4", Text.Trim, type text}, {"5", Text.Trim, type text}, {"", Text.Trim, type text}, {"7", Text.Trim, type text}, {"8", Text.Trim, type text}, {"9", Text.Trim, type text}, {"10", Text.Trim, type text}}),
    #"Promoted Headers" = Table.PromoteHeaders(#"Trimmed Text", [PromoteAllScalars=true]),
    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Дата опц.", type date}, {"Позиция", Int64.Type}, {"Описание", type text}, {"Тип источника", type text}, {"Источник", Int64.Type}, {"Скл. подр.", type text}, {"Количество", Int64.Type}, {"ЕИ", type text}, {"Уд.себестоим.", type number}, {"Стоимость опц.", type number}})
in
    #"Changed Type"
Изменено: PooHkrd - 02.03.2021 11:27:45
Вот горшок пустой, он предмет простой...
 
Спасибо большое. Когда данную функцию накладываю на весь файл пошел сбой. Нашел другой способ выгрузки в формате *.txt, но в некоторых строчках в одну ячейку засовывает несколько строк, файлы примера прилагаю
Изменено: Юрий - 02.03.2021 13:42:44
 
В текстовом файле есть вторая строка, в которой по количеству дефисов можно судить о длине столбцов. Но даже она блин кривая. Да еще и часть данных с переносом каретки как-то не дружит. В общем вот вариант для вашего примера, принцип тут, думаю, понятен. Дальше вы уж как-нибудь сами.
Код
let
    Source = Web.Contents("https://www.planetaexcel.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=431616&action=download"),
    Custom1 = Csv.Document(Source,null,"0, 10, 26, 41, 57, 72, 85, 99, 102, 116",null,1251),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(Custom1, {{"Column1", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Column1"),
    #"Split Column by Position1" = Table.SplitColumn(#"Split Column by Delimiter", "Column1", Splitter.SplitTextByPositions({0, 10, 26, 40, 56, 71, 84, 98, 102, 116}, false), {"Column1.1", "Column1.2", "Column1.3", "Column1.4", "Column1.5", "Column1.6", "Column1.7", "Column1.8", "Column1.9", "Column1.10"}),
    #"Cleaned Text" = Table.TransformColumns(#"Split Column by Position1",{{"Column1.1", Text.Clean, type text}, {"Column1.2", Text.Clean, type text}, {"Column1.3", Text.Clean, type text}, {"Column1.4", Text.Clean, type text}, {"Column1.5", Text.Clean, type text}, {"Column1.6", Text.Clean, type text}, {"Column1.7", Text.Clean, type text}, {"Column1.8", Text.Clean, type text}, {"Column1.9", Text.Clean, type text}, {"Column1.10", Text.Clean, type text}}),
    #"Trimmed Text" = Table.TransformColumns(#"Cleaned Text",{{"Column1.1", Text.Trim, type text}, {"Column1.2", Text.Trim, type text}, {"Column1.3", Text.Trim, type text}, {"Column1.4", Text.Trim, type text}, {"Column1.5", Text.Trim, type text}, {"Column1.6", Text.Trim, type text}, {"Column1.7", Text.Trim, type text}, {"Column1.8", Text.Trim, type text}, {"Column1.9", Text.Trim, type text}, {"Column1.10", Text.Trim, type text}}),
    #"Promoted Headers" = Table.PromoteHeaders(#"Trimmed Text", [PromoteAllScalars=true]),
    #"Filtered Rows" = Table.SelectRows(#"Promoted Headers", each ([Количество] <> "" and [Количество] <> "------------")),
    #"Changed Type" = Table.TransformColumnTypes(#"Filtered Rows",{{"Дата опц.", type date}, {"Позиция", Int64.Type}, {"Описание", type text}, {"Тип источника", type text}, {"Источник", Int64.Type}, {"Скл. подр.", type text}, {"Количество", type number}, {"ЕИ", type text}, {"Уд.себестоим.", type number}, {"Стоимость опц.", type number}})
in
    #"Changed Type"
Вот горшок пустой, он предмет простой...
 
Спасибо большое. Это не файлы, а приключения. Победа за нами.
Страницы: 1
Наверх