Страницы: 1
RSS
PQ. Применение функций к определённому списку полей., В параметры функции Table.TransformColumnTypes необходимо передать список полей, а не перечислять поля.
 
Здравствуйте!

Прошу помочь с решением задачи.
У меня есть таблица "Данные" с 21-м полем. В этой таблице я оставил только те поля, которые имеются в списке "Список полей".
Т.е. выполнил следующий запрос:
Код
ФильтрацияПолей = Table.SelectColumns(Источник,СпискоПолей)


Вопрос:
Как применить аналогичный сценарий к функции Table.TransformColumnTypes (например).
Я выполняю следующий запрос:
Код
    ИзменениеТипаДанных = 
        Table.TransformColumnTypes(
            ФильтрацияПолей,
            СпискоПолей, 
            type text
        )

Получаю ошибку.

Прикладываю файл примера с готовыми запросами.
 
Так надо?
Код
= Table.TransformColumnTypes(
            ФильтрацияПолей,
            List.Transform(СпискоПолей, each {_,type text})
            )
Вот горшок пустой, он предмет простой...
 
Еще можно попробовать вот так:
Код
= List.Accumulate(СпискоПолей, ФильтрацияПолей, (state, current)=> Table.TransformColumnTypes(
            state,
            {{current, 
            type text}})
        )
 
Andrey_S, а зачем в цикле типизировать одну и ту же таблицу столько раз, пусть и по разным столбцам, если можно аккумулятором собрать список преобразований, а потом уже их применить один раз к таблице?
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
а потом уже их применить один раз к таблице?
только вопрос каким образом на самом деле происходит преобразование - по скорости разницы нет, не удивлюсь, что к списку списков преобразований применяется тот же самый аккумулятор, но в неявном виде
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, не мерил, но ранее то ли от Андрея VG, то ли от Зеленского Максима была инфо, что аккумулятор в каждом цикле просчитывает всю операцию целиком, причем с учетом ленивых вычислений на каждом следующем шаге происходит пересчет всех предыдущих. На маленьком примере типизация может происходить быстро, а вот когда типизация происходит после сбора гига текстовых источников и некоторых преобразований над этим объемом, то что там будет это большой вопрос.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
Так надо?
Да, всё работает. Благодарю!  
 
Andrey_S, благодарю!  
Страницы: 1
Наверх