Страницы: 1
RSS
Поправить код Power Query чтобы пропускались пустые ячейки при запросе
 
Есть файл в котором характеристики товара в столбце В - расположены в одну строку, вот так:


Если кликнуть на ячейку в которой написаны характеристики, то они написаны вроде как столбиком - друг под другом, вот так:


Была задача раскидать каждую строку/характеристику в отдельный столбик, чтобы в итоге получилось так:


Посоветовали решить задачу через Power Query вот таким вот кодом:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(Source, {{"Характеристики", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Характеристики"),
    #"Split Column by Delimiter1" = Table.SplitColumn(#"Split Column by Delimiter", "Характеристики", Splitter.SplitTextByDelimiter(":", QuoteStyle.Csv), {"Характеристики.1", "Характеристики.2"}),
    #"Pivoted Column" = Table.Pivot(#"Split Column by Delimiter1", List.Distinct(#"Split Column by Delimiter1"[Характеристики.1]), "Характеристики.1", "Характеристики.2")
in
    #"Pivoted Column"

Подскажите, пожалуйста, как нужно поправить код, чтобы при его выполнении не появлялась ошибка


Она появляется когда для какой-то характеристики - нет значения, вот например:

Чтобы в коде прописать чтобы если ячейка пустая или в ней null стоит, то чтобы такие ячейки игнорировались и пропускались. Заранее благодарен за помощь
 
realmen80,
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(Source, {{"Характеристики", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Характеристики"),
    #"Split Column by Delimiter1" = Table.SplitColumn(#"Split Column by Delimiter", "Характеристики", Splitter.SplitTextByDelimiter(":", QuoteStyle.Csv), {"Характеристики.1", "Характеристики.2"}),
    #"Строки с примененным фильтром" = Table.SelectRows(#"Split Column by Delimiter1", each ([Характеристики.1] <> null)),
    #"Pivoted Column" = Table.Pivot(#"Строки с примененным фильтром", List.Distinct(#"Строки с примененным фильтром"[Характеристики.1]), "Характеристики.1", "Характеристики.2")
in
    #"Pivoted Column"
Изменено: Anton555 - 03.07.2019 15:18:23
 
Anton555, в предпросмотре все правильно показывается и ошибки уже нет, вот только раньше результат выводился на новом листе, а сейчас результата нет вообще. В предпросмотре все показывает, а результат не выводит.
Изменено: realmen80 - 03.07.2019 16:32:47
 
ХЗ, вот выводится все на лист:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Filtered Rows" = Table.SelectRows(Source, each ([Артикул] <> null)),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Filtered Rows", {{"Характеристики", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Характеристики"),
    #"Split Column by Delimiter1" = Table.SplitColumn(#"Split Column by Delimiter", "Характеристики", Splitter.SplitTextByDelimiter(":", QuoteStyle.Csv), {"Характеристики.1", "Характеристики.2"}),
    #"Pivoted Column" = Table.Pivot(#"Split Column by Delimiter1", List.Distinct(#"Split Column by Delimiter1"[Характеристики.1]), "Характеристики.1", "Характеристики.2")
in
    #"Pivoted Column"
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
ХЗ, вот выводится все на лист:

Да. Так выводится. Anton555 и PooHkrd Спасибо
Страницы: 1
Наверх