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

Добрый день.
Как в PQ получить из таблицы «Что имеем» таблицу «Хотелка» ?

Я в каждой строке «Работа счета…» вытащил из фразы «Работа счета 127577» в дополнительный столбец номер счета (127577), трудности с заполнением пустых ячеек между этими счетами клиентов в доп.столбце.
 
Как-то так:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Столбец1", type any}, {"Столбец2", type any}, {"Столбец3", type any}, {"Столбец4", type any}, {"Столбец5", type text}}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Измененный тип", "Хотелка1", each if [Столбец2]=null then [Столбец1] else null),
    #"Заполнение вниз" = Table.FillDown(#"Добавлен пользовательский объект",{"Хотелка1"}),
    #"Добавлен пользовательский объект1" = Table.AddColumn(#"Заполнение вниз", "Хотелка", each if [Столбец2] = null 
  then null 
  else if [Столбец2] = "Дебет сумма"
    then "Счет клиента"
    else [Хотелка1]),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Добавлен пользовательский объект1",{"Хотелка1"}),
    #"Замененное значение" = Table.ReplaceValue(#"Удаленные столбцы","Работа счета ","",Replacer.ReplaceText,{"Хотелка"})
in
    #"Замененное значение"
Изменено: PooHkrd - 03.05.2018 11:06:45 (слегка подправил скрипт.)
Вот горшок пустой, он предмет простой...
 
почти так же
Код
let
    Source = Excel.Workbook(File.Contents("C:\Users\m.zelenskiy\Downloads\xls\Табл.xlsm"), null, true),
    #"Что имеем_Sheet" = Source{[Item="Что имеем",Kind="Sheet"]}[Data],
    #"Inserted Text After Delimiter" = Table.AddColumn(#"Что имеем_Sheet", "Текст после разделителя", each if [Column2]=null then Text.AfterDelimiter(Text.From([Column1], "ru-RU"), " ", {0, RelativePosition.FromEnd}) else null, type text),
    #"Filled Down" = Table.FillDown(#"Inserted Text After Delimiter",{"Текст после разделителя"}),
    #"Added Custom" = Table.AddColumn(#"Filled Down", "Счет клиента", each if [Column2]=null then null else if [Column2]="Дебет сумма" then "Счет клиента" else [Текст после разделителя]),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Текст после разделителя"})
in
    #"Removed Columns"
F1 творит чудеса
 
PooHkrd, Максим,  спасибо, получилось.
Страницы: 1
Наверх