Страницы: 1
RSS
power query ошибка без ошибки, запрос в power query выдаёт ошибки хотя по шагам всё проходит нормально
 
Добрый день!
Начинаю работать с power query, написал запрос к таблице в книге. Внутри запроса если идти по шагам, то нет ошибок. В выгружаемой запросом таблице тоже нет ошибок (насколько понимаю). Ошибки, а их столько, сколько выгружается строк видно только в разделе где отражаются запросы.

Не понимаю из-за чего возникает ошибка и в чём она состоит?
заранее всем спасибо
Изменено: Максим78 - 02.04.2024 10:46:04
 
null не текст- уберите ""
 
Добрый день!
Можно кликнуть по строке с ошибками, в разделе где отображаются запросы.
А затем - по ячейке в редакторе Power Query со значением "Error":
Тип значения не соответствует типу столбца
 
Большое спасибо, всё как всегда не сложно если знать где искать, а я до этого голову сломал.

Если не сложно, подскажите возможно ли создать несколько столбцов с разными именами в одном шаге, в функции Table.AddColumn. Как то так
#"Вставленный столбец1" = Table.AddColumn(#"Переупорядоченные столбцы2", "новый1", "новый2", "новый3", each null, type number),
путём их перечисления.
Я просто создал столько шагов, сколько надо новых столбцов. так как ниже. Читал про разные способы, но про те что читал они пока сложны для меня.

Сейчас так
#"Переупорядоченные столбцы2" = Table.ReorderColumns(#"Объединенные столбцы",{"Сцепить", "Наименование Контрагента", "ИНН плательщика", "№ договора", "Приход"}),    
#"Вставленный столбец1" = Table.AddColumn(#"Переупорядоченные столбцы2", "ФМ остатки в машине мб дубли", each null, type number),
   #"Вставленный столбец2" = Table.AddColumn(#"Вставленный столбец1", "АСБНУ (остатки на дату выгрузки) мб дубли", each null, type number),
   #"Вставленный столбец3" = Table.AddColumn(#"Вставленный столбец2", "АСКУ (сумма услуг оказанных в текущем периоде)", each null, type number),
   #"Вставленный столбец4" = Table.AddColumn(#"Вставленный столбец3", "Итог (АСБНУ-АСКУ)", each null, type number),
   #"Вставленный столбец5" = Table.AddColumn(#"Вставленный столбец4", "Доп услуги", each null, type number),
   #"Вставленный столбец6" = Table.AddColumn(#"Вставленный столбец5", "Итоговый остаток не введённый в ФМ", each null, type number),
   #"Вставленный столбец7" = Table.AddColumn(#"Вставленный столбец6", "Анализ", each null, type number),
   #"Вставленный столбец8" = Table.AddColumn(#"Вставленный столбец7", "Постоплата", each null, type number),
   Пользовательская1 = Table.AddColumn(#"Вставленный столбец8", "Минус", each null, type number)

 
AddColumn, по английски - это буквально "добавить столбец", не столбцы.

Самый простой для чайника способ, наверное, сделать в экселе пустую таблицу с именами пустых столбцов, загрузить ее в PQ и "добавить таблицу".
Это если совсем с кнопок и понимая каждый тыц.

И вот так вариант, чтобы список столбцов можно было задать на листе в экселе, и тип у всех number.
Ну или можно список руками в PQ навалять
Изменено: Xel - 02.04.2024 12:22:31
 
Цитата
Максим78 написал:
возможно ли создать несколько столбцов с разными именами в одном шаге, в функции Table.AddColumn.
нет, читайте документацию по этой функции.
Пришелец-прораб.
 
Понял, всем ещё раз спасибо.
Пока проще через много "тыц" )))
 
Цитата
Максим78 написал:
сколько надо новых столбцов
добавить столбец с запятыми, а затем разделить его по разделителю )
 
Цитата
написал:
добавить столбец с запятыми, а затем разделить его по разделителю )
Не совсем понял.
Уточню, надо добавлять около 10 пустых столбцов с заранее известными мне именами.
Поэтому использовал Table.AddColumn и добавил в каждом новом шаге новый столбец с новым именем,
а функции которая добавляла бы несколько столбцов сразу (типа перечислением: столб1, имя; столб2, имя;  столб3, имя;) не нашел (((
Думал может это как-то в Table.AddColumn можно это сделать, но говорят низя (
 
Цитата
Максим78 написал:
а функции которая добавляла бы несколько столбцов сразу

Добавление таблицы, состоящей из нужных вам пустых столбцов, пример выше приложен.
Изменено: Xel - 02.04.2024 12:29:52
 
да, наверное нужно было ссылку добавить
ссылка
 
Если я правильно понял идею, то можно
первым шагом создать 1 столбец с длинным именем состоящим из нужных мне имён через разделитель
вторым шагом разделить по этому разделителю  
 
Максим78,
нет, имена столбцов записывать не нужно
можно совсем ничего не записывать, только разделители
после разделения столбцы можно переименовать как нужно
 
Спасибо, понял.
Это реально упростит запрос.  
 
Можно использовать связку  List.Accumulate + Table.AddColumn
Код
let
    src = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    newCol = {"1","2","3"},
    addCol = List.Accumulate(newCol, src, (s,c)=> Table.AddColumn(s,c, each null))
in
    addCol
 
Цитата
написал:
Можно использовать связку  List.Accumulate + Table.AddColumn
спасибо, тоже попробую, только про let-in теперь надо больше узнать, чтобы разобраться )))
Страницы: 1
Наверх