Страницы: 1
RSS
Поиск измененных значений между разными файлами. Вывод измененых значений в отдельную таблицу., Реализация алгоритма проверки данных в колонках по ключевому значению.
 
Добрый день уважаемые форумчане. Помогите реализовать проверку данных в колонках по ключевому значению. Сверка значений должна происходить в разных файлах excel, с выводом измененных значений на момент проверки в другой файл с табличным оформлением. На компьютере стоит пакет MS Office 2010.
На текущий момент весь анализ провожу глазками. С формулами не сталкивался. Как по мне, условий много, из за чего писал много, дабы раскрыть все детали анализа.

Столбцы A / B / C / G - хранили конфиденциальную информацию и для оформления примера были отчищены от содержимого. Содержимое других колонок были изменены на более приятные к нашему слуху значения, но суть анализа не изменилась.

Как работает система?
Имеется система учета поставки товаров до потребителя. Заполняется она удаленно, всеми поставщиками товаров. Вся информация собирается в одну БД. Система делает выгрузку БД на HDD, каждые 7 день после окончания рабочей недели, всех доставленных товаров со своими внутренними параметрами. В итоге получаем excel файлы с разными датами выгрузки, но с недельным периодом.

Задача стоит следующая.

Сравнивать файлы предыдущей выгрузки с  выгрузкой текущей. Если изменения имеются, то внести их в таблицу (назовем ее Сводные данные) с пометкой даты сверки. При наступлении следующей выгрузки, проверять с предыдущей, снова внести все изменения в таблицу "Сводные данные" со пометкой даты сверки. И так не переставая, сравнивать одну выгрузку с другой, и вносить изменения.

Структура выгружаемого файла не меняется, меняется только его содержимое. Это изменение и надо найти в файлах между разными датами выгрузки.
Система присваивает имена выгружаемым файлам в следующем формате.
hardware_2019-09-15
hardware_2019-09-22
hardware_2019-09-29
hardware_2019-10-06

Для примера прикрепил файлы с данными и файл "Сводные данные" куда необходимо собирать всю измененную информацию.

Название столбцов в файлах типа hardware_:
Столбец D - SITE - Место доставки товара. Потребитель. (значение является ключевым для проведения сверки между файлами выгрузки).
Столбец E - BOARD_TYPE - Тип доставленного товара.
Столбец F - BOARD_SUM - Количество доставленного товара (неразрывна с колонкой BOARD_TYPE).
Столбец H - SITE_TYPE - Откуда пришел товар.
Столбец I - Power Type - В какой таре пришел товар.

 

Сверяются следующие столбцы в файлах с данными, в той же последовательности и выводятся в таблицу при ее обнаружении.

Столбец E - BOARD_TYPE и Столбец F - BOARD_SUM из предыдущей выгрузки, с Столбцом E - BOARD_TYPE и Столбцом F - BOARD_SUM текущей.

Столбец H - SITE_TYPE из предыдущей выгрузки, с Столбцом H - SITE_TYPE текущей.

Столбец I - Power Type из предыдущей выгрузки, с Столбцом I - Power Type текущей.


Методы анализа.

Если в Текущем и Предыдущем файле данные в колонках совпадают то это означает - что тип и список товара не менялся.


Если в Текущем файле появилась новая запись по типу и количеству товара, а в Предыдущем файле такой записи нет – то это означает доставка нового товара.

Если в Текущем файле отсутствует запись по типу и количеству товара, а в Предыдущем файле запись имеется – то это означает не поставку товара, ранее поставляемого товара.


Если в Текущем файле изменилось количество товара без изменения имени в большую сторону, исходя из данных о количестве и имени товара в Предыдущем файле - то это означает доставка нового товара.

Если в Текущем файле изменилось количество товара без изменения имени в меньшую сторону, исходя из данных о количестве и имени товара в Предыдущем файле - то это означает не поставку товара, ранее поставляемого товара.


Таблица "Сводные данные" должна хранить в себе все найденные изменения по всем дням сверки.
Сверка происходит между новым выгруженным файлом и предыдущим. Найденные значение вносят в таблицу. При появлении новой выгрузки, снова делается сверка между новым выгруженным файлом и предыдущим, со смещением на неделю.
Пример:
Имеем две выгрузки
hardware_2019-09-15 и hardware_2019-09-22.

Выгрузка hardware_2019-09-22 сравнивается с выгрузкой hardware_2019-09-15. Найденная информация записывается в файл и сохраняется под именем hardware_2019-09-22

Выгрузка hardware_2019-09-29. Она ужа сравнивается с выгрузкой hardware_2019-09-22. Найденная информация записывается в файл и сохраняется под именем hardware_2019-09-29

Выгрузка hardware_2019-10-06 уже сравнивается с hardware_2019-09-29 ну и т.д.

 
Изменено: Waster - 28.10.2019 15:03:55 (Уменьшил файлы, сократил объем значений в примерах. Заполнил файл "Сводные данные" как пример того что должно получится.)
 
Удалил все файлы из сообщения, так как не знаю, какие оставить.
Waster, пора бы уже ознакомиться с правилами. После этого добавьте файлы в сообщение. И ведь можно же сделать небольшие примеры?.  
 
в PQ крутил-крутил  -  так и не докрутил. не знаю как прикрутить ко всем таблицам
 
Цитата
artyrH написал:
в PQ крутил-крутил  -  так и не докрутил. не знаю как прикрутить ко всем таблицам
У меня такая же ситуация, все на все накладывается. В итоге что то отображается, а что то исчезает куда не могу понять. Сейчас свел все в сводную таблицу, хоть что то начало вставать на свои места, Пока анализ провожу с помощью сводной, но Excel ограничивает меня количеством строк. 1048576 строк маловато будет, надо еще миллиона так 5 чтоб всю БД залить в него. Сейчас изучаю вариант переноса все в Access, вроде как на форуме пишут что можно создать связи между БД Access и сводной таблицей Excel. Проблема только в том что с Access я не работал, но инфы много, вдруг что то да и получится.
 
Цитата
Waster написал:
1048576 строк маловато будет
Цитата
Waster написал:
весь анализ провожу глазками
я просто угораю :D

в принципе, с моим вариантом можно сравнивать две таблицы за два дня. а потом копипастом дополнять основную таблицу. надо добавить еще таблицу для выбора таблиц для сравнения.
сравнение то правильное? не совпадает с примером  
 
Цитата
artyrH написал:
сравнение то правильное?
Ваш вариант у меня открывается как обычная таблица. Предполагаю, что для отображения ее работы, нужна доп программа PQ. Она на рабочем компьютере не установлена, права урезаны админом. Ничего самостоятельно устанавливать не могу. Вечером, дома на своем компьютере посмотрю как реализована сверка.
Страницы: 1
Наверх