Страницы: 1
RSS
Сравнение подключенных таблиц power query
 
Есть файл с рядом подключений.
Столбцы Name, Barcode, Available, Price - приведены в одинаковый вид.
Вопрос как сделать "сводную с этих подключений" лист sum.
У меня проблема с тем что бы по столбцам разнести поставщиков.
Файл https://drive.google.com/open?id=1T6WkJtN3WiShsBaALFPPyBKV7tUS2Mkn
 
Доброе время суток
Цитата
Ermakov_dm написал:
как сделать "сводную с этих подключений" лист sum.
Как-то так
Код
let
    fn = (source, prefix) => 
    let
        typed = Table.SelectColumns(source, {"Barcode", "Name", "Price", "Available"}) ,
        prefixed = Table.PrefixColumns(typed, prefix)
    in
        [source = prefixed, joinCols = List.Range(Table.ColumnNames(prefixed), 0, 2)],
    cfo = fn(Excel.CurrentWorkbook(){[Name="cfo_group_ru"]}[Content], "cfo"),
    toy = fn(Excel.CurrentWorkbook(){[Name="toymart_ru"]}[Content], "toy"),
    
    join = Table.Join(cfo[source], cfo[joinCols], toy[source], toy[joinCols], JoinKind.FullOuter),
    setName = Table.AddColumn(join, "Name", each if [#"cfo.Name"] = null then [#"toy.Name"] else [#"cfo.Name"]),
    setBarcode = Table.AddColumn(setName, "Barcode", each if [#"cfo.Barcode"] = null then [#"toy.Barcode"] else [#"cfo.Barcode"]),
    #"Removed Columns" = Table.RemoveColumns(setBarcode,{"cfo.Barcode", "cfo.Name", "toy.Barcode", "toy.Name"}),
    #"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"Name", "Barcode", "cfo.Price", "cfo.Available", "toy.Price", "toy.Available"})
in
    #"Reordered Columns"

Только между таблицами есть пересечения только по Barcode, но для равных Barcode не совпадают названия Name. Составлено именно так, как указано на листе Sum. Думаю, поймёте принцип - сможете сделать как надо.
 
Красиво. Все работает. Спасибо огромное))))
Пытаюсь разобраться как мне добавить остальных поставщиков. Но пока туго заходит.
Может есть видео урок близкий или статья?
А то мне еще 9 поставщиков добавить надо и еще одна привязка будет к своей базе итого 10!
На тему дублей штрих кода (Barcode) я их обнаружил но их всего несколько и они я их убрал.
Я так и подразумевал что сквозное ключевое поле это Barcode.
 
 
Цитата
Ermakov_dm написал:
А то мне еще 9 поставщиков добавить надо
А каков в таком выводе практический смысл? Вы потом будете глазами пробегать, что сравнить их между собою?! Может всё же продумать, что вы на самом деле хотите сделать с этими десятью таблицами и описать вопросом (может быть и несколькими темами)?
Ответ на вопрос в личке - да это написанный руками код, кроме последних двух шагов.
 
Я не прав, наверное.
Задача до банальности простая. Обновление – остатков, цен, снятие с продажи и мониторинг, и добавление новых позиций в каталог магазина.

План был такой:
1.       Подключение внешних прайс листов. Подключил, привел к единому виду поля с которыми дальше необходимо проводить операции.
2.       Сравнение 11 (тут нюанс такой что они могут меняться) внешних поставщиков с прайсом магазина. Ключевое поле (баркод). Есть товары без баркода но их не много – позже придумается. Есть псевдо баркоды – это те, что с кириллическими буквами – но в данном случае они подойдут. Планировал по этой инструкции https://www.youtube.com/watch?v=GtLA46niHlE&t=677s прям со столбцом статуса. Что бы по итогу можно было отфильтровать и отрезать таблицу, где сменились цены и остатки, и товары, которые надо вывести и добавить в оборот.

Это конечно сильно нагло. Но может у Вас в силу гораздо большего опыта есть оптимальное для меня решение?
Изменено: Ermakov_dm - 26.01.2020 17:10:43
 
Это не нагло. а описание, ТЗ на платное решение )
Перенести в Работу? Или я не увидел конкретного вопроса?
 
Давайте перенесем в работу если так правильно.
Раз меня перенесли в работу.
Андрей VG,  есть ли у Вас возможность взяться за мою задачу?
 
Доброе PooHkrd
Как и договаривались во вложении все материалы.
Изменено: Ermakov_dm - 30.01.2020 15:38:56
Страницы: 1
Наверх