Страницы: 1
RSS
PQ. Неявное перечисление аргументов Text.Combine
 
Здравствуйте, уважаемые знатоки
Подскажите, пожалуйста, как в функции Text.Combine уйти от явного перечисления аргументов и использовать импортируемый список с названием столбцов
Поиском пользовался, но, видимо, плохо
Код
let
    ColName= Table.ToList(Excel.CurrentWorkbook(){[Name="col"]}[Content]),
    Таблица = Excel.CurrentWorkbook(){[Name="таб"]}[Content],
    Combine = Table.AddColumn(Таблица, "Combine", each Text.Combine({[a], [b]}, ""), type text)
in
    Combine
 
Student64, я сам студент)
Изменено: Михаил Л - 10.07.2020 15:56:29
 
Михаил Л, с этого начал... Но он воспринимает их как текст. Т.е. в каждой строке будет "ab"
 
Student64, коротко не получилось
Код
= Table.AddColumn(Таблица, "Combine", (i)=> let a=Record.SelectFields(i,ColName) in Text.Combine(Record.ToList(a)," ") )
 
Михаил, большое спасибо!
 
Цитата
Михаил Л написал:
коротко не получилось
Можно и по-длиннее:
Код
= Table.AddColumn(
    Таблица, 
    "Combine", 
    Expression.Evaluate( "each Text.Combine({"&Text.Combine( List.Transform( ColName, each "["&_&"]"), "," )&"} )", #shared ), type text)
Вот горшок пустой, он предмет простой...
 
Спасибо, Алексей. Тоже думал, что здесь Evaluate нужен, но до такой конструкции не догнал...
 
Да ну, все проще :)
Код
= Table.AddColumn(Таблица, "Combine", each Text.Combine(Record.FieldValues(Record.SelectFields(_,ColName)), ""), type text)
F1 творит чудеса
 
Максим Зеленский, да это я развлекаюсь. Понятно что проще. Собственно Михаил выше ровно тоже самое изобразил, только не через FieldValues, а через ToList.
Кстати, а мне одному кажется что это две функции с полностью идентичным функционалом? Или есть какие-то нюансы, мне неведомые?
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
две функции с полностью идентичным функционалом
Насчет остального полностью не уверен, а вот по времени отработали запросы, можно сказать, одинаково
 
PooHkrd, одинаковые ли у них исходные коды - бог его знает, я даже допускаю, что одна вызывает другую (не раз такое видел), но то, что вход и выход у них идентичны - факт
F1 творит чудеса
Страницы: 1
Наверх