Python для вставки / обновления данных ИЛИ какой-нибудь другой инструмент? - PullRequest
1 голос
/ 10 апреля 2020

Вот моя проблема - у меня есть 1 электронная таблица Excel с идентификатором (первичный ключ), именем клиента, именем менеджера, количеством товара, ценой, датой начала и датой окончания (по умолчанию - бесконечность). Этот отчет создается каждую неделю, когда некоторые клиенты могут быть исключены из предыдущего отчета (при этом теряются исторические данные, которые являются известной ошибкой в ​​системе) или добавляются новые клиенты, или имя менеджера / количество элементов может обновляться для существующих клиентов. Цена хранится в другой таблице Excel, в которой указаны ID и цена, цена обновляется динамически.

Мне нужно создать отчет (возможно, в конце месяца) для группировки по каждому менеджеру и клиенту вместе с итогами. Кол-во приобретено до даты вместе с последней ценой.

У меня есть ограничения, чтобы не использовать макрос VBA (политического характера), и я предпочитаю в основном использовать Python. Я не знаком с Python, но очень заинтересован в обучении (на самом деле уже начал проходить через некоторые концепции). Любой человек в организации (все используют Windows 10, 64-битная, 4 ГБ ОЗУ) должен иметь возможность генерировать отчет, поэтому, как только я закончу кодирование sh, мне придется распространять exe-файл кода. Я не уверен, что если я создам exe-файл для Python, то каким образом будет связана БД, поскольку многие люди в организации будут использовать этот инструмент, и отчет должен быть точным. Ниже приведена схема, о которой я подумал и просто хочу, чтобы вы получили экспертное заключение, если это достижимо. поставляется с Python). Это послужит базой данных для всех будущих отчетов. Создайте процесс приема внутрь:

a. Добавление данных в БД при обнаружении нового клиента, которого нет в первоначальном отчете.

b. Когда в последующем отчете клиент отбрасывается, обновите «Дата окончания» исходной записи в БД до даты импорта еженедельного отчета (также выделите эту строку).

c. Когда клиент присутствует в последующем отчете, но «Кол-во» изменяется, но имя менеджера не изменяется, обновите исходную запись в БД с последним Кол-во.

d. Когда клиент присутствует в последующем отчете, но имя менеджера изменяется, но «Кол-во» не изменяется, обновите добавление этой записи в БД из последнего отчета и завершите исходную запись, обновив дату окончания.

e. Всегда выбирайте самую последнюю цену из таблицы цен при окончательной генерации отчета.

Пожалуйста, дайте мне знать ваши мысли, если этот дизайн в порядке, и если Python сможет выполнить все вышеперечисленное без большой сложности?

...