Патент на изобретение №2383923

Published by on




РОССИЙСКАЯ ФЕДЕРАЦИЯ



ФЕДЕРАЛЬНАЯ СЛУЖБА
ПО ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ,
ПАТЕНТАМ И ТОВАРНЫМ ЗНАКАМ
(19) RU (11) 2383923 (13) C2
(51) МПК

G06F17/30 (2006.01)

(12) ОПИСАНИЕ ИЗОБРЕТЕНИЯ К ПАТЕНТУ

Статус: по данным на 28.09.2010 – действует

(21), (22) Заявка: 2005120367/09, 29.06.2005

(24) Дата начала отсчета срока действия патента:

29.06.2005

(30) Конвенционный приоритет:

30.09.2004 US 10/957,502

(43) Дата публикации заявки: 20.01.2007

(46) Опубликовано: 10.03.2010

(56) Список документов, цитированных в отчете о
поиске:
US 2002169799 A1, 14.11.2002. US 2002143780 A1, 03.10.2002. US 5890174 A, 30.03.1999. RU 2182357 C2, 10.05.2002.

Адрес для переписки:

129090, Москва, ул. Б.Спасская, 25, стр.3, ООО “Юридическая фирма Городисский и Партнеры”, пат.пов. Ю.Д.Кузнецову, рег. 595

(72) Автор(ы):

БЕККЕР Эндрю Дж. (US),
ЭЛЛИС Чарльз Д. (US),
КИРИЛОВ Джозеф М. (US),
НИЕМИСТО Юха П. (US),
АНДРОСКИ Мэттью Дж. (US),
КОЛЛИ Роберт К. (US),
ХОКИНГ Роберт Дж. (US),
ПЕЙТОН-ДЖОУНС Саймон (US)

(73) Патентообладатель(и):

МАЙКРОСОФТ КОРПОРЕЙШН (US)

(54) ПРОЕКТИРОВАНИЕ ФУНКЦИЙ ЭЛЕКТРОННЫХ ТАБЛИЦ ДЛЯ РАБОТЫ С ТАБЛИЦАМИ ДАННЫХ

(57) Реферат:

Изобретение относится к области приложений для работы с электронными таблицами. Техническим результатом является облегчение манипулирования большим набором данных. Настоящее изобретение обеспечивает несколько формул базы данных, которые могут манипулировать большим набором данных. Каждая формула базы данных настраиваема и повторяема без вмешательства пользователя. Соответственно, пользователи могут вводить многочисленные опции, которые могут охватить желания пользователя по выводу данных в определенных формах или форматах, выбору набора входных данных и последовательному получению набора выходных данных. В некоторых вариантах реализации пользователь может ссылаться на семантический набор данных вместо задания ряда ячеек, чтобы использовать в формуле базы данных. Ссылка на семантические данные позволяют формулам базы данных приспосабливаться к изменениям в ряду ячеек, которые новые данные могут занимать. 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 отправки отправляет выходные данные в электронную таблицу. Выходные данные могут быть новой таблицей данных или набором данных. В реализациях настоящего изобретения модуль электронной таблицы формирует выходные данные. В одной реализации модуль электронной таблицы выводит таблицу с колонкой и заголовками строки. В одной реализации модуль электронной таблицы может давать название выходным данным.

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

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

В другой реализации способ 500 для манипуляции входными данными (таких как входные данные 304) с одной или более функциями базы данных (такой как функция 312 базы данных) показан на Фиг.5. Во-первых, операция 502 анализа анализирует формулу базы данных (такую как формула 314 базы данных) или функцию базы данных. В реализациях настоящего изобретения модуль электронной таблицы (такой как модуль 306 электронной таблицы) получает от пользователя одну или более формул базы данных или функции, которые могут включать в себя один или более аргументов. В некоторых реализациях пользователь может предоставлять шаблонное выражение, в котором одна или более функций базы данных вставлены в формулу базы данных. В качестве примера выражение формулы базы данных, полученное приложением для работы с электронными таблицами, может иметь FILTER FUNCTION внутри формулы SORT внутри формулы REMOVE DUPLICATES. Это выражение формулы может быть выглядеть следующим образом: =RemoveDuplicates(Sort(Filter(Table1,[Column 1]=Product 1, [Sales]>1200), [Salesperson Name],1), [Column 1], [Salesperson Name]). В этом примере результаты формулы в списке, сортированном по salesperson, и отфильтрованном, включают в себя продукты, которых продавец продал больше чем 1200 единиц за одну команду с удаленными комбинациями дубликата продавца/наименования продукта.

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

