Альтернатива Excel для любителей разделять данные, логику и представление

 Публичный пост

Ситуация

Меня очень раздражает в Excel, что данные, формулы и форматирование все пихаются в одно место. Возможно я просто не наловчился им пользоваться, но мне это мешает в работе.

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

Что я хочу найти в инстументе мечты

Хочется, какое нибудь решение, где бы я отдельно писал данные в виде табличек БД или отдельных ячеек, отдельно data flow зависимостией разных формул, отдельно какие результаты показывать и как.

Я хочу видеть граф зависимостей между формулками и входными данными. Это позволит например копировать его целиком, или брать готовый из библиотеки, при этом не привязываясь к форматированию и тд. Помимо удобства в редактировании, такой подход может принести кучу нового функционала, который сейчас использовать сложно.

Что я нашел в известных решениях

Знаю решения, которые добавляют поддержку нормальных таблиц, как в БД. В MS Excel некие "умные таблицы", в Google Spreadsheets есть диалект SQL. Но в остальном все на таблицах, по прежнему. Airtable же полностью как БД работает, как я понимаю. Но он, вроде, не дает возможности делать сложные многоуровневые формулы, как Excel, только выборки.

11 комментариев 👇

Я бы советовал получше разобраться с Excel. ИМХО, это лучший инструмент для работы с "околобытовыми" данными (ну, скажем, срок до 10к).

На семинаре McKinsey по экселю как раз учили, что хранить данные отдельно, а формулы - отдельно это бест практис (а эти ребята понимают в эффективности - у них есть семинар по использованию TrackPoint :).

Чтобы не мучаться с перетаскиванием формул - есть именованные диапазоны и $. А функционалом What-If Analys (подбор параметров) можно в одну кнопку сделать выгрузку значений функции в зависимости от изменения параметров. А дальше - сводные таблицы (Pivot Table) и PowerQwery - для работы с БД из окошка экселя. И все в один клик.

Еще большой плюс экселя - очень много информации в сети.

  Развернуть 1 комментарий

😱 Комментарий удален его автором...

  Развернуть 1 комментарий

Много странных советов. Особенно порадовали любители matplotlib, такое чувство, что люди ничего другого не видели.

Excel по сути язык ФП (функионального программирования), где в ячейки встраиваются функции. Графическая форма таких программ - это обычно дерево или граф. Такая форма прижилась только среди 3D дизайнеров.

Альтернатива пока - это написание программы на языке в IDE с подпорками в виде интерактивных результатов и графиков. Данные берутся или из файлов (СSV, XSLX) или из встроенной базы (SQLite) или грузятся с сервиса (Yahoo Finance).

Получается сочетание модулей на языке, графиков и исходных данный в виде файликов. Эксель имеет всё в одном - это его достоинство и недостаток.

Теперь разверну тезисно:

Во-первых, есть язык R. Его IDE (RStudio), системы визуализации (ggplot) и библиотеки во многом лучше Питона. Особенно для исследователей. Python - это про программирование в большей степени, чем про математику. R - это таки про математику. Для интерактивных приложений на R (Web, SPA) есть система Shiny - это веб фронт или контейнер. В нём можно расчётный R код превратить в 2 строчки в приложение. И никаких Django и прочих Реактов не нужно.

Во-вторых, если таки Питон, то рекомендую среду Jupyter в варианте JupyterLab (с плагинами). Забудьте статические рисовалки такие как matplotlib. Они для динозавров из 90х. Сейчас 2020й, и есть библиотеки получше. Графики и интерактивные чарты (как 2D, так и 3D) делаются при помощи Plotly и Plotly Express (есть плагин для JupyterLab). Для быстрого развертывания приложения в браузере есть Dash. Для Dash есть компонент, рисующий интерактивный граф со сверткой/развёрткой по клику на ноде.

В-третьих, у Экселя есть чудовищные пробелы и недостатки, которые перевешивают все достоинства. Но про это нужен отдельный пост.

  Развернуть 1 комментарий

@arp, да, в экселе одни загоны с форматированием чего стоят. Например, переносишь в американский эксель русский документ и все перестает работать. Причем и на уровне скриптов тоже. Сцук, надо же так криво сделать было! Оно не обрабатывает разделители разрядов или адресацию на уровне семантики, тупо в текст конвертит, который зависит от локали (много фейспалмов). Гугл шит кстати тоже себя ведет подобным безобразным образом.

  Развернуть 1 комментарий

@arp, плюсую за plotly! R - больше даже про статистику, что-нибудь быстренько прогнать.

  Развернуть 1 комментарий

Я использую связку pandas + matplotlib/seaborn для визуализаций данных. В пандасе можно делать sql запросы, groupby операции и почти что угодно на твоих данных. Matplotlib/seaborn дают тоже больший простор для визулизации чем стандартные графики экселя.

Это не совсем отвечает на твой вопрос, поскольку тебе нужен граф зависимостей, но если тебе не очень нужен граф, то связка pandas + matplotlib очень сильно расширяет возможности для визуализации данных по сравнению с обычным экселем.

  Развернуть 1 комментарий

@undeaddy, Да я пока визуализацию почти не использую. Ну и пойнт вопроса про готовое GUI решение, про всякий упоротый питон я знаю.

Кстати, мой опыт работы с matplotlib негативный - много нужно париться для элементарных вещей. Я бы стразу seaborn юзал.

Спасибо за вариант.

  Развернуть 1 комментарий

Microsof Power BI - достаточно сильный инструмент, позволяющий разделять данные, формулы и представление.
Из недостатков - не особо зашёл язык запросов

  Развернуть 1 комментарий
Дима Черненьков коучу с терапевтическим уклоном, пишу, делаю движухи, на работе получаю 💰 за скучное 7 октября 2020

😱 Комментарий удален его автором...

  Развернуть 1 комментарий

перечитал, бесполезно полностью. Плюс за Pandas, короче.

  Развернуть 1 комментарий

По теме - sqlite весьма благодатная база для однопоточных задач и всякого эмбеда (содержится вся в одном файле, кроссплатформенная). К ней есть визуальные редакторы. Процессор и вьюху можно сварганить на юпитер ноутбуке. Для работы с данными в одно рыло это кажется самое простое/функциональное, что можно придумать.

  Развернуть 1 комментарий
Vlad Zaitsev Architect & Product Owner 8 октября 2020

попробуйте посмотреть на https://totum.online

  Развернуть 1 комментарий

Microsoft Access

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб