Динамические формулы для ячеек электронной таблицы

Иллюстрации

Показать все

Изобретение относится к области электронных таблиц. Техническим результатом является повышение эффективности обработки данных с использованием электронных таблиц. Несколько формул ассоциируются с одной ячейкой электронной таблицы. Базисная формула представляет фактическое значение, извлеченное из источника данных. Корректировочные формулы представляют формулы для вычисления корректировок к значению, которое содержится в ячейке, и другие формулы могут представлять другие сценарии вычисления. Каждая из формул, ассоциированных с ячейкой, обновляется и корректируется динамически, чтобы реагировать на изменения где-то в другом месте электронной таблицы, так что пользователь может пересчитать всю электронную таблицу и переставить формулы в электронной таблице, соответственно заставляя обновляться формулу внешних данных и все корректировочные формулы, которые могут существовать в той же ячейке. 3 н. и 17 з.п. ф-лы, 3 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

Компании часто выполняют анализ "что-если", чтобы определить, какое влияние на бизнес-единицу имели бы изменения в одном или нескольких значениях. Например, при выполнении операций бюджетирования и прогнозирования, или просто сбора хозяйственных показателей, компании часто опираются на решения по анализу "что-если", которые позволяют им скорректировать существующие цифры, а затем вычислить влияние той корректировки на зависимые цифры. Для более сложных сценариев эти корректировки могут выполняться с использованием формул вместо статических значений.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

Более одной формулы ассоциируется с одной ячейкой электронной таблицы. Одна из формул является базисной формулой и представляет собой фактическое значение, извлеченное из источника данных. Другая из формул представляет корректировочную формулу, которая используется для вычисления корректировки для значения, содержащегося в ячейке. Другие корректировочные формулы могут представлять другие отличные сценарии вычисления. Формулы, ассоциированные с ячейкой электронной таблицы, обновляются и корректируются динамически, чтобы реагировать на изменения где-то в другом месте электронной таблицы, так что пользователь может пересчитать всю электронную таблицу и переставить формулы в электронной таблице, соответственно заставляя обновляться базисную формулу и все корректировочные формулы, которые могут существовать в той же ячейке.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг.1 иллюстрирует типовое вычислительное устройство;

фиг.2 показывает систему для ассоциирования нескольких формул с одной ячейкой электронной таблицы; и

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

ПОДРОБНОЕ ОПИСАНИЕ

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

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

Ссылаясь на фиг.1, будет описываться пояснительная компьютерная архитектура для компьютера 100, используемого в различных вариантах осуществления. Компьютерная архитектура, показанная на фиг.1, может конфигурироваться в виде настольного или мобильного компьютера и включает в себя центральный процессор 5 ("CPU"), системную память 7, включающую в себя оперативное запоминающее устройство 9 ("RAM") и постоянное запоминающее устройство 10 ("ROM"), и системную шину 12, которая соединяет запоминающее устройство с CPU 5. Базовая система ввода/вывода, содержащая базовые процедуры, которые помогают передавать информацию между элементами внутри компьютера, например во время запуска, хранится в ROM 10. Компьютер 100 дополнительно включает в себя запоминающее устройство 14 большой емкости для хранения операционной системы 16, прикладных программ 24 и других программных модулей, которые ниже будут описываться подробнее.

Запоминающее устройство 14 большой емкости подключается к CPU 5 через контроллер запоминающего устройства (не показан), подключенный к шине 12. Запоминающее устройство 14 большой емкости и его ассоциированные машиночитаемые носители предоставляют энергонезависимое хранилище для компьютера 100. Хотя описание машиночитаемых носителей, содержащееся в этом документе, ссылается на запоминающее устройство большой емкости, например жесткий диск или дисковод CD-ROM, машиночитаемые носители могут быть любым доступными носителями, к которым можно обращаться с помощью компьютера 100.