Затем, операция 504 извлечения извлекает проанализированное выражение. В некоторых реализациях модуль электронной таблицы может извлекать одно из сохраненных проанализированных выражений. Модуль электронной таблицы может получать доступ к памяти, чтобы вызывать выражение и обеспечить выражение для дальнейшего вычисления. Извлекая выражения одно за раз, модуль электронной таблицы может переупорядочивать выполнение функций базы данных и аргументов.

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

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

Затем, операция 510 определения определяет, имеются ли другие выражения, для оценки. В реализациях настоящего изобретения модуль электронной таблицы может определять, если все выражения были оценены для класса, строки за строкой или «целой таблицы». Если выражение не было оценено, процесс 500 возвращается к операции 504 извлечения. Однако, если нет других выражений, нуждающихся в оценке, процесс 500 переходит к операции 512.

Затем, операция 512 необязательного упорядочения упорядочивает выражения строка за строкой. В реализациях настоящего изобретения модуль электронной таблицы может упорядочивать выражения, а не применять непосредственно выражения строка за строкой. Упорядочивание может включать в себя размещение выражений в структуре, которая наиболее эффективна для обработки данных. В одной реализации упорядочивание может быть от наиболее ограничивающего до наименьшего ограничивающего выражения. Например, выражение «С=5» более ограничивающее, чем выражение «С>5», потому что первое выражение имеет только одну вероятность, значение, равное 5, а второе выражение имеет многочисленные вероятности, все значения больше 5. Упорядочивание выражений наиболее результативно, вследствие того, что применение более ограничивающих выражений первыми может устранять строку из дальнейшей обработки до применения менее ограничивающих выражений.

Затем, операция 514 оценки оценивает каждую строку из всех упорядоченных выражений строка за строкой. В реализациях настоящего изобретения модуль электронной таблицы применяет проанализированные, отделяющиеся, упорядоченные выражения строка за строкой, как набор к каждой строке по отдельности. Модуль электронной таблицы может оценивать каждую строку или серийно или случайно. Если любое выражение применяется к строке, данные в пределах этой строки могут быть устранены, если необходимо. Любое выражение, которое уже было применено к устраненной строке, не нуждается в применении, и модуль электронной таблицы может переходить к следующей строке для оценки выражений. Таким образом, выражения “строка за строкой” могут функционировать скорее подобно массиву формулы, чем таблице формулы. Хотя настоящая реализация применяет выражение строки за строкой, возможно, также применять выражения “колонка за колонкой”. Таким образом, в некоторых реализациях отделение, упорядочивание и оценка могут быть завершены выражениями “колонка за колонкой”. После того как модуль электронной таблицы применяет выражения “строка за строкой” к каждой строке, модуль электронной таблицы создает первый промежуточный набор 516 данных (такой как промежуточный набор 316 данных).

Если операция 506 определения определяет проанализированное выражение не как выражение строка за строкой, процесс 500 может переходить к операции 518 необязательного упорядочения. Операция 518 необязательного упорядочения может упорядочить выражения «целая таблица», а не применять непосредственно выражения «целой таблицы». В некоторых реализациях выражения «целой таблицы» могут быть упорядочены от наиболее ограничивающего к наименее ограничивающему, как объяснялось выше. Другие методики упорядочивания завершаются как для выражений “строка за строкой”, так и для выражений «целой таблицы», потому что обработка выражений может быть более результативной или эффективной, если некоторые выражения следуют за другими выражениями. Например, обработка может быть более эффективной, если сортировка начинается с операции «выбрать первые десять».

Затем, операция 520 применения применяет выражения «целой таблицы». В одной реализации модуль электронной таблицы извлекает из памяти набор первых промежуточных данных, созданный выражениями “строка за строкой”. Таким образом, модуль электронной таблицы применяет первое выражение «целой таблицы». Модуль электронной таблицы создает субсеквентный набор 522 промежуточных данных и хранит субсеквентный набор 522 промежуточных данных.

