Есть файл с рядом подключений. Столбцы 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 прям со столбцом статуса. Что бы по итогу можно было отфильтровать и отрезать таблицу, где сменились цены и остатки, и товары, которые надо вывести и добавить в оборот.
Это конечно сильно нагло. Но может у Вас в силу гораздо большего опыта есть оптимальное для меня решение?