В качестве примера, а не ограничения, машиночитаемые носители могут содержать компьютерные носители информации и средства связи. Компьютерные носители информации включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Компьютерные носители информации включают в себя, но не ограничены, RAM, ROM, EPROM, EEPROM, флэш-память или другую технологию твердотельной памяти, компакт-диск, универсальные цифровые диски ("DVD") или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который может использоваться для хранения нужной информации и к которому можно обращаться с помощью компьютера 100.

В соответствии с различными вариантами осуществления компьютер 100 может работать в сетевой среде, используя логические соединения с удаленными компьютерами через сеть 18, например Интернет. Компьютер 100 может подключаться к сети 18 через сетевой интерфейсный модуль 20, подключенный к шине 12. Сетевое соединение может быть беспроводным и/или проводным. Сетевой интерфейсный модуль 20 также может использоваться для подключения к другим типам сетей и удаленным компьютерным системам. Компьютер 100 также может включать в себя контроллер 22 ввода/вывода для приема и обработки входных данных от других устройств, включая клавиатуру, мышь или электронное перо (не показано на фиг.1). Также контроллер 22 ввода/вывода может обеспечивать вывод на экран дисплея, который включает в себя интерфейс 28 пользователя, принтер или другой тип устройства вывода. Компьютер 100 также может соединяться с источником/источниками 23 данных посредством сетевого соединения 18 и/или какого-нибудь другого соединения.

Как вкратце упоминалось выше, некоторое количество программных модулей и файлов данных может храниться в запоминающем устройстве 14 большой емкости и RAM 9 в компьютере 100, включая операционную систему 16, подходящую для управления работой сетевого персонального компьютера, например операционную систему WINDOWS VISTA® от компании MICROSOFT CORPORATION в Редмонде, штат Вашингтон. Запоминающее устройство 14 большой емкости и RAM 9 также могут хранить один или несколько программных модулей. В частности, запоминающее устройство 14 большой емкости и RAM 9 могут хранить одну или несколько прикладных программ, например приложение 24 электронных таблиц. Например, программа 24 электронных таблиц может быть приложением MICROSOFT EXCEL®.

Механизм 26 анализа функционирует для оценки электронной таблицы 27. Механизм 26 анализа, хотя и показан независимым от приложения 24 электронных таблиц, может конфигурироваться как часть приложения 24 электронной таблицы. В электронной таблице 27 по меньшей мере одна из ячеек содержит несколько формул 28, которые включают в себя базисную формулу и одну или несколько корректировочных формул, которые с ней ассоциируются. Базисная формула фактически может быть всего лишь значением вместо формулы электронной таблицы. Формулы в электронной таблице 27 могут извлекать данные из одного или нескольких источников данных. Например, формулы могут извлекать данные из внутреннего и/или внешнего источника 23 данных. Внутренним источником данных является электронная таблица 27. Также можно обращаться к другим источникам данных (не показаны). Ячейки в электронной таблице, которые включают в себя несколько формул, включают в себя базисную формулу, которая включает в себя фактическое значение, извлеченное из источника данных, например источника 23 данных. Другие формулы, которые ассоциируются с той ячейкой, представляют собой одну или несколько корректировочных формул, которые используются для вычисления корректировки к значению, которое содержится в ячейке. Как правило, каждая из этих корректировочных формул представляет разные сценарии вычисления. В ответ на обновление в электронной таблице 27 каждая из формул, ассоциированная с каждой из ячеек, обновляется динамически и корректируется для реакции на изменения где-то в электронной таблице. Таким образом, пользователь может пересчитать электронную таблицу и переставить формулы в электронной таблице, соответственно заставляя обновляться базисную формулу и корректировочные формулы, которые могут существовать в той же ячейке.

Интерфейс 28 пользователя (UI) спроектирован для предоставления пользователю визуального способа редактирования формул, ассоциированных с электронной таблицей 27. Например, UI 28 может использоваться для редактирования формул, которые ассоциируются с одной или несколькими ячейками в электронной таблице 27. В соответствии с одним вариантом осуществления, UI 28 включает в себя устанавливаемую опцию, указывающую, когда выполнять анализ "что-если" с использованием одной из корректировочных формул. Когда редактируется формула в электронной таблице, механизм 26 анализа пересчитывает значения электронной таблицы, которые содержатся в электронной таблице 27.

