Страницы: 1
RSS
PQ. Создать столбец со значениями из одной конкретной ячейки., Как?
 
Здравствуйте.
Нужно получить новый столбец, во всех ячейках которого будут значения первого элемента первого столбца.
Так

Унылая попытка


P/S/ Полагаю, PQ-мастерам файл с кодом не понадобится.
Изменено: Сергей Евдокимов - 23.11.2021 06:59:01
Компьютер никогда не заменит человека (©️ Hannibal Lecter)
 
попробуйте #"Измененный тип"[Column1]{0}
#"Измененный тип" - это ссылка на передушивший шаг
Изменено: azma - 23.11.2021 07:13:25
 
azma, нее. Инструмент на скрине сам предыдущий шаг в код добавляет. Ни в этом траблик.
Компьютер никогда не заменит человека (©️ Hannibal Lecter)
 
если вы не добавите название передающего шаг (#"название передающего шаг") перед  [Column1]{0} то  PQ ошибку даст
нужно добавить
Изменено: azma - 23.11.2021 07:24:16
 
Цитата
: если вы не добавите
Цитата
: Инструмент... добавляет
В коде шаг добавлен!
Компьютер никогда не заменит человека (©️ Hannibal Lecter)
 
Сергей Евдокимов, вот Вы Фома Неверующий :)
Где у Вас ссылка? В первом аргументе addcolumn? Так это ссылка на таблицу, к которой нужно добавить столбец.
В итераторе addcolumn Вы не обращаетесь к столбцу Column1. Вы обращаетесь к полю Column1 каждой строки (каждая строка является записью).
Поэтому перед [Column1]{0} добавьте имя предыдущего шага: #”Измененный тип”[Column1]{0}.
Вам azma все правильно пишет.

Корректно так:
addClmn = Table.AddColumn ( "#"Переупорядоченные столбцы", "Счет", each #"Переупорядоченные столбцы"[Column1]{0} )
Изменено: surkenny - 23.11.2021 07:55:05
 
Цитата
azma написал:
если вы не добавите название передающего шаг (#"название передающего шаг") перед  [Column1]{0} то PQ ошибку даст
Не совсем так. Возможно, в столбце Column1 в каждом значении содержится список и Вам из этого списка нужно первое значение. Тогда Table.AddColumn ( table, "newClmn", each [Column1]{0} ) отработает без ошибок.
В примере Сергея, в столбце Column1 просто значение, отсюда и ошибка.
 
Действие

Ошибка

Доказательство наличия в коде предыдущего шага

P/S/ Содержание другое, но форма абсолютно та же.

Цитата
surkenny написал:
вот Вы Фома Неверующий
Да.
Изменено: Сергей Евдокимов - 23.11.2021 08:02:30
Компьютер никогда не заменит человека (©️ Hannibal Lecter)
 
Цитата
написал:
Доказательство наличия в коде предыдущего шага
ну это уже просто писец. Сергей, Вы бы читали внимательно что ли, что Вам пишут. Два человека написали как надо, а Вы все пишете чушь и пишете.
Вам уже прямо на пальцах указали - дописать ссылку на предыдущий шаг необходимо прямо при создании столбца:
Код
#”Измененный тип”[Договор из 1С]{0}
а Вы упорно пытаетесь доказать, что он там есть. Но он НЕ ТАМ, где Вам советуют его добавить. Он присутствует в части добавления столбца, но не в части создания вычисления. И должен он быть и там и там.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Сергей Евдокимов,
Еще раз:

Жирным выделено обращение к полю Договор из 1С КАЖДОЙ строки:
Tabble.AddColumn ( #"Измененный тип", "Счет", each [Договор из 1С]{0} )

Жирным выделено обращение к столбцу Договор из 1С таблицы из шага Измененный тип:
Tabble.AddColumn ( #"Измененный тип", "Счет", each #"Измененный тип"[Договор из 1С]{0} )

Заметили разницу?

P.S. Уважаемые модераторы, Сергей плохо видит (или смотрит) :) Растянул, чтобы было заметнее.
P.P.S. Вообще я бы вынес значение первой строки в отдельный шаг. Есть вероятность, что итератор addcolumn будет пересчитывать это значение, если его отдельно не вычислить:
Код
  value = #"Переупорядоченные столбцы"[Column1]{0}, 
  #"Добавлен пользовательский объект" = Table.AddColumn ( #"Переупорядоченные столбцы", "Пользовательский", each value )
Изменено: surkenny - 23.11.2021 08:29:13
 
Цитата
surkenny написал: Заметили разницу?
Теперь да.
Признаю, что все "обвинения" в мой адрес справедливы. Будет мне поделом.
Спасибо azma, что обошелся без низ. И всем спасибо за помощь.
Изменено: Сергей Евдокимов - 23.11.2021 09:12:28
Компьютер никогда не заменит человека (©️ Hannibal Lecter)
 
Сергей Евдокимов, вариант из поста №10 самый верный с точки зрения быстродействия, настоятельно рекомендую использовать именно его.
Вот горшок пустой, он предмет простой...
 
PooHkrd, хорошо. Спасибо.

P/S/ хоть мне в этой задаче быстродействие не так критично (объемы не те), но правильно сконструированный код - отдельная для души отрада.
Еще раз вам спасибо.
Изменено: Сергей Евдокимов - 23.11.2021 09:53:31
Компьютер никогда не заменит человека (©️ Hannibal Lecter)
Страницы: 1
Наверх