Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Power Query поэлементное сумирование двух списков., Для собственного развития
 
Доброго дня, форумчанам.
Прошу помочь с таким вопросом:
Дано: 2 списка List1 и List2, они могут быть разного размера с элементами типа Number
Нужно: суммировать соответствующие элементы  чтобы получить на выходе List3
Сейчас решаю проблему не очень красиво, но хотя бы известным мне способом:
Код
let
    List1 = {1,2,3},
    Table1 = Table.FromList(List1, Splitter.SplitByNothing(), {"Column1"}, null, ExtraValues.Error),
    Indexed1 = Table.AddIndexColumn(Table1, "Индекс1", 1, 1),

    List2 = {-1,0,0,0},
    Table2 = Table.FromList(List2, Splitter.SplitByNothing(), {"Column2"}, null, ExtraValues.Error),
    Indexed2 = Table.AddIndexColumn(Table2, "Индекс2", 1, 1),

    Joined = Table.Join(Indexed1,{"Индекс1"},Indexed2,{"Индекс2"},JoinKind.FullOuter),
    List3 = Table.AddColumn(Joined, "Сложение", each List.Sum({[Column1], [Column2]}), type number)[Сложение] 
in
    List3 //={0,2,3,0}
Изменено: PooHkrd - 6 Апр 2018 12:39:14
 
Доброе время суток.
Вариант.
Код
let
    list1 = {1, 2, 3},
    list2 = {-1, 0, 0, 0},
    join = List.Zip({list1, list2}),
    result = List.Transform(join, each List.Sum(_) )
in
    result

Успехов.
 
Андрей VG, отлично работает. Огромное спасибо!
Начинаю погружение в работу со списками.
 
Скрытый текст
F1 творит чудеса
 
Цитата
Максим Зеленский написал:
джойнить списки 1:1 можно и без джойна
Спасибо, Максим.
Я уже заметил, что работа со списками это отдельный мир, который значительно упрощает жизнь. Сегодня весь день офигеваю на сколько упрощается код при создании доп. столбцов такими методами, но с другой стороны передавать такие знания коллегам уже очень сильно не просто. И баги ловить тоже сложнее.  :(
Изменено: PooHkrd - 6 Апр 2018 17:11:09
 
PooHkrd, ну, без редактора формул со списками делать особо нечего, кнопочный интерфейс сильно ограничен - оно и понятно, редко когда для кнопочного юзера надо что-то делать именно со списком, а не с таблицей.
F1 творит чудеса
Страницы: 1
Читают тему (гостей: 1)