На фиг.2 показана система для ассоциации нескольких формул с одной ячейкой электронной таблицы. Как проиллюстрировано, система 200 электронных таблиц включает в себя приложение 24 электронных таблиц, включающее ячейку в электронной таблице 41, механизм 26 анализа, интерфейс 28 пользователя (UI), базисную формулу 43, корректировочные формулы 1-N (43-45) и источник 42 данных.

Будет описываться пример для целей иллюстрации, а не с целью ограничения. Предположим, что ячейка 41 в электронной таблице содержит базисную формулу 43, которая является формулой извлечения данных, которая извлекает данные из источника 42 данных, например куба (например, =CUBEVALUE("Adventure Works","[Measures].[Internet Sales Amount]","[Product].[Product Categories].[All Products].[Bikes]")). Эта базисная формула 43 может использовать данные из набора данных, который может быть внешним по отношению к приложению 24 электронных таблиц, или источника данных, который может быть просто данными в другом месте в электронной таблице. В соответствии с одним вариантом осуществления всякий раз, когда электронная таблица пересчитывается механизмом 26 анализа, эта базисная формула повторно оценивается. Когда базисная формула повторно оценивается, снова обращаются к данным для источника данных, чтобы определить, внесены ли изменения в источник данных после последней оценки.

Теперь предположим, что пользователь хочет иметь возможность скорректировать значение в исходных данных, извлеченных базисной формулой извлечения данных выше, чтобы увидеть влияние на другие значения в исходных данных. В соответствии с одним вариантом осуществления, чтобы выполнить это, пользователь включает режим ввода данных, используя UI 28, который позволяет пользователю вводить другую формулу в ту же ячейку без перезаписи базисной формулы извлечения данных, которая уже введена. Предположим, что введенной корректировочной формулой 44 является "=0,5*(L11+M11)". Здесь пользователь может проанализировать влияние корректировки на другие ячейки/значения и решить на самом деле записать изменение в источник данных путем установки опции в UI 28 или отменить его, чтобы вернуться к исходному значению. Корректировочная формула может быть любым типом формулы. Например, корректировочная формула могла бы влиять на агрегирование в сводной таблице, которая ассоциируется с кубом данных. В этом примере предположим, что куб включается в себя страны на одном уровне, штаты на другом уровне и города на третьем уровне. Когда корректировочная формула изменяет значение на уровне штата, то изменилось бы итоговое значение для уровня страны. Аналогичным образом любое изменение на уровне города агрегировалось бы соответственно.

В любой момент в течение этого, как правило, итеративного процесса базисная формула 43 и корректировочная формула(ы), введенные в одну ячейку 41 электронной таблицы, сохраняются и динамически обновляются. В соответствии с одним вариантом осуществления ячейки, имеющие скорректированные значения, помечаются визуально, чтобы дать возможность пользователю узнать, какие ячейки скорректированы и поэтому в настоящее время не показывают значение, извлеченное из источника данных, а вместо этого показывают скорректированное значение, введенное пользователем в виде формулы. В соответствии с одним вариантом осуществления базисная формула и корректировочные формулы сохраняются в системной памяти вычислительного устройства.

Со ссылкой на фиг.3 описывается пояснительный процесс для ассоциирования нескольких формул с одной ячейкой электронной таблицы.

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

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

