Проектирование функций электронных таблиц для работы с таблицами данных
Иллюстрации
Показать всеИзобретение относится к области приложений для работы с электронными таблицами. Техническим результатом является облегчение манипулирования большим набором данных. Настоящее изобретение обеспечивает несколько формул базы данных, которые могут манипулировать большим набором данных. Каждая формула базы данных настраиваема и повторяема без вмешательства пользователя. Соответственно, пользователи могут вводить многочисленные опции, которые могут охватить желания пользователя по выводу данных в определенных формах или форматах, выбору набора входных данных и последовательному получению набора выходных данных. В некоторых вариантах реализации пользователь может ссылаться на семантический набор данных вместо задания ряда ячеек, чтобы использовать в формуле базы данных. Ссылка на семантические данные позволяют формулам базы данных приспосабливаться к изменениям в ряду ячеек, которые новые данные могут занимать. 5 н. и 40 з.п. ф-лы, 8 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится, в общем, к области приложений для работы с электронными таблицами. В частности, настоящее изобретение относится к реорганизации данных в электронной таблице.
Уровень техники
Для того чтобы существовать в эру информационных технологий, компаниям и организациям требуется полезная информация об их организации, рынках и операциях. Полезная деловая информация, как правило, является сжатой коллекцией данных, которые легко понять и постичь. Для создания полезной информации, как правило, приобретают обширные коллекции данных, которые происходят из многочисленных и несвязанных источников, затем концентрируют и организуют данные в более полезные формы и форматы. Компании и организации, как правило, полагаются на программные пакеты для концентрации, манипуляции или формулирования данных в полезную информацию. Программные пакеты делают манипуляцию обширными коллекциями данных возможной и эффективной. Одним из широко используемых программных пакетов для извлечения более полезной информации из коллекций данных является приложение для работы с электронными таблицами, например приложение для работы с электронными таблицами Microsoft® Excel, предлагаемое корпорацией Микрософт.
Некоторые приложения для работы с электронными таблицами позволяют осуществлять некоторые манипуляции с данными при помощи операций над базой данных. Операции над базой данных, такие как сортировка или фильтрация, позволяют пользователю форматировать, конденсировать или организовывать данные в пределах электронной таблицы. В приложении для работы с электронными таблицами, таком как приложение для работы с электронными таблицами Microsoft® Excel, операции над базой данных доступны пользователю только как однократная операция. Доступ к операции над базой данных, как правило, осуществляется при помощи выпадающего меню в приложении для работы с электронными таблицами. Выбор пункта из меню, как правило, открывает пользовательский интерфейс операции для проведения пользователя через процесс использования операции над базой данных. К сожалению, пользователь может применить операции только один раз, и пользователю дается только несколько опций для изменения способа функционирования операций над базой данных. Для повторения операции над базой данных пользователь должен снова выбрать операцию из меню и ввести операцию повторно. Таким образом, операции над базой данных, как правило, не автоматически повторяемы и не гибки.
Эти проблемы усугубляются, когда пользователем является большая структура, которая хочет манипулировать большими коллекциями данных, которые происходят из нескольких различных источников. Пользователи, которым требуются сложные, основанные на таблицах операции над базой данных в приложении для работы с электронными таблицами часто принимаются за ручное манипулирование данными или создание макрокода для подготовки данных. Первый способ часто требует много времени, дорог и подвержен ошибкам, так как решение требует ручного вмешательства всякий раз, когда изменяются данные. Для автоматизации этого процесса пользователь может использовать макрокод, например, созданный при помощи программы Visual Basic for Applications®. К сожалению, синтаксис и организация макрокода являются сложными для большинства пользователей приложений для работы с электронными таблицами. Также, поддержка макрокода может оказаться сложной задачей. Большинство пользователей не могут разобрать абсолютный код, и, таким образом, пользователи не могут исправить ошибки и не могут подстроить решение в будущем.
Кроме того, пользователи часто вводят новые данные в электронную таблицу на рекуррентной или периодической основе. Например, данные по месячным продажам включаются в электронную таблицу каждый месяц. Пользователи должны манипулировать данными каждый месяц для создания полезной информации об эффективности предприятия за прошедший месяц. Для выполнения манипуляций над месячными данными пользователи должны или использовать многочисленные операции над базой данных каждый месяц, которые требуют огромного количества времени и неэкономичны, используя ручные операции, упомянутые выше, которые пользователь должен часто изменять при работе с новыми данными, или создать упомянутый выше макрокод, который может работать с новым набором данных, но который сложно создать.
Раскрытие изобретения
Настоящее изобретение относится к набору функций базы данных, которые могут быть использованы для создания «формул базы данных», которые могут манипулировать данными в электронной таблице. Каждая функция базы данных имеет некоторое количество задаваемых параметров или аргументов, и функции базы данных могут быть объединены с другими функциями базы данных, другими функциями электронных таблиц и другими операторами, для того, чтобы создать настраиваемый вывод. Таким образом, пользователи могут вводить многочисленные опции, которые могут охватить желания пользователя по выводу данных в определенных формах или форматах.
В вариантах реализации настоящего изобретения вводом в каждую функцию базы данных является набор данных. Набором данных может быть массив ячеек, занимающих две или более строк, две или более колонок, или две или более колонок и две или более строк. В вариантах реализации настоящего изобретения выводом каждой функции базы данных может быть набор данных. Таким образом, каждая функция базы данных может создавать новые таблицы данных, которые выводят «массив» данных, данные, которые имеют более чем одно значение данных. Функции базы данных позволяют пользователю создавать наборы данных, которые различаются по структуре и размеру, в зависимости от того, как функция базы данных оперирует с входными данными.
В одном варианте реализации настоящего изобретения предлагается способ для манипулирования таблицей данных в приложении для работы с электронными таблицами, который включает в себя получение одной или более функций базы данных, получение выделения для входных данных в пределах таблицы данных, манипулирование входными данными в соответствии с одной или более функциями базы данных, и представление выходных данных в электронной таблице. В некоторых вариантах реализации две или более функций базы данных получены во встроенной формуле базы данных.
Настоящее изобретение может включать в себя вводы в электронную таблицу и выводы из электронной таблицы. В одном варианте реализации одна или более функций базы данных имеют один или более аргументов. В другом варианте реализации один из аргументов имеет семантическую ссылку. В некоторых вариантах реализации пользователь предоставляет один или более аргументов. В других вариантах один или более аргументов включают в себя символ колонки. В одном варианте реализации один или более аргументов включают в себя математическое выражение.
В некоторых вариантах реализации входными данными является таблица данных. В вариантах реализации настоящего изобретения выходными данными является таблица данных. В некоторых вариантах представление выходных данных вызывает перемещение одного или более элементов раннее существующих данных. В некоторых вариантах реализации выходные данные занимают одну или более ячеек в электронной таблице.
Настоящее изобретение также включает примерные варианты реализации функций базы данных. В одном варианте функции базы данных включают в себя функцию фильтрации, формулу сортировки, формулу удаления дубликатов, формулу присоединения таблицы или формулу добавления колонки. В некоторых вариантах функция фильтрации включает в себя сравнение, по меньшей мере, одного элемента данных с аргументом фильтрации и возвращение выходных данных без какого-либо элемента из входных данных, который соответствует аргументу фильтрации. В некоторых реализациях функция сортировки включает в себя возвращение упорядоченного набора выходных данных в соответствии с одним или более аргументами сортировки. В некоторых реализациях функция удаления дубликата включает в себя определение того, что два элемента данных во входных данных, обозначенных в аргументе, являются одинаковыми, и возвращением выходных данных, в которых один из двух элементов похожих данных удален. В некоторых реализациях функция присоединения таблиц включает в себя извлечение двух наборов входных данных и возвращение выходных данных, в которых, по меньшей мере, часть первого набора входных данных присоединена, по меньшей мере, к части второго набора входных данных. В некоторых реализациях функция добавления колонки включает в себя создание колонки данных из входных данных, в соответствии с одним или более аргументами, и возвращение выходных данных, в которых выходные данные включают в себя входные данные и колонку данных.
В вариантах реализации настоящего изобретения манипулирование входными данными включает в себя получение одного или более аргументов с одной или более функциями базы данных, анализ одного или более аргументов и одной или более функций базы данных, определение - могут ли один или более аргументов или одна или более функций базы данных быть применены строка за строкой, если один или более аргументов или одна или более функций базы данных могут быть применены строка за строкой, применение этих аргументов или этих функций базы данных к каждой строке отдельно и применение любых остающихся аргументов или функции базы данных. В других вариантах реализации настоящего изобретения первый промежуточный набор данных создается при применении аргументов и функций базы данных к каждой строке отдельно. В некоторых вариантах реализации один или более последовательных промежуточных наборов данных создается вследствие каждого оставшегося аргумента или функции базы данных, применяемых к первому промежуточному набору данных или к одному или более из последующих промежуточных наборов данных.
В вариантах реализации настоящего изобретения пользовательский интерфейс для отображения выходных данных предусматривает получение одной или более функций базы данных, для применения к набору входных данных, получение выделения входных данных и отображение выходных данных после того, как функция базы данных была применена к входным данным.
Предлагаемое изобретение может быть осуществлено как компьютерный процесс, компьютерная система или как предмет производства такой, как компьютерный программный продукт. Компьютерный программный продукт может быть компьютерным носителем информации, читаемым компьютерной системой, содержащим компьютерную программу инструкций для осуществления компьютерного процесса. Компьютерный программный продукт может также распространяться сигналом по машиночитаемому носителю и содержащим компьютерную программу инструкций для осуществления компьютерного процесса.
Более полное определение настоящего изобретения и его усовершенствований может быть получено со ссылкой на сопроводительные чертежи, которые коротко описаны ниже, и из последующего детального описания настоящих примерных реализаций изобретения, и прилагаемой формулы.
Краткое описание чертежей
Фиг.1А, Фиг.1В и Фиг.1С - функциональная электронная таблица реализации настоящего изобретения, иллюстрирующая операционное соотношение между примерной функцией базы данных, вводом к функции и выводом из функции.
Фиг.2 показывает базовую вычислительную среду и вычислительное устройство, в соответствии с настоящим изобретением.
Фиг.3 показывает базовую блок-схему одной реализации в приложении для работы с электронными таблицами, включающего функции базы данных, в соответствии с настоящим изобретением.
Фиг.4 показывает реализацию основного способа создания и применения функции базы данных в пределах электронной таблицы, в соответствии с настоящим изобретением.
Фиг.5 показывает другую реализацию способа применения функции базы данных к набору данных в пределах электронной таблицы, в соответствии с настоящим изобретением.
Фиг.6 показывает несколько примерных реализаций функций базы данных, в соответствии с настоящим изобретением.
Осуществление изобретения
Настоящее изобретение будет теперь описано более полно ниже со ссылкой на сопроводительные чертежи, на которых показаны варианты реализации изобретения. Это изобретение, однако, может быть реализовано в многочисленных различных формах и не должно быть истолковано как ограниченное к приведенным здесь вариантам реализации. Скорее эти варианты представлены для того, чтобы это раскрытие стало полным и завершенным, и полностью передало объем изобретения специалистам в данной области техники.
В общем случае, настоящее изобретение относится к вариантам способов применения функций базы данных в приложениях для работы с электронными таблицами. В соответствии с настоящим изобретением, способы, описанные здесь, могут выполняться как набор компьютерных инструкций, читаемых и выполняемых в отдельной обособленной компьютерной системе.
Настоящее изобретение может быть описано в общем контексте машинно-исполняемых инструкций, таких как программные модули, выполнимые одним или более компьютерами или другими устройствами. Обычно программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.п., которые выполняют определенные задачи или реализуют определенные абстрактные типы данных. Как правило, функциональность программных модулей может быть скомбинирована или распределена желаемым образом в разных реализациях.
Примерное приложение для работы с электронными таблицами, имеющее особенности настоящего изобретения, показано на Фиг.1А, Фиг.1В и Фиг.1С. В вариантах реализации настоящего изобретения приложение для работы с электронными таблицами или электронная таблица являются программным приложением, которое может хранить данные, выполнять вычисления над данными и отображать данные. Электронные таблицы устроены как рабочая тетрадь, имеющая одну или более электронных таблиц. Каждая электронная таблица имеет множество ячеек, сформированных из пересечений серий строк и серий колонок. Элемент данных может занимать одну ячейку. Таблицей данных является коллекция ячеек, которые занимают как множество строк, так и множество колонок в пределах электронной таблицы. Электронные таблицы хорошо известны в этой области техники и дальше не будут объясняться.
Примерная электронная таблица 100 показана на Фиг.1А. Электронная таблица 100 содержит таблицу 102 данных. Таблица 102 имеет заголовок 104, называемый «SalesList». Таблица 102 имеет 22 строки 106 от строки 5 до строки 26. Таблица 102 имеет также три колонки 108 с заголовками 110 колонок в строке 5, обозначенными как: «Country», «Total Sales» и «Average Sales». Данные находятся в колонке D и колонке E от строки 6 до строки 26.
Формула базы данных, имеющая одну или более функций базы данных, может быть введена в электронную таблицу 100. В реализациях настоящего изобретения функцией базы данных является функция в приложении для работы с электронными таблицами, которая может извлекать входной набор данных, манипулировать входными данными в другую форму или формат, и производить вывод набора данных. Областью данных или набором данных являются один или более элементов данных, которые занимают одну или более ячеек электронной таблицы. Функции базы данных меняют внешний вид или структуру данных. В общем случае, функции базы данных преобразуют входные данные, исключают элементы данных в пределах входных данных или добавляют данные к входным данным. В реализациях настоящего изобретения некоторые функции базы данных включают в себя сортировку, фильтрацию, присоединение таблицы, удаление дубликатов и добавление колонки. Эти отдельные реализации будут объяснены более детально ниже, но изобретение не ограничивается к этим отдельным реализациям. В некоторых реализациях настоящего изобретения функции базы данных повторяются. Другими словами, если входные данные меняются, функции базы данных могут быть автоматически выполнены повторно, чтобы обеспечить обновление выходных данных.
В некоторых вариантах реализации входные данные не должны иметь установленный размер, вместо этого они могут меняться и обновляться, и функции базы данных будут подстраиваться под эти изменения. В одном варианте функция базы данных может использовать семантические обозначения. Семантически обозначенное или семантическое обозначение относится к отдельному способу выделения набора данных. Вместо того задания ячейки, строки или ссылки на колонку пользователь может использовать некоторый тип дескриптора языка, который электронная таблица может использовать для нахождения данных электронной таблицы, которые пользователь хочет выбрать. Например, если колонка С включает в себя все возрастные группы детей, пользователь мог бы применить семантическое обозначение для колонки С в выражении, подобно «[age]=3». Семантическое обозначение «age» является символом колонки в аргументе. В одном варианте реализации настоящего изобретения символ колонки является типом аргумента, который ссылается на определенную колонку. В примере, приведенном выше, термин «age» является символом колонки. Символ колонки может быть выражен любым способом, что позволяет электронной таблице распознавать определенную колонку и применять формулу или аргумент к этой колонке. Семантические обозначения объяснены более детально в относящейся к ним Патентной Заявке США «Method and Implementation for referencing dynamic data in spreadsheet application», от 30 сентября 2004 года, которая, таким образом, включена здесь посредством ссылки, во всей ее полноте.
Выводом функций баз данных может быть набор данных, который может занимать одну или более ячеек. Выходные данные являются финальным набором данных, созданным из одной или более примененных функций базы данных. Другими словами, после того как все функции базы данных были применены к входным данным, выходные данные формируют финальный набор данных. В одном варианте реализации пользователю или приложению для работы с электронными таблицами не требуется определять размер выходных данных, область ячеек, которые выходные данные будут занимать, но размер выходных данных является неограниченным и может быть полностью рефлективным на вводе и при эффекте функций базы данных на эти входные данных.
Каждая функция базы данных может иметь один или более настраиваемых аргументов или параметров, которые могут регулировать или настраивать выполнение функции базы данных. В вариантах настоящего изобретения аргументом или аргументами называется одно или более выражений или модификаторов функции базы данных. Аргументы могут регулировать или настраивать формулу для того, чтобы она выполнялась определенным способом. Аргументы могут быть в алгебраическом, булевом или другом формате. В одном варианте аргумент может ссылаться на ячейку. В настоящем изобретении выражение является математическим или логическим символом или значимой комбинацией символов. В этом описании выражение может относиться или к функции базы данных или к аргументу в пределах формулы базы данных.
В настоящем изобретении формулой базы данных является формула, применяющая одну или более функций базы данных для выполнения последовательности операций над базой данных в единственном определении формулы. В настоящем изобретении встроенные формулы базы данных или вложенные формулы базы данных обозначают возможность размещения одной или более функций базы данных внутри синтаксиса формулы базы данных. Например, формула базы данных может иметь выражение: «SORT(table1(FILTER)». В примере формулы базы данных функция FILTER встроена в функцию SORT. Встраивание функций позволяет пользователю создавать сложные выражения, которые манипулируют данными различными способами без создания отдельных формул.
Примерная формула 102 базы данных, имеющая функцию базы данных, показана в ячейке 112 G5 на Фиг.1В. Примерная формула 112 базы данных включает в себя функцию FILTER. В соответствии с аргументами в функции FILTER, фильтрация будет применена к таблице 102 «SaleList», в соответствии с семантической ссылкой 114 для таблицы 102 в аргументах формулы базы данных. Формула 112 базы данных также включает в себя другой аргумент 116. Формула 112 базы данных использует семантическую ссылку 114 для символа колонки, как видно по аргументу 116 «[Total Sales]>20000». Символ колонки указывает на данные в колонке 118 D. Аргумент 116 требует, чтобы все строки данных, чьи данные в пределах колонки D, которые по значению не выше 20000, были удалены из финальных выходных данных. Таким образом, формула 112 базы данных в этом примере будет отфильтровывать все строки данных в таблице 102 «SalesList», которые не имеют значение Total Sales выше 20000.
Ссылаясь на Фиг.1С, выходные данные показаны во второй таблице 112, которая занимает набор 122 строк, от строки 5 до строки 19 и набор 124 колонок, от колонки G до колонки I. Таблица 112 выходных данных закреплена за ячейкой G5, в которую пользователь ввел формулу базы данных. Как видно на Фиг.1С, приложение для работы с электронными таблицами исключает 7 строк данных из таблицы 102 «SalesList», применяя функцию FILTER к этой таблице 102. Все удаленные строки являлись строками, которые по значению данных были не выше 20000 в колонке 118 D таблицы 102 SalesList, которые были строками 6, 11, 15, 16, 17, 18 и 19. Выходные данные поддерживали такое же количество колонок, но изменяли число строк. Выходные данные были размещены в области ячеек, а не в одной ячейке, в которую была введена формула базы данных.
В некоторых вариантах реализации процесс манипулирования данными с функцией базы данных может закончиться, как только отображены выходные данные. В других вариантах выходные данные из одной формулы базы данных, имеющей одну или более функций базы данных, могут формировать вход для других функций электронной таблицы или других формул базы данных, имеющих одну или более функций базы данных. В некоторых вариантах реализации формула базы данных или функция базы данных может перезапускаться повторно, если выбранные входные данные меняются. Таким образом, формула базы данных или функция повторно применяется и снова создает выходные данные после любого изменения в выделенных входных данных. В сущности функции базы данных могут функционировать как другие функции электронной таблицы, которые могут быть пересчитаны в связи с изменением во входных данных. Новое применение функций базы данных и формул не похоже на одиночное применение операций над базой данных. Новое применение формул базы данных и функций базы данных описано более подробно выше.
Подходящая операционная среда, в которой изобретение может быть осуществлено, изображена на Фиг.2. Операционная среда является только одним примером подходящей операционной среды и не предназначена для предложения какого-либо ограничения в области использования или функциональных возможностей изобретения. Другие хорошо известные компьютерные системы, среды и/или конфигурации, которые могут подойти для использования этого изобретения, включают в себя, но не ограничиваются перечисленным, персональные компьютеры, серверы, ручные или портативные устройства, многопроцессорные системы, микропроцессорные системы, программируемую бытовую электронику, сетевые компьютеры, миникомпьютеры, универсальные вычислительные машины, распределенные вычислительные среды, которые включают в себя любую из вышеперечисленных систем или устройств и тому подобное.
Со ссылкой на Фиг.2 примерная система для осуществления изобретения включает в себя компьютерное устройство, такое как компьютерное устройство 200. В его самой базовой конфигурации компьютерное устройство 200 обычно включает в себя, по меньшей мере, один процессор 202 и память 204. В зависимости от точной конфигурации и типа компьютерного устройства 200, память 204 может быть энергозависимой (такой как ОЗУ), энергонезависимой (такой как ПЗУ, флэш-память, и т.п.) или любой их комбинацией. Эта самая базовая конфигурация компьютерного устройства 200 проиллюстрирована на Фиг.2 пунктирной линией 206. Кроме того, устройство 200 может также иметь дополнительные возможности/функциональность. Например, устройство 200 может также включать в себя дополнительное запоминающее устройство (съемное и/или несъемное), включая, но не ограничиваясь перечисленным, магнитные или оптические диски или ленту. Такое дополнительное запоминающее устройство проиллюстрировано на Фиг.2 съемным запоминающим устройством 208 и несъемным запоминающим устройством 210. Компьютерный носитель информации включает в себя энергозависимый и энергонезависимый, съемный и несъемный носитель, реализованный любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Память 204, съемный носитель 208 и несъемный носитель 210 - все являются примерами компьютерного носителя информации. Компьютерный носитель информации включает в себя, но не ограничивается перечисленным, ОЗУ, ПЗУ, электронно-перепрограммируемую постоянную память, флэш-память или другую технологию памяти, CD-ROM, универсальный цифровой диск (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, магнитные дисковые накопители или другие магнитные устройства хранения, или любой другой носитель, который может использоваться для хранения желаемой информации и который может быть доступен компьютерному устройству 200. Любой такой компьютерный носитель информации может быть частью устройства 200.
Устройство 200 может также содержать коммуникационное соединение(я) 212, которые позволяют устройству 200 поддерживать связь с другими устройствами. Коммуникационное соединение(я) 212 является примером коммуникационной среды. Коммуникационная среда обычно реализует машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или другой транспортный механизм, и включает в себя любую среду доставки информации. Термин «модулированный сигнал данных» обозначает сигнал, который имеет одну или более его характеристик установленной или изменяющейся таким образом, чтобы закодировать информацию в сигнале. В качестве примера, а не ограничения, коммуникационная среда включает в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные, инфракрасные и другие беспроводные среды.
Устройство 200 может также иметь устройство(а) 214 ввода, такое как клавиатура, мышь, ручка, голосовое устройство ввода, сенсорное устройство ввода, и т.п. Устройство(а) 216 вывода, такое как дисплей, колонки, принтер и т.п., также могут быть включены. Все эти устройства хорошо известны в этой области техники и не нуждаются в обсуждении здесь.
Компьютерное устройство 200 обычно включает в себя, по меньшей мере, некоторую форму машиночитаемого носителя. Машиночитаемым носителем может быть любой доступный носитель, который может быть доступен процессору 202. В качестве примера, а не ограничения, машиночитаемый носитель может включать в себя компьютерный носитель информации и коммуникационную среду. Комбинации любого из вышеперечисленных должны также быть включены в объемы машиночитаемого носителя. Термин "машиночитаемый носитель", использующийся здесь, включает в себя как носитель информации, так и коммуникационную среду.
Функциональная диаграмма приложения 300 для работы с электронными таблицами, имеющая особенности настоящего изобретения, показана на Фиг.3. Приложение 300 для работы с электронными таблицами включает в себя модуль 306 электронной таблицы, который может принимать пользовательский ввод 302. Модуль 100 электронной таблицы является реализацией модуля 306 электронной таблицы. В реализациях настоящего изобретения пользовательским вводом 302 могут быть одна или более функций 312 базы данных, одна или более формул 314 базы данных, имеющих одну или более функций базы данных и/или выборка набора 304 входных данных. Функция 112 базы данных является и реализацией формулы 314 базы данных. Входные данные 102 являются реализацией входных данных 304. Модуль 306 электронной таблицы может применять функции базы данных и формулы базы данных. Модуль 306 электронной таблицы может применять функции 312 базы данных или формулы 314 базы данных к набору 304 входных данных. Модуль 306 электронной таблицы может манипулировать входными данными 304 в соответствии с функцией 312 базы данных или формулой 314 базы данных и создавать набор выходных данных 310. Выходные данные 120 являются реализацией выходных данных 310. В некоторых реализациях модуль 306 электронной таблицы может размещать выходные данные 310 в одну или более ячеек в пределах электронной таблицы. В других реализациях модуль 306 электронной таблицы может использовать выходные данные в других функциях или вычислениях. В некоторых реализациях модуль 306 электронной таблицы может создавать один или более промежуточных наборов 316 данных до окончательного создания выходных данных 310. Промежуточным набором 316 данных называется таблица или набор данных, которые электронная таблица должна создать между выполнениями последовательных или субсеквентных функций 312 базы данных или аргументов. Каждая последовательная функция 312 базы данных или аргумент может быть применен к самому последнему промежуточному набору 316 данных.
Приложение 300 для работы с электронными таблицами может принимать функции 312 базы данных или в формуле 314 базы данных, или отдельно от формулы 314 базы данных, и выполнять операции базы данных в соответствии с функциями 312 базы данных. Другими словами, пользователь может выбирать или предусматривать функцию 312 базы данных, которая манипулирует формой входных данных, форматированием, организацией, структурой или содержанием. В некоторых реализациях функции 312 базы данных могут быть применены к массиву входных 304 данных, включающему целые таблицы, и могут предоставить выходные данные 310 как отдельный массив данных. В других реализациях функции 312 базы данных являются динамическими, при этом функции 312 базы данных будут перезапускаться, когда базовые входные данные 304 меняются. Таким образом, пользователю нет необходимости снова применять вручную функции 312 базы данных, однако функции 312 базы данных будут непрерывно генерировать выходные данные 310 из любого постоянно меняющегося источника 304 входных данных.
Реализация способа 400 для применения одной или более функций базы данных (такой как функция 312 базы данных) к набору входных данных (таких как входные данные 304) показана на Фиг.4. Во-первых, операция 402 предоставления предоставляет пользователю выбор одной или более функций 112 базы данных. В реализациях настоящего изобретения модуль электронной таблицы (такой как модуль 306 электронной таблицы) может предоставлять функции базы данных, делая функции базы данных доступными пользователю. В одной реализации модуль электронной таблицы может предоставлять список функций базы данных, такой как в меню. В другой реализации модуль электронной таблицы предоставляет функцию базы данных, позволяя пользователю напечатать название функции базы данных в электронной таблице (такой как электронная таблица 300).
Операция 404 принятия принимает ссылку на пользовательский ввод в функцию базы данных. В настоящем изобретении модуль электронной таблицы может хранить функцию базы данных в ячейке, в которую пользователь ввел функцию базы данных. В других реализациях настоящего изобретения модуль электронной таблицы может хранить формулу базы данных (такую как формула 314 базы данных), содержащую функцию базы данных, в ячейке, в которую пользователь ввел формулу базы данных.
Далее, операция 406 принятия принимает один или более аргументов. В настоящем изобретении аргументом является выражение, которое регулирует или приспосабливает выполнение функции базы данных. В одном варианте аргументы могут быть частью большей формулы базы данных. В других вариантах аргументы могут быть частью синтаксиса функции базы данных. Модуль электронной таблицы может хранить аргументы с функцией базы данных.
Затем, операция 408 принятия принимает выборку набора входных данных. Входными данными могут быть одна или более ячеек данных. В одном варианте реализации пользователь может вводить область ячеек для входа данных. В другом варианте пользователь может применять семантическое обозначение, чтобы ссылаться на набор входных данных. Еще в других вариантах реализации пользователь может использовать мышь или другой графический пользовательский интерфейс устройства ввода, чтобы выделить и выбрать входные данные. Модуль электронной таблицы может хранить эту выборку входных данных с функцией базы данных. Любое исправление, необходимое для функции базы данных, аргументов или выборки входных данных может быть запрошено модулем электронной таблицы и сделано пользователем. В некоторых вариантах пользователь может вводить функцию базы данных, выборку входных данных и один или более аргументов как единое выражение.
Затем, операция манипуляции манипулирует входными данными в соответствии с одной или более функциями базы данных. В реализациях настоящего изобретения модуль электронной таблицы выполняет функции базы данных с аргументами, над выбранными входными данными. Модуль электронной таблицы манипулирует входными данными в соответствии с типом функции базы данных и сопровождающими аргументами. Как объяснялось, манипулирование входными данными может означать любой тип изменения в структуре или формате входных данных. В одной реализации первая функция базы данных или аргумент (значение, самое первое из перечисленных в любой встроенной формуле базы данных или первый аргумент в последовательности аргументов) выполняется над входными данными. Затем, модуль электронной таблицы проходит через каждую последовательную функцию или аргумент в порядке последовательности. В некоторых реализациях электронная таблица выводит набор промежуточных данных (такой как набор 316 промежуточных данных) после применения каждой функции или аргумента. Финальная функция или аргумент создает выходные данные (такие как выходные данные 310).
Например, функция FILTER и формула сортировки применены к одной и той же таблице данных, электронная таблица может сначала создать промежуточный набор данных, такой как вторая таблица данных после операции фильтрации, но до операции сортировки. Электронная таблица может хранить этот промежуточный набор данных. Затем электронная таблица может применять формулу сортировки к промежуточному набору данных, чтобы создать выходные данные. Любые созданные данные и/или сохраненные между последовательными или субсеквентными выполнениями формул или выражений являются промежуточным набором данных. Более детальное описание реализации способа манипуляции данными с одной или более функциями базы данных описано со ссылкой на Фиг.5.
Затем, операция 412 отправки отправляет выходные данные в электронную таблицу. Выходные данные могут быть новой таблицей данных или набором данных. В реализациях настоящего изобретения модуль электронной таблицы формирует выходные данные. В одной реализации модуль электронной таблицы выводит таблицу с колонкой и заголовками строки. В одной реализации модуль электронной таблицы может давать название выходным данным.
В одной реализации модуль электронной таблицы определяет размер и конфигурацию выходных данных. Модуль электронной таблицы может определять, как много строк и как много колонок содержат в себе выходные данные. Затем модуль электронной таблицы может определять, существует ли достаточное место в электронной таблице для размещения выходных данных в электронной таблице. В одной реализации модуль электронной таблицы может находить ячейку, в которой закреплены функция базы данных или формула. Модуль электронной таблицы может затем проверять строки и колонки вокруг опорной ячейки на любые существующие данные. Если с