Затем, операция 524 определения определяет, если другие выражения «целой таблицы», которые необходимо применить. Если другие выражения «целой таблицы» не были еще применены к субсеквентному набору промежуточных данных, процесс 500 возвращается к применению операции 520. Если нет необходимости в применении никакого другого выражения «целой таблицы», последний набор 421 субсеквентных промежуточных данных, сохранившийся в памяти, становится выходными данными (такими как выходные данные 310).

Ссылаясь на операцию 526 получения, если базовые входные данные меняются, операция 526 получения получает изменение. В одной реализации формула базы данных или функция могли уже быть введены в пределы электронной таблицы. Ранее существовавшая формула базы данных или функция имеет отобранный набор входных данных, к которому были применены выражения. Сохраненная выборка набора входных данных представляет «зависимости» от формулы базы данных или функции базы данных. Пользователь может менять некоторую часть «зависимых» ячеек, которые были предназначены для ввода в формулу базы данных или функцию. Изменения во входных данных могут приходить от редактирования входных данных, добавления к входным данным, обновления входных данных или других действий. Если входные данные изменены, процесс 500 применения выражений может начаться в блоке 502.

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

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

Функция 602 FILTER базы данных может удалять элементы данных из электронной таблицы в соответствии с одним или более аргументами. Как показано на Фиг.6, функция 602 FILTER базы данных имеет примерный набор выражений, таких как выражение 612 и выражение 614. В реализациях настоящего изобретения каждая функция базы данных может иметь выражения или аргументы подобные выражению 612 и 614. Синтаксис и операция выражений могут меняться в зависимости от типа функции базы данных. Специалисты в данной области техники будут узнавать примерные аргументы и/или выражения в наборе примерных функций базы данных.

В реализациях настоящего изобретения примерная функция FILTER имеет следующую структуру и синтаксис: FILTER(Table, Filter Expression 1, [Filter Expression Expression2],). Функция 602 FILTER базы данных возвращает все элементы (строки) из набора данных, которые согласуются со всеми условиями фильтрации, реализованными аргументами. В реализациях настоящего изобретения аргументы могут быть алгебраическими, математическими, булевскими или другими типами выражений, которые могут содержать одну или более ссылок на наборы данных в пределах входных данных. Аргументы могут быть применены, и функция 602 FILTER базы данных возвращает список строк, который согласуется со всеми аргументами. Только элементы (строки), в которых все аргументы истинны, включены как часть выходных данных.

Например, примерная таблица, показанная ниже, может называться Mytable. Таблица следует ниже:

Foo Bar
C 1
B 2
C 3
B 4
C 5

Функция FILTER может быть введена в электронную таблицу нижеприведенными выражениями: =FILTER(MyTable,[Bar]>1,[Foo]=C)

Результатом этой функции FILTER будет приведенная ниже таблица:

Foo Bar
C 3
C 5

Функция FILTER использовала семантические ссылки для символов колонки, например, функция FILTER использовала наименование колонок «Foo» и «Bar» и наименование таблицы «MyTable», которые являются именованной областью для всей таблицы.

Другим примером функции базы данных является функция 604 SORT, как показано на Фиг.6. В реализациях настоящего изобретения примерная функция SORT может иметь следующие структуру и синтаксис: SORT(Table,Field 1, Ascending/Descending 1, [Field 2, Ascending/Descending 2],). Функция 604 SORT возвращает таблицу, которая является результатом сортировки выбранных данных по всеми заданными аргументами. Первый заданный аргумент имеет наивысшую степень (применяется последним) сортировки, второй аргумент имеет вторую наивысшую степень сортировки и так далее. Таким образом, несколько сортировок применяются в обратной последовательности к последовательности появления аргументов в функции, чтобы производить соответствующим образом отсортированный список.

Другим примером функции базы данных может быть функция 606 REMOVE DUPLICATES, показанная на Фиг.6. В реализациях настоящего изобретения функция 606 REMOVE DUPLICATES может иметь следующие структуру и синтаксис: REMOVEDUPLICATES(Table,[Field 1], [Field 2],). Функция 606 REMOVE DUPLICATES может возвращать набор данных, которые не содержат никаких элементов дубликатов, выраженных любым из аргументов. Если все заданные элементы определяются аргументами, согласующимися с аргументами другого элемента, тогда функция 606 REMOVE DUPLICATES может возвращать только один из двух элементов. В некоторых реализациях функция 606 REMOVE DUPLICATES может возвращать «первый» элемент (элемент, позиционирующийся ближе к верху таблицы). Если набор данных не включает никаких дублирующихся данных, тогда никакие данные не удалены.