Переходя к операции 320, запускается анализ корректировки. В соответствии с одним вариантом осуществления пользователь устанавливает опцию анализа корректировки с использованием интерфейса пользователя, который ассоциируется с электронной таблицей. Например, пользователь может установить опцию, которая указывает, что нужно выполнить анализ "что-если". В соответствии с одним вариантом осуществления, когда нужно выполнить анализ "что-если", базисной формулой не извлекаются никакие данные, когда базисная формула является формулой извлечения данных. Вместо этого базисная формула извлечения данных сохраняется для последующего использования после того, как пользователь завершит выполнение оценок в сценарии "что-если". В соответствии с другим вариантом осуществления данные могут извлекаться формулой извлечения данных, даже когда выполняется анализ "что-если". В этом случае данные, которые извлекаются базисной формулой извлечения данных, могут отображаться в дополнение к значению из анализа "что-если". Например, пользователь может захотеть увидеть извлеченные данные в дополнение к значению из анализа "что-если" (например, извлеченные данные отображаются в другом окне, например всплывающем окне). Таким образом, пользователь может наблюдать данные из анализа "что-если" в дополнение к возможности видеть последние извлеченные данные.

Переходя к операции 330, может вводиться и/или редактироваться корректировочная формула, которая ассоциируется с ячейкой. Корректировочная формула используется для выполнения анализа "что-если" для электронной таблицы. В соответствии с одним вариантом осуществления помечаются ячейки в электронной таблице, которые редактируются, так что пользователь может распознать затронутые ячейки.

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

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

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

Процесс затем переходит к завершающей операции и возвращается к обработке других действий.

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

1. Способ для выполнения анализа электронной таблицы, содержащий этапы, на которых:обращаются к ячейке (41) в электронной таблице; причем ячейка включает в себя базисную формулу (43) и корректировочную формулу (44), которая представляет отличное значение от базисной формулы для ячейки;устанавливают корректировочную формулу в качестве активной формулы для ячейки электронной таблицы (320), причем активная формула является видимой для ячейки, когда представляется на дисплее после оценки электронной таблицы;обеспечивают исключение извлечения данных базисной формулой из источника данных, когда базисная формула представляет собой формулу извлечения данных, а корректировочная формула представляет собой активную формулу;оценивают электронную таблицу для определения результата для корректировочной формулы (340) посредством исполнения корректировочной формулы, ипредставляют результат на дисплее (28, 340), так что результат показывает результат корректировочной формулы и ее влияние на зависимые ячейки в электронной таблице.

2. Способ по п.1, дополнительно содержащий этап, на котором вводят корректировочную формулу и ассоциируют корректировочную формулу с ячейкой.

3. Способ по п.2, дополнительно содержащий этап, на котором устанавливают опцию в электронной таблице, указывающую сделать корректировочную формулу активной формулой для ячейки в электронной таблице.

4. Способ по п.3, дополнительно содержащий этап, на котором оценивают базисную формулу в дополнение к оцениванию корректировочной формулы.

5. Способ по п.4, дополнительно содержащий этап, на котором помечают ячейки в электронной таблице, которые изменялись из-за оценки корректировочной формулы.

6. Способ по п.3, в котором этап, на котором устанавливают опцию, активируют посредством приема входных данных через интерфейс пользователя, который ассоциирован с электронной таблицей.

7. Способ по п.3, в котором этап, на котором оценивают базисную формулу в дополнение к корректировочной формуле, когда оценивается электронная таблица, содержит этап, на котором автоматически оценивают базисную формулу, когда оценивается электронная таблица, и корректировочная формула является активной формулой для электронной таблицы, и автоматически оценивают корректировочную формулу, когда базисная формула является активной формулой для электронной таблицы.

8. Способ по п.4, дополнительно содержащий этап, на котором представляют вариант для записи результата для корректировочной формулы в источник данных в том же месте, что и данные, извлеченные для базисной формулы.

9. Машиночитаемый носитель информации, имеющий исполняемые компьютером команды для динамического обновления базисной формулы и корректировочной формулы, которые ассоциируются с одной ячейкой в электронной таблице, содержащий:определение активной формулы для ячейки (43, 44); причем активную формулу определяют либо из базисной формулы (43), либо из корректировочной формулы (44), корректировочная формула является отличным значением от базисной формулы для ячейки;оценивание электронной таблицы для определения результата для корректировочной формулы, когда активная формула представляет собой корректировочную формулу и исключение извлечения данных базисной формулой из источника данных; ипредставление результата на дисплее (28, 340), так что результат показывает результат активной формулы и ее влияние на зависимые ячейки в электронной таблице.

