Страницы: 1
RSS
Создание БД с расчетами в Excel
 
Добрый день, форумчане,

Суть проблемы в том, что назрела необходимость переноса расчетной части данных куда-нибудь из среды excel'я. Количество и сложность расчетов стали достаточно большими, чтобы существенно загружать память и процессор локального компьютера пользователя, но ещё не слишком большими для перехода на радикально другую платформу. Плюс к тому, компания слишком долго и плотно сидела на Excel'е.
Есть желание оставить Excel в качестве фронт-системы для ввода данных и использовать его же для вывода отчетов. Это удобно пользователям для предварительных расчетов перед вводом информации и для обработки отчётов (например, сводными таблицами).
Для понимания ситуации: основная задача БД с расчетами - считать стоимости услуг для контрагентов. Услуг около 100, контрагентов около 500. + Справочники. + Версионность. + Разделение доступа + Необходимость внесения изменений в вид и логику расчета "ещё вчера".
Выглядит не сложно, пока не видишь сформированный лист-БД в 10000 строк с 30 столбцами, половина из которых формулы.
Также для понимания: Excel и vba владею свободно, PQ со словарем))
а связи со всем вышесказанным вопросы:
- Куда девать всю расчетную часть? Если есть опыт, расскажите.
- Не ставлю ли я себе неразрешимую или бессмысленную задачу? Может не надо выпендриваться и сразу идти учить php?
 
Аналитическую расчетную часть надо оставить в ексель, только постараться уйти от функций в макросы.
Цитата
Seregin написал:
Услуг около 100, контрагентов около 500. + Справочники. + Версионность. + Разделение доступа
▲ Вот это всё, по-моему,  прямая обязанность какой-н. СУБД. М.б. для начала  - просто Access. ▲
Цитата
Seregin написал:
Необходимость внесения изменений в вид и логику расчета "ещё вчера".
▲ А это, по-моему, работа в ексель.▲
Цитата
Seregin написал:
Есть желание оставить Excel в качестве фронт-системы для ввода данных и использовать его же для вывода отчетов.
▲ фронт-система - не очень понятный термин. для ввода данных - по-моему - лучше СУБД. Для вывода отчетов - Excel: VBA, Сводные (Pivot Table, Power Pivot), запросы (MS Query, Power Query).

PS
Цитата
Seregin написал:
сформированный лист-БД в 10000 строк с 30 столбцами, половина из которых формулы.
▲ А вот это - не БД. Это эрзац-БД. Суррогат. В БД формул не должно быть (по-моему). Потому что БД - это База Данных, а не База Вычислений.
Изменено: Михаил Лебедев - 20.10.2020 07:39:35
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
Seregin написал:
Услуг около 100, контрагентов около 500. + Справочники. + Версионность. + Разделение доступа + Необходимость внесения изменений в вид и логику расчета "ещё вчера".
Я бы сделал наоборот. Все данные вынес в отдельные файлы, и сделал отдельный расчётный файл.
При расчёте данные подтягивать из баз (отдельных файлов).
Расчёт всегда можно поправить на свежие данные или быстро обновить. Файл будет не тяжёлым, так как в нём не будет висеть вся база со справочниками, а только нужная информация с расчётами.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Ну у медведя свой взгляд на проблему

Цитата
Seregin написал:
назрела необходимость переноса расчетной части данных куда-нибудь из среды excel'я. Количество и сложность расчетов стали достаточно большими, чтобы существенно загружать память и процессор локального компьютера пользователя, но ещё не слишком большими для перехода на радикально другую платформу.
Для указанной задачи нет подойдут решения указанные выше. Перенос расчетов с мощьностей локального пк возможно только при применении клиент серверной архитектуры, где сервер приложения выполняет все операции и тонкий клиент или WEB сервер является только мордой. Но если не говорить о многопользовательском режиме, то
Цитата
Seregin написал:
Выглядит не сложно, пока не видишь сформированный лист-БД в 10000 строк с 30 столбцами, половина из которых формулы.
звучит не убедительно, а вот это
Цитата
Seregin написал:
Excel и vba владею свободно
немного настораживает. Свободное владение не всегда гарантирует правильные и оптимальные решения.  Совершенно недавно пример оптимизации Только не воспринимайте что Вас пытаюсь унизить, просто заявленный объем не сильно пугает при наличии более менее нормального ПК.
По вопросам из тем форума, личку не читаю.
 
Seregin, объём данных не впечатлил. Почитайте обсуждение
В целом, согласен с Alemox по тезису "разделяй и властвуй"  :D
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Seregin, все исходники хранить в отдельных файлах (лучше текст, но можно и xlsx), затягивать это все Power Query в модель данных Power Pivot и там производить все нужные расчеты. 5-10 млн строк на локальном компе - полет нормальный. При том что локальный комп это средненький нубук 2013 года выпуска.
Что можно так считать?
Прогнозирование расходования серьезного ассортимента 3000 позиций на нескольких десятках объектов.
Расчет заказа для пополнения складов без превышения товарного запаса с учетом плана, факта, остатков, приходов.
Факторный анализ всяких отклонений.
Вагон еще всякого, на что хватит фантазии вашего руководства.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх