Table.CombineColumns или где окажется результирующий столбец?
#АнатомияФункций - Table.CombineColumns
Всем привет!
Пилил небольшую задачку и вспомнил один приём, которым и хочу поделиться.
Итак, имеем таблицу, в которой несколько столбцов нужно объединить – в примере просто нужно найти сумму и запихнуть её в столбец "sum". Собственно, ничего сложного – пишем код:
from – таблица,
to – объединяем столбцы {"a","c","e"} и на выходе получаем таблицу со следующим порядком столбцов - {"b","d","sum","f"} – и внимательный читатель заметит, что сумма оказалась на месте столбца "e", т.е. последнего в нашем списке.
Интересно, давайте поэкспериментируем:
to1 – поставили последним столбец "c" и теперь результат оказался на его месте
to2 – а теперь результат вообще вначале, на месте столбца "a", поскольку именно его мы указали последним.
Как-то так – для CombineColumns важен порядок имён в списке объединяемых столбцов – так мы можем сразу регулировать, где окажется результат.
Надеюсь, было полезно.
Всех благ!
@buchlotnik
#АнатомияФункций - Table.CombineColumns
Всем привет!
Пилил небольшую задачку и вспомнил один приём, которым и хочу поделиться.
Итак, имеем таблицу, в которой несколько столбцов нужно объединить – в примере просто нужно найти сумму и запихнуть её в столбец "sum". Собственно, ничего сложного – пишем код:
let
from = #table({"a".."f"},{{1..6},{2..7},{3..8}}),
to = Table.CombineColumns(from,{"a","c","e"},List.Sum,"sum"),//{"b","d","sum","f"}
to1 = Table.CombineColumns(from,{"a","e","c"},List.Sum,"sum"),//{"b","sum","d","f"}
to2 = Table.CombineColumns(from,{"c","e","a"},List.Sum,"sum")//{"sum","b","d","f"}
in
to2
from – таблица,
to – объединяем столбцы {"a","c","e"} и на выходе получаем таблицу со следующим порядком столбцов - {"b","d","sum","f"} – и внимательный читатель заметит, что сумма оказалась на месте столбца "e", т.е. последнего в нашем списке.
Интересно, давайте поэкспериментируем:
to1 – поставили последним столбец "c" и теперь результат оказался на его месте
to2 – а теперь результат вообще вначале, на месте столбца "a", поскольку именно его мы указали последним.
Как-то так – для CombineColumns важен порядок имён в списке объединяемых столбцов – так мы можем сразу регулировать, где окажется результат.
Надеюсь, было полезно.
Всех благ!
@buchlotnik