В чем вы видите главное достоинство электронных таблиц
Электронная таблица является программным обеспечением, предназначенным для обработки данных в табличном формате.
Электронные таблицы обладают некоторыми неотъемлемыми достоинствами:
1. В отличие от бумажных таблиц, электронные таблицы позволяют динамически вычислять результаты, пересчитывая значения в таблице по формулам при изменении исходных данных.
2. Благодаря этой возможности, электронные таблицы могут использоваться для моделирования различных ситуаций и вариантов, позволяя наблюдать за изменением результатов и выбирать наиболее подходящий вариант решения.
3. В табличных процессорах можно создавать, просматривать, отредактировать, сохранить и распечатать документы, известные как электронные таблицы.
4. Также электронные таблицы позволяют создавать отчеты, сводные таблицы, графики и диаграммы различных типов.
5. Электронные таблицы применяются для решения математических, оптимизационных, статистических и других задач.
6. Они также позволяют анализировать, искать, сортировать и выбирать данные на основе определенных критериев, включая числовые и текстовые значения.
Рассмотрим электронную таблицу на примере программы Microsoft Excel.
Электронные таблицы представляют собой матрицу, разделенную на строки и столбцы, образующие ячейки с уникальными именами.
1. При использовании компьютера, электронная таблица представляется в виде рабочего листа с определенным именем (например «Лист 1»).
2. Рабочие листы объединяются в книги, и пользователь может добавлять, копировать, удалять и переименовывать рабочие листы.
3. Ячейки являются основными элементами электронной таблицы, в которые можно вводить данные и на которые можно ссылаться.
4. Одна из ячеек является активной, в нее помещается курсор и вводятся данные, такие как числа, даты, текст и формулы.
5. При необходимости можно выделить несколько ячеек в виде диапазона (например, диапазон А2:А4, С1:Е1 и т. д.).
6. Данные в электронной таблице обрабатываются с помощью команд меню Excel и инструментальных кнопок, расположенных на ленте Office. Каждая вкладка на ленте содержит различные инструменты для работы с рабочими листами.
7. Под лентой находится строка формул, где отображается адрес активной ячейки и сама формула, которая может быть введена вручную или вызвана с помощью кнопки функции.
Информационные технологии. Другие материалы
Электронные таблицы как инструмент разработки бизнес-приложений
В качестве универсального инструмента разработки бизнес-приложений часто используется Excel. В этой статье я предлагаю сравнить электронные таблицы, которые уже более 30 лет остаются практически без изменений, с современной классической императивной парадигмой программирования, с точки зрения архитектора программного обеспечения. Затем я расскажу о своей работе над новым табличным процессором, который устраняет многие недостатки, выявленные в ходе сравнения, и позволяет создавать более надежные, масштабируемые и легкие в обслуживании и развитии бизнес-приложения.
Электронные таблицы и их возможности
Современные электронные таблицы (Microsoft Excel, LibreOffice Calc или Google Sheets) основаны на принципе, появившемся в конце 70-х – середине 80-х годов. В 1979 году VisiCalc впервые представил двухмерный массив ячеек в качестве модели данных, а также возможность автоматических вычислений с использованием формул. Трехмерный массив ячеек (возможность использования нескольких листов) был впервые представлен в 1985 году в Boeing Calc.
В теории, электронные таблицы не уступают любому языку программирования. Существует машина Тьюринга на формулах Excel (линк), что означает, что любой алгоритм, который может быть реализован с помощью компьютера, может быть реализован в Excel. Однако вопрос только в удобстве и эффективности такой реализации.
Таким образом, одну и ту же задачу можно решить как с помощью электронной таблицы, так и с помощью универсального языка программирования. Это позволяет сравнить сильные и слабые стороны этих двух инструментов в качестве средств создания бизнес-приложений. В данной статье мы рассмотрим Excel с точки зрения программиста-архитектора и применим правила архитектуры ПО, которые уже устоялись в классической разработке программного обеспечения.
Достоинства электронных таблиц
Ограничения электронных таблиц
Методы улучшения электронных таблиц
Меня зовут Вадим. Я являюсь CTO в CubeWeaver и уже продолжительное время занят разработкой нового табличного процессора. Несколько лет назад я уже делал упоминание о ранней версии системы, но с тех пор произошло множество изменений, и в этом году проект наконец-то перешел в коммерческую стадию.
Вот список новшеств моего проекта, которые позволяют устранить вышеупомянутые ограничения, сохраняя при этом преимущества, свойственные электронным таблицам:
Многомерная модель данных
Модель данных для анализа, используемая в отрасли Business Intelligence и OLAP, широко распространена в виде многомерного куба с заголовками граней, содержащих информацию о бизнес-объектах:
В программном интерфейсе отображается двумерный срез куба, соответствующий выбранным фильтрам:
В реляционных BI-системах для реализации такой модели часто используют схему «снежинки». Кубы представлены в виде таблиц фактов, а заголовки на гранях хранятся в таблицах измерений.
В моей системе кубы называются «рабочими листами», а заголовки граней куба — «элементами списков».
Каждая ячейка многомерного рабочего листа имеет уникальный адрес, состоящий из названий граней. Например, значение 935 на изображении имеет адрес: Bikes, 2020, Paris.
В ссылках на ячейки используются идентификаторы, и вышеуказанный адрес мог бы в формуле выглядеть так (ссылки заключаются в квадратные скобки):
Использование многомерной модели позволяет улучшить ситуацию с проблемой номер 1. Во-первых, заголовки отделены от числовых данных. Во-вторых, введение дополнительной метрики или позиции отчета позволяет адресовать ячейки по смыслу, исключая ошибки, связанные с добавлением или удалением столбцов или строк.
Конечно, нужно отметить, что такой подход может усложнить использование модели. Но опыт показывает, что большинство пользователей достаточно быстро привыкают к новой модели данных благодаря двумерному представлению куба.
Функция JOIN и метаданные
Использование многомерной модели позволяет описывать ячейки с помощью метаданных. Как уже упоминалось выше, каждая ячейка рабочего листа соответствует определенному набору элементов списка, например, году, продукту и точке продажи. Эти списки, в свою очередь, могут иметь атрибуты или колонки, что делает их похожими на обычные реляционные таблицы. Например, можно добавить атрибут «валюта» к списку «точка продажи», чтобы связать их в реляционную структуру с кардинальностью отношения many-to-one.
Функция JOIN позволяет динамически ссылаться на ячейки, используя такую связь. Она заменяет функцию VLOOKUP и устраняет необходимость работы с индексами.
Для примера, чтобы посчитать сумму продаж по всему миру, сначала необходимо преобразовать сумму продаж для каждой страны в единую валюту, умножив значение «продажи» на курс обмена. В Excel мы бы создали две таблицы: список стран с их валютой и список валют с соответствующими курсами обмена. Для нахождения верного курса мы использовали бы функцию VLOOKUP дважды: для поиска кода валюты по названию страны и для нахождения курса обмена по коду валюты.
Цепочки связей могут иметь любую длину, как, например, STORE.join(COUNTRY).join(CURRENCY).
На самом деле, при построении модели мы создаем схему, напоминающую снежинку. Функция JOIN позволяет формулам динамически ссылаться на ячейки рабочих листов, используя связи между таблицами (списками) этой схемы. При этом зависимости между ячейками явно указаны в аргументах функции JOIN.
Зона действия формул
Использование возможности задать зону действия формулы (area of effect) может избавить от необходимости копирования формулы.
Для каждого измерения куба мы указываем набор элементов, на которые влияет формула, такие как: все года, продукты типа «велосипед», положение отчета «выручка». На практике это может выглядеть например так (Цель формулы обозначена синим цветом, аргументы — красным и оранжевым. Список выбранных элементов для каждого измерения находится внизу экрана):
Этот подход устраняет недостаток номер 2 и позволяет добавлять и удалять элементы или даже измерения, не изменяя формулу. Кроме того, нет необходимости искать все ячейки, в которые была скопирована формула, каждый раз, когда нужно ее изменить.
Интерактивность ячеек
Это нововведение предоставляет возможность создавать интерактивные интерфейсы с использованием формул. Формулы позволяют не только вычислять значения ячеек, но и форматировать их (формат ячейки), изменять цвет (цвет ячейки), а также скрывать или отображать группы ячеек, целые строки или столбцы (видимость ячейки). В ячейках можно форматировать не только числа, даты и текст, но и добавлять кнопки, флажки и выпадающие списки.
Таким образом, например, цвет ячеек может меняться в зависимости от значения ячейки. Флажки или списки выбора на одном листе могут управлять видимостью, скрытием или блокировкой записи ячеек на другом листе.
Кнопки в ячейках позволяют создавать сложные операции со значениями ячеек. При создании кнопки мы задаем диапазон ячеек, к которым применяется операция, а также формулу, которая будет выполнена только один раз для каждой целевой ячейки. Кнопка может содержать несколько операций. Например, при нажатии на кнопку можно скопировать данные с предыдущего года в следующий год или распределить контент ячейки между несколькими ячейками пропорционально заданному значению (рассеивание).
Кнопки в сочетании с ограничениями доступа пользователей позволяют создавать функциональность, которую нельзя отменить. Например, если пользователю разрешен доступ к кнопке, но запрещен доступ к целевой ячейке, он сможет записать в ячейку только то, что разрешает формула в кнопке.
Заключение
Новое приложение для работы с таблицами дает возможность создавать более сложные модели, чем в других системах, при этом сохраняя их простоту и понятность. Благодаря этому снижается вероятность ошибок в формулах.
Однако, для использования этой системы необходимо обладать некоторыми навыками. Пользователю нужно создать модель данных в виде списков и кубов перед началом работы.
В целом, данная система предназначена для технически подкованного пользователя, такого как экономисты с базовыми знаниями программирования или программисты, занимающиеся экономическими моделями, в отличие от Excel.
Если у вас есть вопросы, я буду рад ответить на них в комментариях или личных сообщениях. Вы также можете найти документацию и обучающие видео по системе в интернете.