В качестве примера выбранные данные, показанные ниже, называются «MyTable»:

Foo Bar
A 1
B 2
C 3
B 2
C 5

Пример функции 606 REMOVE DUPLICATES показан ниже:

=REMOVEDUPLICATES(MyTable,[Foo],[Bar]).

Функция 606 REMOVE DUPLICATES возвращает набор выходных данных, как показано ниже:

Foo Bar
A 1
B 2
C 3
C 5

Еще одним примером функции базы данных является функция 608 TABLE APPEND, показанная на Фиг.6. В реализациях настоящего изобретения функция 608 TABLE APPEND имеет следующие структуру и синтаксис: TABLEAPPEND(Table1, Table2). Эта функция 608 TABLE APPEND возвращает набор данных, который содержит все элементы из Table 1 и Table 2. В одной реализации выходные данные имеют следующий порядок – все поля из Table 1, за которыми следуют все поля из Table 2, которых нет в Table 1. В другой реализации, когда одна таблица имеет одно или более полей, которые другая таблица не имеет, эти поля могут быть не включены. Функция 608 TABLE APPEND может присоединять данные в начало, конец или по краям одной или другой таблицы.

Финальным примером функции базы данных может быть функция 610 ADD COLUMN, показанная на Фиг.6. В вариантах реализации настоящего изобретения функция 610 ADD COLUMN может иметь следующие структуру и синтаксис: ADDCOLUMN(Table,Column Name, Expression for Column). Функция 610 ADD COLUMN может создавать набор данных, который является таким же, как в «таблице», но содержит также колонку, именем которой является «Column Name» и чьи значения данных являются результатом аргумента, называемого «Expression for Column». Функция 610 ADD COLUMN может быть применена строка за строкой. Функция 610 ADD COLUMN может иметь множественные аргументы. В некоторых вариантах реализации множественные аргументы в функции 610 ADD COLUMN могут функционировать подобно функции FILTER.

Формула изобретения

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

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

3. Способ по п.2, в котором один или более аргументов включают в себя семантическую ссылку.

4. Способ по п.2, в котором пользователь предоставляет один или более аргументов.

5. Способ по п.1, в котором входные данные являются таблицей данных.

6. Способ по п.1, в котором выходные данные являются таблицей данных.

7. Способ по п.1, в котором представление выходных данных вызывает перемещение одного или более элементов раннее существующих данных.

8. Способ по п.1, в котором функция базы данных является одной из функции фильтрации, функции сортировки, функции удаления дубликатов, функции присоединения таблицы или функции добавления колонки.

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

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

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

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

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

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

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

16. Способ по п.15, в котором один или более субсеквентных промежуточных наборов данных создаются вследствие применения каждого оставшегося аргумента или функции базы данных к первому промежуточному набору данных или к одному или более из субсеквентных промежуточных наборов данных.

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

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

19. Компьютерный носитель хранения по п.18, причем один или более аргументов включает в себя семантическую ссылку.

20. Компьютерный носитель хранения по п.18, причем пользователь предоставляет один или более аргументов.

21. Компьютерный носитель хранения по п.17, причем входные данные являются таблицей данных.

22. Компьютерный носитель хранения по п.17, причем выходные данные являются таблицей данных.

23. Компьютерный носитель хранения по п.17, причем представление выходных данных вызывает перемещение одного или более элементов раннее существующих данных.

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

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

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

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

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

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

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

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

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

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

34. Система по п.33, в которой первый промежуточный набор данных создан при применении аргументов и функций базы данных к каждой строке отдельно.

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

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

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

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

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

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

41. Способ по п.40, в котором один или более аргументов включают в себя символ колонки.

42. Способ по п.40, в котором один или более аргументов включают в себя математическое выражение.

43. Способ по п.40, в котором один или более аргументов являются семантическими.

44. Способ по п.39, в котором две или более функций базы данных принимаются как встроенные формулы базы данных.

45. Способ по п.39, в котором выходные данные занимают две или более ячеек в электронной таблице.

РИСУНКИ

Categories: BD_2383000-2383999