10. Машиночитаемый носитель информации по п.9, дополнительно содержащий ассоциирование корректировочной формулы с ячейкой, когда корректировочная формула вводится в ячейку электронной таблицы через интерфейс пользователя.

11. Машиночитаемый носитель информации по п.10, в котором определение активной формулы для ячейки содержит определение варианта, выбранного посредством интерфейса пользователя, который указывает, когда использовать базисную формулу, а когда использовать корректировочную формулу.

12. Машиночитаемый носитель информации по п.11, в котором источник данных является внешним источником данных по отношению к электронной таблице.

13. Машиночитаемый носитель информации по п.12, в котором оценивание корректировочной формулы и базисной формулы содержит автоматическое оценивание базисной формулы, когда оценивается электронная таблица и корректировочная формула является активной формулой для электронной таблицы, и автоматическое оценивание корректировочной формулы, когда базисная формула является активной формулой для электронной таблицы; причем оценивание базисной формулы включает в себя обращение к внешнему источнику данных для извлечения последних данных для базисной формулы.

14. Машиночитаемый носитель информации по п.12, дополнительно содержащий запись результата активной формулы во внешний источник данных, когда активная формула является корректировочной формулой, в то же место внешнего источника данных, что и место, из которого извлекаются данные для базисной формулы.

15. Система для оценивания электронной таблицы, содержащая: дисплей (28);процессор (5), запоминающее устройство (7) и машиночитаемый носитель (14);операционную среду (16), сохраненную на машиночитаемом носителе и исполняемую на процессоре;источник данных (23), который конфигурируется для хранения данных;приложение электронных таблиц (24), которое включает в себя интерфейс пользователя и механизм анализа, который конфигурируется для:обращения к электронной таблице, которая включает в себя ячейки (41), причем по меньшей мере одна из ячеек включает в себя несколько разных формул, которые оцениваются независимо, причем несколько формул включают в себя базисную формулу (43) и корректировочную формулу (44); причем корректировочная формула представляет отличное значение от базисной формулы для ячейки;определения активной формулы для ячейки и неактивной формулы для ячейки (320); причем активная формула выбирается из корректировочной формулы и базисной формулы; и причем неактивная формула является невыбранной формулой;оценки электронной таблицы с использованием активной формулы для ячейки (340);когда активная формула представляет собой корректировочную формулу, то визуально помечают ячейки в электронной таблице, которые были изменены вследствие оценки корректировочной формулы;хранения неактивной формулы в запоминающем устройстве во время оценки активной формулы (340) и представления результатов оценки активной формулы на дисплее (28, 340), в то время как неактивная формула продолжает храниться.

16. Система по п.15, дополнительно содержащая ввод корректировочной формулы в интерфейсе пользователя и ассоциирование корректировочной формулы с ячейкой.

17. Система по п.16, дополнительно содержащая прием варианта, установленного с использованием интерфейса пользователя, указывающего сделать корректировочную формулу активной формулой для ячейки в электронной таблице.

18. Система по п.17, дополнительно содержащая оценивание базисной формулы в дополнение к корректировочной формуле, когда оценивается электронная таблицы; причем оценивание базисной формулы включает в себя обращение к источнику данных для определения, изменилось ли извлеченное значение.

19. Система по п.17, в которой оценивание базисной формулы в дополнение к корректировочной формуле, когда оценивается электронная таблица, содержит автоматическое оценивание базисной формулы, когда оценивается электронная таблица и корректировочная формула является активной формулой для электронной таблицы, и автоматическое оценивание корректировочной формулы, когда базисная формула является активной формулой для электронной таблицы.

20. Система по п.17, дополнительно содержащая представление варианта для записи результата для корректировочной формулы в источник данных в том же месте, что и данные, извлеченные для базисной формулы.