CN1755668B - 用于在电子制表应用程序中处理数据表格的方法和系统 - Google Patents
用于在电子制表应用程序中处理数据表格的方法和系统 Download PDFInfo
- Publication number
- CN1755668B CN1755668B CN2005100893500A CN200510089350A CN1755668B CN 1755668 B CN1755668 B CN 1755668B CN 2005100893500 A CN2005100893500 A CN 2005100893500A CN 200510089350 A CN200510089350 A CN 200510089350A CN 1755668 B CN1755668 B CN 1755668B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- database functions
- functions
- input data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Quality & Reliability (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明提供可处理大量数据集的若干数据库公式。每个数据库公式都是专用的和可重复的,而无需用户干预。因而,用户可输入包括用户想要以某些形式或格式输出数据的许多选项、选择数据数据集、以及一致地接受输出数据集。在某些实施例中,用户可在语义上引用数据集,而不指定要在数据库公式中使用的单元范围。在语义上引用数据使数据库公式能根据新数据可占据的单元范围中的改变进行调整。
Description
技术领域
本发明一般涉及电子制表应用程序领域,尤其涉及数据在电子表格中的重新组织。
背景技术
为了能在信息时代生存,企业和机构需要有关其组织、市场和运作的有用信息。有用的商业信息通常是易于理解和易于吸收的压缩数据集合。为了创建有用信息,企业和机构一般都从许多不同来源获取大量的数据集合,然后再将数据压缩和组织成更为有用的形式和格式。企业和组织通常依赖于软件包来把数据压缩、处理或表达成有用信息。软件包使大量数据集合的处理成为可能并有效。用来从数据集合中导出更有用信息的最常用软件包之一是电子制表应用程序,诸如由微公司提供的微Excel电子制表应用程序。
某些电子制表应用程序允许使用数据库操作进行某些数据处理。诸如排序或概率的数据库操作使用户能格式化、压缩或组织电子表格内的数据。在诸如微Excel电子制表应用程序的电子制表应用程序中,数据库操作仅作为一次性操作为用户可用。数据库操作通常通过电子制表应用程序中的下拉菜单访问。菜单选择一般打开一个操作用户界面来使用户按步骤进行使用数据库操作的过程。不幸的是,用户仅可采用这些操作一次,且给用户仅提供一些改变数据库操作作用方法的选项。为了反复数据库操作,用户必须再次从菜单中选择该操作并再次输入选项。因而,数据库操作通常不是自动可反复的,且不灵活。
当用户是一个大机构且想要处理来自若干不同源的较大数据集合时,这些问题就更为恶化。在电子制表应用程序中需要复杂的基于表格的数据库操作的用户常常变成手动处理数据或者创建宏代码以准备数据。第一个选项常常是耗时、昂贵并容易出错的,因为该方法在每次数据变化时都需要手动干预。为了使该过程自动化,用户可采用诸如由Visual为应用程序创建的宏代码。不幸的是,宏代码的语法和结构对电子制表应用程序的大多数用户而言较困难。宏代码也是难以维护的。大多数用户不能解密实际代码,因而不能纠正错误并在将来调整解决方案。
此外,用户常常在又发生或周期性基础上将新数据引入电子表格。例如,每月销售数据可逐月结合到电子制表应用程序中。用户可逐月处理数据以创建有关在过去一个月期间商务表现的有用信息。为了完成每月数据的处理,用户必须既非常耗时又非常浪费地每个月都使用许多数据库操作,使得上述的用户常常改变以对新数据发挥作用的手动操作,或者创建上述的可对新数据集起作用但难以创建的宏代码。
发明内容
本发明涉及适用于创建在电子表格中处理数据的“数据库公式”的一套数据库函数。每个数据库函数都具有众多可定义次数或自变量,且数据库函数可与其它数据库函数、其它电子表格函数、以及其它运算符组合以创建一可专用的输出。因而,用户可输入包括用户想要以特定形式或格式输出数据的众多选项。
在本发明各实施例中,对每个数据库函数的输入都是一数据集。数据集可以是占据两行或多行、两列或多列、或两列或多列以及两行或多行的单元数组。在本发明各实施例中,每个数据库函数的输出可以都是一数据集。因而,每个数据库函数都可创建输出数据“块”(具有一个以上数据值)的新数据表格。数据库函数使用户能创建依赖于数据库函数对输入数据如何操作而在组织和尺寸上变化的数据集。
在本发明一实施例中,用于处理电子表格中一数据表格的方法包括接收一个或多个数据库函数、接收对从数据表格中输入数据的选择、根据一个或多个数据库函数来处理输入数据、并在电子表格中呈现输出数据。在某些实施例中,在嵌入式数据库格式中接收两个或多个数据库函数。
本发明可包括对电子表格的输入和输出。在一实施例中,一个或多个数据库函数具有一个或多个自变量。在另一实施例中,自变量之一具有一语义引用。在某些实施例中,用户提供一个或多个自变量。在另外的实施例中,一个或多个自变量包括一列标记。在一实施例中,一个或多个自变量包括一数学表达式。
在某些实施例中,输入数据是一数据表格。在本发明各实施例中,输出数据是一数据表格。在某些实施例中,所呈现的输出数据可使得现存数据的一项或多项移动。在某些实施例中,输出数据可占据电子表格的两个或多个单元。
本发明还包括数据库函数的示例性实施例。在一实施例中,数据库函数包括一过滤函数、排序公式、去除副本公式、表格附加公式或添加列公式。在某些实施例中,过滤函数包括比较至少一项数据与过滤自变量,并在没有任何符合过滤自变量的来自输入数据的项时返回输出数据。在某些实施例中,排序函数包括返回根据一个或多个排序自变量所组织的输出数据集。在某些实施例中,副本去除函数包括确定输入数据中在自变量内指定的两项数据相同并返回输出数据,其中两项类似数据之一可去除。在某些实施例中,表格附加函数包括检索两个输入数据集并返回输出数据,其中第一个输入数据集的至少一部分可附于第二个输入数据集的至少一部分,在某些实施例中,列添加函数包括根据一个或多个自变量创建来自输入数据的一数据列并返回输出数据,其中输出数据包括输入数据和数据列。
在本发明各实施例中,处理输入数据包括用一个或多个数据库函数接收一个或多个自变量、解析一个或多个自变量以及一个或多个数据库函数、确定一个或多个自变量或者一个或多个数据库函数是否可逐行应用、如果一个或多个自变量或者一个或多个数据库函数可逐行应用则将那些自变量或数据库函数分别应用于每一行、并应用任何剩下的自变量或数据库函数。在本发明其它实施例中,从将自变量和数据库函数分别应用于每一行创建第一中间数据集。在某些实施例中,由于每个剩下的自变量或数据库函数应用于第一中间数据集或者一个或多个随后中间数据集,可创建一个或多个随后中间数据集。
在本发明各实施例中,用于显示输出数据的用户界面提供接收应用于输入数据集的一个或多个数据库函数、接收输入数据的选择、并在数据库函数已应用于输入数据之后显示输出数据。
本发明可以计算机进程、计算系统或诸如计算机程序产品的制造品的方式来实现。计算机程序产品可以是计算机系统可读的并编码用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读的并编码用于执行计算机进程的指令的计算机程序的载体上的传播信号。
参阅在下面简单归纳的附图、本发明各示例性实施例的详细描述以及所附权利要求书,可获取对本发明及其改进的更全面理解,
附图说明
图1A、1B和1C是示出示例性数据库函数、函数输入以及函数输出之间操作关系的本发明一实施例的功能电子表格。
图2示出根据本发明的一基本计算机环境和计算装置。
图3示出根据本发明包括数据库函数的电子制表应用程序一实施例的基本框图。
图4示出根据本发明在电子表格内创建并采用数据库函数的基本方法的一实施例。
图5示出根据本发明将数据库函数应用于电子表格内数据集的方法的另一实施例。
图6示出根据本发明数据库函数的若干示例性实施例。
具体实施方式
本发明将参照示出本发明各实施例的附图进行更全面的描述。然而,本发明可以各种不同形式体现并不应被揭示为限于在此所述的实施例中。相反,提供这些实施例可使本揭示国家全面和完整,并将把本发明的范围传达给本领域技术人员。
一般而言,本发明涉及在电子制表应用程序中应用数据库函数的各方法的实施例。根据本发明各实施例,在此所述方法可以在单独的单机计算机系统上读取并执行的计算机指令集的方式来执行。
本发明可由一个或多个计算机或其它装置所执行的诸如程序模块的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常程序模块的功能可按需结合或分布于各个实施例中。
具有本发明各方面的示例性电子制表应用程序如图1A、图1B和图1C所示。在本发明各实施例中,电子制表应用程序或电子表格是可存储数据、计算数据和显示数据的软件应用程序。电子表格可被组织成具有一个或单个电子表格的工作簿。每个电子表格都具有可从一系列行和一系列列的交集形成的多个单元。一项数据可占据一个单元。数据表格是占据电子表格内多行和多列的单元集合。电子制表是本领域众所周知的,故不再赘述。
示例性电子表格100如图1A所示。电子表格100包含数据表格102。表格102具有标为“SalesList”的标题。表格102具有从行5到行26的22个行106。表格102还具有3个列108,其中在行5中有标为:“Country”、“Total Sales”和“AverageSales”的列标题110。数据在从行6到行26的列D和列E中。
具有一个或多个数据库函数的数据库公式可输入到电子表格100中。在本发明各实施例中,数据库函数是电子制表应用程序中可检索输入数据集、将该输入数据处理成另一形式或格式、并生成输出数据集的函数。数据的范围或数据集是占据电子表格一个或多个单元的一项或多项数据。数据库函数可改变数据的显现或组织。一般而言,数据库函数重新组织输入数据、去除输入数据内的数据项、或将数据添加到输入数据。在本发明各实施例中,某些数据库函数包括排序、过滤、表格附加、消除副本、以及添加列。这些特定实施例将在下面进行更详细地揭示,但本发明并不限于这些特定实施例。在本发明的某些实施例中,数据库函数是可反复的。换言之,当输入数据改变时,数据库函数可自动重新运行以提供更新后的输出数据。
在某些实施例中,输入数据无需具有固定尺寸而可以改变和更新,且数据库函数可按照改变进行调整。在一实施例中,数据库函数可采用语义指定。语义地指定或一语义指定是指一种选择数据集的特定方法。不给出单元、行、或列引用,用户可使用某些类型的语言描述符,它们可由电子表格用来寻找用户想要选择的电子表格数据。例如,如果列C包括一组孩子的所有年龄,用户可使用在表达式中的对列C的语义指定,像“[age]=3”。语义指定“age”是自变量中的列标记。在本发明各实施例中,列标记是指向一特定列的一类自变量。在以上示例中,术语“age”是列标记。列标记可以使电子表格能识别某一列并将公式或自变量应用于该列的任何方式来表达。语义指定在2004年9月30日提交的题为“Method andImplementation for referencing dynamic data in spreadsheet applications”(用于在电子制表应用程序中引用动态数据的方法和实现)的相关美国专利申请中有更详细解释,它在此全部引入作为参考。
数据库函数的输出可以是占据一个或多个单元的数据集。输出数据是由一个或多个应用数据库函数创建的最终数据集。换言之,当所有数据库函数已应用于输入数据之后,输出数据就可形成最终的数据集。在一实施例中,用户或电子制表应用程序无需定义输出数据的尺寸、输出数据应占据的单元范围,但输出数据的尺寸不受限制并可完全反映输入以及数据库函数对该输入数据的效果。
每个数据库函数可具有能调整或适应数据库函数的执行的一个或多个专用自变量或次数。在本发明各实施例中,自变量是指一个或多个表达式或数据库函数修正。自变量可调整或适应于以某种方式执行的公式。自变量可以是代数、布尔或其它格式。在一实施例中,自变量是指一单元。在本发明各实施例中,表达式是数学或逻辑符号或具有意义的符号组合。在本说明书中,表达式是指数据库函数或数据库公式中的自变量。
在本发明各实施例中,数据库公式是使用一个或多个数据库函数来执行单个公式定义中的一系列数据库操作的公式。在本发明各实施例中,嵌入式数据库公式或嵌套数据库公式是指将一个或多个数据库函数置入数据库公式语法中的能力。例如,数据库公式可具有表达式:“SORT(tablel(FILTER))”。在数据库公式的示例中,FILTER函数可嵌入SORT函数。嵌入函数使用户能无需创建多个单独公式而创建以若干方法处理数据的复杂表达式。
具有数据库函数的示例性数据库公式102在图1B的单元G5112中示出。示例性数据库公式112包括一FILTER函数。根据FILTER函数中的自变量,过滤器将根据数据库公式的自变量中对表格102的语义指定114而应用于表格“SaleList”102。数据库公式112还包括另一自变量116。数据库公式112使用语义引用116作为列标记,如由自变量116“[Total Slaes]>20000”可见。列标记指向列D 118中的数据。自变量116要求,列D中数据不在值2000之上的所有数据行应从最终输出数据中去除。因而,本示例中的数据库公式112将过滤掉表格“SalesList”102中总销售额(Total Sales)不超过20000的所有数据行。
参照图1C,输出数据如第二表格112所示,它占据从行5到行19的一系列行122以及从列G到列I的一系列列124。输出数据表格112可锚定在用户输入数据库公式的单元G5中。如图1C所示,电子制表应用程序通过将FILTER函数应用于表格102而从“SalesList”表格102中消除7行数据。被消除的行都是“SalesList”表格102的列D118中不超过20000的数据值的数据行,它们是行6、11、15、16、17、18和19。输出数据可保持同样数量的列,但也可改变行的数量。输出数据可置入一单元范围中而非输入数据库公式的一个单元。
在某些实施例中,一旦显示输出数据,就结束使用数据库函数处理数据的过程。在其它实施例中,来自具有一个或多个数据库函数的一个数据库公式的输出数据可算成具有一个或多个数据库函数的其它电子表格函数或其它数据库公式的输入。在某些实施例中,如果选定的输入数据改变,则数据库公式或数据库函数可反复地重新运行。因而,数据库公式或函数可在指定输入数据的任意改变之后重新应用并重新创建输出数据。实质上,数据库函数可像根据输入数据中改变而重新计算的其它电子制表函数一样进行操作。数据库函数和公式的重新应用不象数据库操作的单次应用。数据库公式和数据库函数的重新应用在上面进行了较全面的描述。
本发明可在其中实现的适当操作环境如图2所示。该操作环境仅是适当操作环境的一个示例,且并非旨在提出对本发明的使用范围或功能的任何限制。其它众所周知的适合用于本发明的计算系统、环境、和/或配置包括,但不限于,个人计算机、服务器计算机、手持式或膝上型装置、多处理器系统、基于微处理器系统、可编程消费电器、网络PC、新型计算机、典型计算机、包括以上系统或装置的任一种的分布式计算环境等。
参照图2,用于实现本发明各实施例的示例性计算环境包括诸如计算装置200的计算装置。在其最基本配置中,计算装置200通常包括至少一个处理单元202和存储器204。取决于计算装置200的准确配置和类型,存储器204可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等等)、或两者的某些组合。计算装置200的最基本配置在图2中由虚线206示出。此外,装置200还可具有附加特征或功能。例如,装置200还可包括其它存储器(可移动和/或不可移动)包括,但不限于,磁盘/带或光盘/带。这种其它存储器在图2由可移动存储器208和不可移动存储器210示出。这种计算机存储介质包括以用来存储诸如计算机可读指令、数据结构、程序模块、或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。存储器204、可移动存储器208和不可移动存储器210都是计算机存储介质的示例。计算机存储介质包括,但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化多功能盘(DVD)或其它光学存储器、磁盒、磁带、磁盘存储器、其它磁性存储装置、或可用来存储所需信息并可由装置200和处理器202访问的任何其它介质。任何这种计算机存储介质可以是装置200的一部分。
装置200还可包含使装置能与其它装置通信的通信连接212。通信连接212是通信介质的一个示例。通信介质通常体现为计算机可读指令、数据结构、程序模块、或其它诸如载波或其它传送机制的已调制数据信号中的其它数据,并包括任何信息传送介质。术语“已调制数据信号”意指具有以这种把信息编码到信号中的方式来设置或改变的一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其它无线介质的无线介质。
装置200还可具有诸如键盘、鼠标、笔、语音输入装置、触摸输入装置等的输入装置214。还可包括诸如显示器、扬声器、打印机等的输出装置216。这些装置单独地或结合在一起可形成用户界面102。所有这些装置在本领域中是众所周知的,无需在此赘述。
计算装置200通常包括至少某些形式的计算机可读介质。计算机可读介质可以是处理单元202可访问的任何可用介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用来存储诸如计算机可读指令、数据结构、程序模块、或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。以上任意组合可包括在计算机可读介质的范围内。
具有本发明各方面的电子制表应用程序300的功能图如图3所示。电子制表应用程序300包括可接受用户输入302的电子制表模块306。电子制表模块100是电子制表模块306的一个实施例。在本发明各实施例中,用户输入302可以是一个或多个数据库函数314、具有一个或多个数据库函数的一个或多个数据库公式312、和/或输入数据选集304。数据库公式112是数据库公式312的一个实施例。输入数据102是输入数据304的一个实施例。电子表格模块306可应用数据库函数和数据库公式。数据库模块306可将数据库函数314或数据库公式312应用于输入数据集304。电子制表模块306可根据数据库函数314或数据库公式312来处理输入数据304,并创建输出数据集310。输出数据210是输出数据310的一个实施例。在某些实施例中,电子表格模块306可将输出数据310置入电子表格内的一个或多个单元。在其它实施例中,电子表格模块306可在其它函数或计算中使用输出数据。在某些实施例中,电子表格模块306可在最终生成输出数据310之前创建一个或多个中间数据集316。中间数据集316指电子表格在连续或随后的数据库函数314或自变量的执行之间必须创建的表格或数据集。每个连续的数据库函数314或自变量可被应用于最相近的中间数据集316中。
电子制表应用程序300可接受在数据库公式312中的或独立于数据库公式312的数据库函数314,并根据数据库函数314执行数据库操作。换言之,用户可选择或提供处理输入数据的形式、格式、组织、结构或内容的数据库函数314。在某些实施例中,数据库函数314可被应用于包括整个表格的输入数据304的数组,并可以单独的数据数组来提供输出数据310。在其它实施例中,数据库函数314是动态的,因为当下层输入数据304改变时数据库函数314可重新运行。因而,用户无需手动地重新应用数据库函数314,但数据库函数314可因输入数据304的每次改动而持续生成输出数据310。
用于将一个或多个数据库函数(诸如数据库函数314)应用于输入数据集的方法400的一个实施例如图4所示。首先,提供操作402向用户提供一个或多个数据库函数314的选择。在本发明各实施例中,电子表格模块(诸如电子表格模块306)可通过使数据库函数对用户可用来提供数据库函数。在一实施例中,电子制表模块可提供一个数据库函数列表,诸如在菜单中。在另一实施例中,电子表格模块通过使用户能将数据库函数的名字键入电子表格(诸如电子表格300)来提供数据库函数。
然后,接受操作404接受数据库函数的用户条目。在本发明各实施例中,电子表格模块可将数据库函数存储到用户输入数据库函数的单元中。在其它实施例中,电子表格单元可将包含数据库函数的数据库公式(诸如数据库公式312)存储到用户输入数据库公式的单元中。
然后,接受操作406接受一个或多个自变量。在本发明各实施例中,自变量是调整或接受数据库函数的执行的表达式。在一实施例中,自变量可以是较大数据库公式的一部分。在其它实施例中,自变量可以是数据库函数语法的一部分。电子表格模块可用数据库函数来存储自变量。
然后,接受操作408接受输入数据的选择。输入数据可以是一个或多个数据单元。在一实施例中,用户可输入用于输入数据的单元范围。在另一实施例中,用户可采用一语义指定以指向输入数据集。在其它实施例中,用户可采用鼠标或其它图形用户界面输入装置来高亮并选择输入数据。电子表格模块可用数据库函数存储该输入数据选择。数据库函数、自变量或输入数据选择所需的任何校正可由电子表格模块提示并由用户进行。在某些实施例中,用户可将数据库函数、输入数据选择、以及一个或多个自变量以单个表达式的方式输入。
然后,处理操作根据一个或多个数据库函数来处理输入数据。在本发明各实施例中,电子表格模块对选定输入数据执行带有自变量的数据库函数。电子表格模块根据数据库函数和所附自变量的类型来处理输入数据。如所述,处理输入数据可意味着对输入数据的组织或公式的任何类型改变。在一实施例中,第一数据库函数或自变量(即列于任何嵌入式数据库公式的第一或一系列自变量的第一自变量)对输入数据执行。然后,电子表格模块通过每个连续函数或自变量按序进行。在某些实施例中,电子表格在应用每个函数或自变量之后输出中间数据集(诸如中间数据集316)。最后的函数或自变量创建输出数据(诸如输出数据310)。
例如,如果FILTER函数和排序公式应用于同一数据表格,则电子表格首先创建一中间数据集,诸如在过滤操作之后而在排序操作之前的第二数据表格。电子表格可存储该中间数据集。如后,电子表格可将排序公式应用于该中间数据集以创建输出数据。在公式或表达式的序列或随后执行之间创建和/或存储的任何数据都是之间数据集。用一个或多个数据库函数来处理数据的方法的一个实施例的更详细描述可参照图5进行。
然后,发送操作412向电子表格发送输出数据。输出数据可以是一个新的数据表格或数据集。在本发明各实施例中,电子表格模块形成输出数据。在一实施例中,电子表格模块生成带有列和行标题的表格。在一实施例中,电子表格模块可命名输出数据。
在一实施例中,电子表格模块确定输出数据的尺寸和配置。电子表格模块可确定多少行和多少列包括输出数据。然后,电子表格模块可确定电子表格中是否有足够空间来置入输出数据。在一实施例中,电子表格模块可寻找数据库函数或公式锚定的单元。然后电子表格模块可在锚定单元周围的行和列中检查任何现有数据。如果存在现有数据,则移动现有数据来为输出数据腾出空间。
然后,呈现操作414呈现输出数据。在本发明各实施例中,电子表格模块在电子表格中显示输出数据。输出数据可形成一数据单元、一列或行中的数据范围、一数据表格、或在单元或电子表格的任何排列中数据的任何其它排列。
用一个或多个数据库函数(诸如数据库函数314)来处理输入数据(诸如输入数据304)的方法500的另一实施例如图5所示。首先,解析操作502解析数据库公式(诸如数据库公式312)或数据库函数。在本发明各实施例中,电子表格模块(诸如电子表格模块306)可从用户处接收包括一个或多个自变量的一个或多个数据库公式或函数。在某些实施例中,用户可提供一公式化表达式,其中一个或多个数据库函数可嵌入数据库公式中。作为示例,由电子制表应用程序接收的数据库公式表达式可具有在嵌于REMOVE DUPLICATES公式内的SORT公式内的FILTERFUNCTION。该公式表达式可以下列方式显式:“=RemoveDuplicates(Sort(Filter(Tablel,[Column 1]=“Product 1”,[Sales]>1200),[Salesperson Name],1),[Column 1],[Salesperson Name]).”在该示例中,公式专用列表按“salesperson”排序并可过滤以包括销售人员单个订单卖出1200件以上的产品,其中可去除重复的销售人员/产品名组合。
在某些实施例中,嵌入式数据库公式可要求电子表格解析不同的表达式,其中这些表达式是数据库函数或数据库函数的自变量。在一实施例中,电子表格模块可将每个表达式视为单独的数据库操作。因而,每个表达式可分开并独立计算。数据库操作集合可以任何顺序并在过程中的任何时间应用于输入数据。因而,不按序执行表达式,电子表格模块可改变数据库操作的应用顺序和/或方法以最优化数据库公式的执行。在某些实施例中,解析后的表达式可存储用于后来的访问。
然后,接收操作504检索一解析的表达式。在某些实施例中,电子表格模块可检索一个已存储的解析表达式。电子表格模块可访问存储器以调用表达式并提供该表达式用于进一步计算。通过一次检索一个表达式,电子表格模块可对数据库函数和自变量的执行重新排序。
然后,确定操作506确定表达式的类。在本发明各实施例中,表达式可具有两种类型之一。第一种,表达式可应用于单个数据行或逐行应用。第二种,表达式可被应用于数据的“整个表格”而不是单个行。某些数据库操作可对单个行操作。例如,查看一个单元中数据值的过滤操作可逐行应用。相反,某些数据库操作可仅应用于全部或“整个”数据表格。例如,排序应用可仅应用于“整个”数据表格。因而,在本发明各实施例中,电子表格模块根据电子表格模块知道可应用于单个数据行的表达式集来检查表达式。如果表达式在列表中,则该表达式可立即应用。
如果表达式可逐行应用,则分隔操作508分隔逐行表达式。在一实施例中,电子表格模块分隔表达式并将表达式以独立的组合方式存储。在某些实施例中,与存储表达式相反,表达式立即连续地应用于每个输入数据行。在其它实施例中,电子表格模块在应用表达式之前存储每个逐行表达式用于在后来计算。因此,电子表格模块可分隔表达式用于在后来处理。
然后,确定操作510确定是否有其它表达式要查看。在本发明各实施例中,电子表格模块可确定是否已查看所有表达式的类,是逐行还是“整个表格”。如果还未查看一表达式,则过程500返回到检索操作504。然后,如果没有其它需要查看的表达式,则过程500继续到操作512。
然后,可任选排序操作512对逐行表达式进行排序。在本发明各实施例中,电子表格模块可对表达式排序而不是立即应用逐行表达式。排序可包括将表达式置入对处理最有效的组织中。在一实施例中,排序可从最严格的到最不严格的表达式。例如表达式“C=5”比表达式“C>5”更严格,因为第一个表达式仅具有一个可能性,等于5的值,而第二个表达式有很多可能性,所有大于5的值。对表达式排序更为有效,因为先应用较严格的表达式首先可避免该行在应用较不严格表达式之前作进一步处理。
然后,估算操作514通过所有经排序的逐行表达式来计算每一行。在本发明各实施例中,电子表格模块将解析的、分离的、排序的逐行表达式作为一个集分别应用于每个行。电子表格模块可连续地或随机地计算每个行。如果任意表达式应用于一行,则可根据需要消除该行内的数据。要应用于被消除行的任何表达式无需再应用,且电子表格模块可移到下一行进行表达式的计算。因而,逐行表达式可像数组公式一样操作,而不像表格公式。尽管本实施例逐行应用表达式,逐列应用表达式也是可能的。因而,在某些实施例中,分隔、排序和估算可对逐列表达式完成。当电子表格模块将逐行表达式应用于每一行之后,电子表格模块可创建一第一中间数据集516(诸如中间数据集316)。
如果确定操作506确定所解析的表达式不是逐行表达式,则过程500可继续到可任选排序操作518。排序操作518可排序“整个表格”表达式而不立即应用“整个表格”表达式。在某些表达式中,“整个表格”表达式可从最严格的排到最不严格的,如上所述。其它排序方法可既对逐行表达式又对“整个表格”表达式完成,因为如果某些表达式跟随其它表达式则表达式的处理会更加有效或高效。例如,如果在“取得最高10个”操作之前进行排序处理可更为有效。
然后,应用操作520应用“整个表格”表达式。在一实施例中,电子表格模块从存储器中检索由逐行表达式创建的第一中间数据集。然后,电子表格模块应用第一“整个表格”表达式。电子表格模块创建随后的中间数据集522并存储之。
然后,确定操作524确定是否需要应用其它“整个表格”表达式。如果另一个“整个表格”表达式已应用于随后的中间数据集,则过程500返回到应用操作520。如果不需应用其它“整个表格”表达式,则存储在存储器中最后的中间数据集522就变成输出数据(诸如输出数据310)。
参照接收操作526,如果底层的输入数据改变,则接收操作526接收改变。在一实施例中,数据库公式或函数可在电子表格内输入。现存的数据库公式或函数具有表达式要应用其中的选定输入数据集。所存储的输入数据选集表示数据库公式或数据库函数的“依赖性”。用户可改变被指定为数据库公式或函数的一部分“依赖”单元。对输入数据的改变可来自编辑输入数据、添加输入数据、刷新输入数据、或其它动作。如果输入数据改变,应用表达式的处理过程500可在框502开始。
在某些实施例中,电子表格模块接收改变。当改变作用于依赖单元中的输入数据时,改变会导致处理过程400从处理操作410开始重新运行。在一实施例中,数据库函数被重新计算或重新运行以使用已改变的输入数据来返回正确的输出数据集。因而,数据库公式和数据库函数可被重新计算,而不像数据库操作。
包含数据库函数的某些示例性数据库公式在图6中呈现。示例性实施例包括某些语法,但本发明并不限于该语法。相反,数据库公式和数据库函数可包括可向用户提供可重复的和类似公式的数据库操作的任何语法类型。此外,数据库公式和数据库函数可具有通过在数据库公式或数据库函数内包括一个或多个自变量而可向用户提供用户指定专用的任何语法。在某些实施例中,数据库公式和数据库函数可包括语义指定。
FILTER数据库函数602可根据一个或多个自变量从电子表格中去除数据项。如图6所示,FILTER数据库函数602具有一示例性表达式集,诸如表达式612和表达式614。在本发明各实施例中,每个数据库函数可具有类似于表达式612和表达式614的表达式或自变量。表达式的语法和操作可依赖于数据库函数的类型而改变。本领域技术人员将理解示例性数据库函数集中的示例性自变量和/或表达式。
在本发明各实施例中,示例性FILTER函数具有如下的结构和语法:“FILTER(Table,Filter Expression 1,[Filter Expression 2],...)”。FILTER数据库函数602返回来自符合由自变量体现的所有过滤条件的数据集的所有项(行)。在本发明各实施例中,自变量可以是可包含对输入数据中数据集的一个或多个引用的代数、数学、布尔、或其它类型的表达式。可应用自变量,而FILTER数据库函数602则返回符合所有自变量的一个行的列表作为输出数据的一部分,只包括所有自变量为真的项(行)。例如,如下所示的示例性表格可被称为“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”的名字,它是整个表格的已命名范围。
数据库函数的另一示例是SORT函数604,如图6所示。在本发明各实施例中,示例性SORT函数可具有如下结构和语法:“SORT(Table,Field 1,Ascending/Descending 1,[Field 2,Ascending/Descending 2],...)”。SORT函数604返回作为按所有特定自变量对选定数据排序的结果的表格。所指定的第一自变量是最高阶(最后应用)排序,第二自变量是次最高阶排序等。因而,可应用若干排序以自变量在函数中的显现顺序的逆顺序以生成经适当排序的列表。
数据库函数的另一示例可以是如图6所示的REMOVE DUPLICATES函数606。在本发明各实施例中,REMOVE DUPLICATES函数606可具有如下结构和语法:“REMOVE DUPLICATES(Table,[Field 1],[Field 2],...)”。REMOVEDUPLICATES函数606可返回不包含由任一自变量表达的任一重复项的数据集。如果所有指定项由与另一项的自变量匹配的自变量来标识,则REMOVEDUPLICATES函数606可仅返回两项之一。在某些实施例中,REMOVEDUPLICATES函数606可返回“第一”项(位于较靠近表格顶端的项)。如果数据集不包括任何重复数据,则不去除数据。
作为示例,如下所示的选定数据被称为“MyTable”。
Foo | Bar |
A | 1 |
B | 2 |
C | 3 |
B | 2 |
C | 5 |
示例REMOVE DUPLICATES函数606如下所示:
=REMOVEDUPLICATES(MyTable,[Foo],[Bar])
REMOVE DUPLICATES 606返回一输出数据集如下:
Foo | Bar |
A | 1 |
B | 2 |
C | 3 |
C | 5 |
数据库函数的另一示例是如图6所示的TABLEAPPEND函数608。在本发明各实施例中,TABLE APPEND函数608具有如下结构和语法:“TABLE APPEND(Table1,Table2)”。该TABLE APPEND函数608返回包含Table1和Table2所有项的数据集。在一实施例中,输出数据具有来自Table1的所有字段加上随后的不在Table1中的来自Table2的所有字段的顺序。在另一实施例中,当一个表格具有另一表格没有的一个或多个字段时,则不应包括那些字段。TABLE APPEND函数608可将数据加在顶部、底部或一个或另一个表格的旁边。
数据库函数的最后一个示例是如图6所示的ADD COLUMN函数610。在本发明各实施例中,ADD COLUMN函数610具有如下结构和语法:“ADD COLUMN(Table,Column Name,Expression for Column)”。ADD COLUMN函数610可创建与“Table”中相同但还包含其名字为“Column Name”的列,且其数据值为被称为“Expression for Column”的自变量的结果。ADD COLUMN函数610可逐行应用。ADD COLUMN函数610可具有多个自变量。在某些实施例中,ADD COLUMN函数610中的多个自变量可类似于FILTER函数作用。
Claims (45)
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.如权利要求34所述的方法,其特征在于,一个或多个随后的中间数据集是因为每个剩下的自变量或数据库函数都应用于所述第一中间数据集或者一个或多个随后的中间数据集而创建的。
36.一种用于在电子制表应用程序中处理数据表格的系统,其特征在于,包括:
用于接收对包括一个或多个自变量的一个或多个数据库函数之一的选择的装置,其中所述一个或多个数据库函数在所述电子制表应用程序的单元中接收,并且是所述电子制表应用程序中能检索数据输入组、处理所述输入数据为另一形式或格式和产生输出数据集的函数;
用于创建具有所述一个或多个数据库函数的数据库公式的装置,其中所述数据库公式是使用一个或多个数据库函数来在单个公式定义中执行一系列数据库操作的公式;
用于接收对包括了所述数据表格内一个或多个单元的输入数据的选择的装置,其中所述输入数据驻留在所述电子制表应用程序中;
用于解析所述一个或多个自变量以及所述一个或多个数据库函数的装置,其中在应用所述自变量或数据库函数之前,根据处理效率对所述自变量或数据库函数排序;
用于确定一个或多个自变量或者一个或多个数据库函数是否可逐行应用的装置;
用于将那些确定的自变量或那些确定的数据库函数分别应用于每一行的装置;
用于应用任何剩下的自变量或数据库函数的装置;以及
用于在所述电子表格中呈现所述输出数据的装置,其中所述输出数据被锚定在接收所述一个或多个数据库函数的所述单元中,所述输出数据被呈现为包括超过一个的所述电子制表应用程序的单元的数据数组,并且所述数组独立于所述数据表格。
37.如权利要求36所述的系统,其特征在于,所述第一中间数据集是将所述自变量和数据库函数分别应用于每一行所创建的。
38.如权利要求37所述的系统,其特征在于,一个或多个随后的中间数据集是因为每个剩下的自变量或数据库函数都应用于所述第一中间数据集或者一个或多个随后的中间数据集而创建的。
39.在一种具有图形用户界面的包括显示装置和用户界面选择装置的计算机系统中,一种用于接收具有要应用于输入数据集的一个或多个数据库函数的数据库公式的方法,其特征在于,包括以下步骤:
接收对输入数据的选择,所述输入数据包括电子制表应用程序的一个或多个单元,其中所述输入数据驻留在电子制表应用程序中;
接收一个或多个应用于所述输入数据的选择的数据库函数,其中所述一个或多个数据库函数在所述电子制表应用程序的一个或多个单元中接收;以及
当所述数据库函数已应用于所述输入数据之后显示输出数据,其中,所述输出数据在电子制表应用程序中显示并被锚定在接收所述一个或多个数据库函数的所述电子制表应用程序的一个或多个单元中,其中所述输出数据被呈现为包括超过一个的所述电子制表应用程序的单元的数据数组,并且所述数组独立于所述数据表格。
40.如权利要求39所述的方法,其特征在于,还包括用所述一个或多个数据库函数接收一个或多个自变量,其中所述自变量调整如何应用所述数据库函数。
41.如权利要求40所述的方法,其特征在于,一个或多个自变量包括一列标记。
42.如权利要求40所述的方法,其特征在于,一个或多个自变量包括一数学表达式。
43.如权利要求40所述的方法,其特征在于,一个或多个自变量是语义的。
44.如权利要求39所述的方法,其特征在于,所述数据库函数的两个或多个可接收为嵌入式数据库公式。
45.如权利要求39所述的方法,其特征在于,所述输出数据占据所述电子表格中的两个或多个单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/957,502 US7698287B2 (en) | 2004-09-30 | 2004-09-30 | Design of spreadsheet functions for working with tables of data |
US10/957,502 | 2004-09-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1755668A CN1755668A (zh) | 2006-04-05 |
CN1755668B true CN1755668B (zh) | 2010-06-23 |
Family
ID=35539586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100893500A Active CN1755668B (zh) | 2004-09-30 | 2005-07-29 | 用于在电子制表应用程序中处理数据表格的方法和系统 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7698287B2 (zh) |
EP (1) | EP1643387B1 (zh) |
JP (1) | JP5490348B2 (zh) |
KR (1) | KR101153069B1 (zh) |
CN (1) | CN1755668B (zh) |
AU (1) | AU2005202721B2 (zh) |
BR (1) | BRPI0502477B1 (zh) |
CA (1) | CA2510765C (zh) |
MX (1) | MXPA05007082A (zh) |
RU (1) | RU2383923C2 (zh) |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7237188B1 (en) * | 2004-02-06 | 2007-06-26 | Microsoft Corporation | Method and system for managing dynamic tables |
GB0307403D0 (en) | 2003-03-31 | 2003-05-07 | Medical Res Council | Selection by compartmentalised screening |
GB0307428D0 (en) | 2003-03-31 | 2003-05-07 | Medical Res Council | Compartmentalised combinatorial chemistry |
US20060078893A1 (en) | 2004-10-12 | 2006-04-13 | Medical Research Council | Compartmentalised combinatorial chemistry by microfluidic control |
US20050221339A1 (en) | 2004-03-31 | 2005-10-06 | Medical Research Council Harvard University | Compartmentalised screening by microfluidic control |
US7968287B2 (en) | 2004-10-08 | 2011-06-28 | Medical Research Council Harvard University | In vitro evolution in microfluidic systems |
US7849395B2 (en) * | 2004-12-15 | 2010-12-07 | Microsoft Corporation | Filter and sort by color |
US8601383B2 (en) * | 2005-09-09 | 2013-12-03 | Microsoft Corporation | User interface for creating a spreadsheet data summary table |
US7480675B2 (en) * | 2005-09-09 | 2009-01-20 | Microsoft Corporation | Automated placement of fields in a data summary table |
US8095866B2 (en) | 2005-09-09 | 2012-01-10 | Microsoft Corporation | Filtering user interface for a data summary table |
US7752215B2 (en) * | 2005-10-07 | 2010-07-06 | International Business Machines Corporation | System and method for protecting sensitive data |
US7627812B2 (en) | 2005-10-27 | 2009-12-01 | Microsoft Corporation | Variable formatting of cells |
US20100137163A1 (en) | 2006-01-11 | 2010-06-03 | Link Darren R | Microfluidic Devices and Methods of Use in The Formation and Control of Nanoreactors |
US20070174228A1 (en) * | 2006-01-17 | 2007-07-26 | Microsoft Corporation | Graphical representation of key performance indicators |
US7770100B2 (en) * | 2006-02-27 | 2010-08-03 | Microsoft Corporation | Dynamic thresholds for conditional formats |
WO2007133710A2 (en) | 2006-05-11 | 2007-11-22 | Raindance Technologies, Inc. | Microfluidic devices and methods of use thereof |
US9562837B2 (en) | 2006-05-11 | 2017-02-07 | Raindance Technologies, Inc. | Systems for handling microfludic droplets |
WO2008021123A1 (en) | 2006-08-07 | 2008-02-21 | President And Fellows Of Harvard College | Fluorocarbon emulsion stabilizing surfactants |
US8495586B2 (en) * | 2006-08-24 | 2013-07-23 | Software Analysis and Forensic Engineering | Software for filtering the results of a software source code comparison |
US8772046B2 (en) | 2007-02-06 | 2014-07-08 | Brandeis University | Manipulation of fluids and reactions in microfluidic systems |
US20080243823A1 (en) * | 2007-03-28 | 2008-10-02 | Elumindata, Inc. | System and method for automatically generating information within an eletronic document |
WO2008130623A1 (en) | 2007-04-19 | 2008-10-30 | Brandeis University | Manipulation of fluids, fluid components and reactions in microfluidic systems |
CN101055566B (zh) * | 2007-05-25 | 2010-06-09 | 金蝶软件(中国)有限公司 | 一种电子数据表的函数收集方法和装置 |
CN101122899B (zh) * | 2007-09-18 | 2011-01-05 | 杭州华三通信技术有限公司 | 报表的生成方法和设备 |
CN101425007B (zh) * | 2007-10-29 | 2012-09-05 | 珠海金山软件有限公司 | 一种可结构化显示电子表格函数提示的方法 |
US9558169B2 (en) * | 2007-11-20 | 2017-01-31 | Sap Se | Hierarchical grouping columns |
US10346854B2 (en) | 2007-11-30 | 2019-07-09 | Microsoft Technology Licensing, Llc | Feature-value attachment, reranking and filtering for advertisements |
US9189478B2 (en) * | 2008-04-03 | 2015-11-17 | Elumindata, Inc. | System and method for collecting data from an electronic document and storing the data in a dynamically organized data structure |
US8612438B2 (en) | 2008-06-13 | 2013-12-17 | Microsoft Corporation | Techniques for dynamic cross-filtering |
EP2315629B1 (en) | 2008-07-18 | 2021-12-15 | Bio-Rad Laboratories, Inc. | Droplet libraries |
US8037062B2 (en) | 2008-07-22 | 2011-10-11 | Elumindata, Inc. | System and method for automatically selecting a data source for providing data related to a query |
US8176042B2 (en) * | 2008-07-22 | 2012-05-08 | Elumindata, Inc. | System and method for automatically linking data sources for providing data related to a query |
US8041712B2 (en) * | 2008-07-22 | 2011-10-18 | Elumindata Inc. | System and method for automatically selecting a data source for providing data related to a query |
US20100083080A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Whole table referencing |
CN101763348B (zh) * | 2008-12-26 | 2011-12-07 | 英业达股份有限公司 | 动态表格式数据撷取系统与方法 |
US20100228752A1 (en) * | 2009-02-25 | 2010-09-09 | Microsoft Corporation | Multi-condition filtering of an interactive summary table |
EP2411148B1 (en) | 2009-03-23 | 2018-02-21 | Raindance Technologies, Inc. | Manipulation of microfluidic droplets |
US8707156B2 (en) * | 2009-04-02 | 2014-04-22 | Business Objects, S.A. | Render engine for spreadsheet |
US20110072340A1 (en) * | 2009-09-21 | 2011-03-24 | Miller Darren H | Modeling system and method |
US9275031B2 (en) * | 2009-10-09 | 2016-03-01 | Microsoft Technology Licensing, Llc | Data analysis expressions |
EP2486409A1 (en) | 2009-10-09 | 2012-08-15 | Universite De Strasbourg | Labelled silica-based nanomaterial with enhanced properties and uses thereof |
US10837883B2 (en) | 2009-12-23 | 2020-11-17 | Bio-Rad Laboratories, Inc. | Microfluidic systems and methods for reducing the exchange of molecules between droplets |
US10351905B2 (en) | 2010-02-12 | 2019-07-16 | Bio-Rad Laboratories, Inc. | Digital analyte analysis |
US8535889B2 (en) | 2010-02-12 | 2013-09-17 | Raindance Technologies, Inc. | Digital analyte analysis |
US9399797B2 (en) | 2010-02-12 | 2016-07-26 | Raindance Technologies, Inc. | Digital analyte analysis |
US9366632B2 (en) | 2010-02-12 | 2016-06-14 | Raindance Technologies, Inc. | Digital analyte analysis |
US9747270B2 (en) | 2011-01-07 | 2017-08-29 | Microsoft Technology Licensing, Llc | Natural input for spreadsheet actions |
EP3447155A1 (en) | 2010-09-30 | 2019-02-27 | Raindance Technologies, Inc. | Sandwich assays in droplets |
CN102456013A (zh) * | 2010-10-20 | 2012-05-16 | 金蝶软件(中国)有限公司 | 数据表中计算公式的处理方法和装置 |
EP3859011A1 (en) | 2011-02-11 | 2021-08-04 | Bio-Rad Laboratories, Inc. | Methods for forming mixed droplets |
WO2012112804A1 (en) | 2011-02-18 | 2012-08-23 | Raindance Technoligies, Inc. | Compositions and methods for molecular labeling |
EP3216872B1 (en) | 2011-06-02 | 2020-04-01 | Bio-Rad Laboratories, Inc. | Enzyme quantification |
US8841071B2 (en) | 2011-06-02 | 2014-09-23 | Raindance Technologies, Inc. | Sample multiplexing |
US9348941B2 (en) | 2011-06-16 | 2016-05-24 | Microsoft Technology Licensing, Llc | Specification of database table relationships for calculation |
US8959424B2 (en) | 2011-06-28 | 2015-02-17 | International Business Machines Corporation | Comparative and analytic lens for displaying a window with a first column for first data and a second column for comparison values of the first data and second data |
US8959423B2 (en) | 2011-06-28 | 2015-02-17 | International Business Machines Corporation | Drill-through lens for generating different types of reports |
US8658430B2 (en) | 2011-07-20 | 2014-02-25 | Raindance Technologies, Inc. | Manipulating droplet size |
US9483456B2 (en) | 2011-09-19 | 2016-11-01 | Jeffrey Dean Honsowetz | Grid data management |
US9053083B2 (en) | 2011-11-04 | 2015-06-09 | Microsoft Technology Licensing, Llc | Interaction between web gadgets and spreadsheets |
US9633110B2 (en) * | 2011-11-15 | 2017-04-25 | Microsoft Technology Licensing, Llc | Enrichment of data using a semantic auto-discovery of reference and visual data |
CN102999289B (zh) * | 2012-08-07 | 2016-10-05 | 珠海金山办公软件有限公司 | 在函数表达式中生成选区参数表示的方法及装置 |
CN103577533B (zh) * | 2012-08-12 | 2019-01-25 | 查平 | 开放式网络计算系统 |
US9286284B2 (en) | 2012-10-15 | 2016-03-15 | International Business Machines Corporation | Data filtering based on a cell entry |
US9158744B2 (en) * | 2013-01-04 | 2015-10-13 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for automatically extracting multi-format data from documents and converting into XML |
CN103136182B (zh) * | 2013-03-07 | 2016-02-10 | 珠海金山办公软件有限公司 | 一种电子表格中数据排序的方法、系统及数据排序装置 |
US20140324501A1 (en) * | 2013-04-30 | 2014-10-30 | The Glassbox Incorporated | Method and system for automated template creation and rollup |
US20140359417A1 (en) * | 2013-06-04 | 2014-12-04 | Omer Bar-On | Systems and methods for graphically modulating structured data |
US10664652B2 (en) | 2013-06-15 | 2020-05-26 | Microsoft Technology Licensing, Llc | Seamless grid and canvas integration in a spreadsheet application |
US11901041B2 (en) | 2013-10-04 | 2024-02-13 | Bio-Rad Laboratories, Inc. | Digital analysis of nucleic acid modification |
US10366156B1 (en) * | 2013-11-06 | 2019-07-30 | Apttex Corporation | Dynamically transferring data from a spreadsheet to a remote applcation |
US9944977B2 (en) | 2013-12-12 | 2018-04-17 | Raindance Technologies, Inc. | Distinguishing rare variations in a nucleic acid sequence from a sample |
WO2015103367A1 (en) | 2013-12-31 | 2015-07-09 | Raindance Technologies, Inc. | System and method for detection of rna species |
KR101459410B1 (ko) * | 2014-03-18 | 2014-11-07 | 주식회사 한글과컴퓨터 | 텍스트 자동 분할 입력 기반의 스프레드시트 구동 장치 및 방법 |
WO2016057854A1 (en) | 2014-10-08 | 2016-04-14 | Inertech Ip Llc | Systems and methods for cooling electrical equipment |
US10647981B1 (en) | 2015-09-08 | 2020-05-12 | Bio-Rad Laboratories, Inc. | Nucleic acid library generation methods and compositions |
US10175955B2 (en) | 2016-01-13 | 2019-01-08 | Hamilton Sundstrand Space Systems International, Inc. | Spreadsheet tool manager for collaborative modeling |
US10387558B2 (en) * | 2016-02-23 | 2019-08-20 | International Business Machines Corporation | Provision of a separate input interface for user interaction with a spreadsheet |
US10120851B2 (en) * | 2016-06-30 | 2018-11-06 | Microsoft Technology Licensing, Llc | Automatic semantic data enrichment in a spreadsheet |
US10528607B2 (en) | 2016-07-29 | 2020-01-07 | Splunk Inc. | Syntax templates for coding |
CN109002427A (zh) * | 2017-06-06 | 2018-12-14 | 珠海金山办公软件有限公司 | 在电子表格中提示函数参数的方法、装置及电子设备 |
KR101966177B1 (ko) * | 2017-09-19 | 2019-04-05 | 이강돈 | 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템 |
WO2019077592A1 (en) * | 2017-10-20 | 2019-04-25 | Uxstorm, Llc | A MAPPING ENGINE SYSTEM THAT ACTIVELY USES A USER INTERFACE AND A METHOD OF MAPPING TABLETS AND APPLICATIONS DERBED THROUGH A DATABASE |
CN109063006B (zh) * | 2018-07-10 | 2021-12-28 | 奇瑞汽车股份有限公司 | 一种Excel实现整车软件配置编码计算及解析的方法 |
KR102032084B1 (ko) * | 2019-01-22 | 2019-10-14 | 이강돈 | 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템 |
CN110738037B (zh) * | 2019-10-15 | 2021-02-05 | 深圳逻辑汇科技有限公司 | 用于自动生成电子表格的方法、装置、设备及存储介质 |
CN110728124B (zh) * | 2019-10-15 | 2021-01-08 | 深圳逻辑汇科技有限公司 | 用于可视化电子表格的方法、装置、设备及存储介质 |
CN112784552B (zh) * | 2020-06-05 | 2023-10-27 | 珠海金山办公软件有限公司 | 一种表格编辑方法及装置 |
CN112417806B (zh) * | 2020-11-11 | 2023-12-19 | 无锡优波生命科技有限公司 | 一种tcm元件平面电路图设计方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5890174A (en) * | 1995-11-16 | 1999-03-30 | Microsoft Corporation | Method and system for constructing a formula in a spreadsheet |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5557787A (en) * | 1993-02-18 | 1996-09-17 | Fuji Xerox Co., Ltd. | Table generating apparatus employing heading, layout, and table script data |
US5603021A (en) * | 1994-09-02 | 1997-02-11 | Borland International, Inc. | Methods for composing formulas in an electronic spreadsheet system |
US5842180A (en) * | 1996-03-28 | 1998-11-24 | Microsoft Corporation | Method and system for detecting and correcting errors in a spreadsheet formula |
KR100271146B1 (ko) * | 1997-10-31 | 2000-11-01 | 윤종용 | 스프레드시트엔진을 이용한 워드프로세서의 테이블 자동 연산 시스템 및 방법 |
US6460059B1 (en) * | 1998-08-04 | 2002-10-01 | International Business Machines Corporation | Visual aid to simplify achieving correct cell interrelations in spreadsheets |
GB2343763B (en) * | 1998-09-04 | 2003-05-21 | Shell Services Internat Ltd | Data processing system |
US6631497B1 (en) * | 1999-07-19 | 2003-10-07 | International Business Machines Corporation | Binding data from data source to cells in a spreadsheet |
US7099898B1 (en) * | 1999-08-12 | 2006-08-29 | International Business Machines Corporation | Data access system |
US6510420B1 (en) * | 1999-09-30 | 2003-01-21 | International Business Machines Corporation | Framework for dynamic hierarchical grouping and calculation based on multidimensional member characteristics |
CA2311866A1 (en) * | 2000-01-06 | 2001-07-06 | International Business Machines Corporation | Method and system in an electronic spreadsheet for adding or removing elements from a cell named range according to different modes |
US6341292B1 (en) * | 2000-05-30 | 2002-01-22 | Outlooksoft Corporation | Spreadsheet-based network information exchange with two-part cache |
US6754677B1 (en) * | 2000-05-30 | 2004-06-22 | Outlooksoft Corporation | Method and system for facilitating information exchange |
US6738770B2 (en) | 2000-11-04 | 2004-05-18 | Deep Sky Software, Inc. | System and method for filtering and sorting data |
US7082569B2 (en) | 2001-01-17 | 2006-07-25 | Outlooksoft Corporation | Systems and methods providing dynamic spreadsheet functionality |
US7191184B2 (en) * | 2001-05-02 | 2007-03-13 | National Instruments Corporation | Optimized storage for measurement data |
JP2003015920A (ja) | 2001-06-28 | 2003-01-17 | Shinsei Kaihatsu Kk | 表計算ソフトのシートを入力画面として利用するデータベース更新システム及び方法並びに表計算ソフトのシートを入力画面として利用するデータベース更新プログラム並びに当該プログラムを記録したコンピュータ読取可能な記録媒体 |
US7058631B1 (en) * | 2002-06-04 | 2006-06-06 | Unisys Corporation | Methods and system for accessing logical relationship data in a database from a data-access system utilizing bookmarks |
US7089261B2 (en) * | 2002-07-25 | 2006-08-08 | International Business Machines Corporation | Programmable use of data extracted from common presentation files |
US7266763B2 (en) * | 2002-11-26 | 2007-09-04 | Microsoft Corporation | User defined spreadsheet functions |
-
2004
- 2004-09-30 US US10/957,502 patent/US7698287B2/en active Active
-
2005
- 2005-06-17 EP EP05105344.5A patent/EP1643387B1/en active Active
- 2005-06-22 AU AU2005202721A patent/AU2005202721B2/en active Active
- 2005-06-23 JP JP2005183576A patent/JP5490348B2/ja active Active
- 2005-06-27 CA CA2510765A patent/CA2510765C/en active Active
- 2005-06-28 MX MXPA05007082A patent/MXPA05007082A/es not_active Application Discontinuation
- 2005-06-29 BR BRPI0502477-3A patent/BRPI0502477B1/pt active IP Right Grant
- 2005-06-29 RU RU2005120367/09A patent/RU2383923C2/ru active
- 2005-06-30 KR KR1020050057860A patent/KR101153069B1/ko active IP Right Grant
- 2005-07-29 CN CN2005100893500A patent/CN1755668B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5890174A (en) * | 1995-11-16 | 1999-03-30 | Microsoft Corporation | Method and system for constructing a formula in a spreadsheet |
Also Published As
Publication number | Publication date |
---|---|
EP1643387A3 (en) | 2007-01-10 |
BRPI0502477B1 (pt) | 2018-02-14 |
US20060075328A1 (en) | 2006-04-06 |
AU2005202721A1 (en) | 2006-04-13 |
BRPI0502477A (pt) | 2006-05-09 |
KR101153069B1 (ko) | 2012-06-11 |
JP2006107441A (ja) | 2006-04-20 |
KR20060049240A (ko) | 2006-05-18 |
CA2510765C (en) | 2012-10-09 |
MXPA05007082A (es) | 2006-04-05 |
US7698287B2 (en) | 2010-04-13 |
RU2005120367A (ru) | 2007-01-20 |
JP5490348B2 (ja) | 2014-05-14 |
RU2383923C2 (ru) | 2010-03-10 |
CN1755668A (zh) | 2006-04-05 |
EP1643387A2 (en) | 2006-04-05 |
AU2005202721B2 (en) | 2010-08-26 |
CA2510765A1 (en) | 2006-03-30 |
EP1643387B1 (en) | 2019-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1755668B (zh) | 用于在电子制表应用程序中处理数据表格的方法和系统 | |
US9501475B2 (en) | Scalable lookup-driven entity extraction from indexed document collections | |
US7840524B2 (en) | Method and apparatus for indexing, searching and displaying data | |
CN100492359C (zh) | 便于使用的数据上下文过滤 | |
US7103592B2 (en) | Method and apparatus providing recommendations based on automatically enriched user profile | |
CN101167075B (zh) | 专有表现抽取装置、方法以及程序 | |
US7000183B1 (en) | Method and apparatus for viewer-specific presentation of information | |
AU2016345990A1 (en) | A system and method for processing big data using electronic document and electronic file-based system that operates on RDBMS | |
CN1987861A (zh) | 处理数据库查询的系统和方法 | |
US9201864B2 (en) | Method and system for converting document sets to term-association vector spaces on demand | |
US8732194B2 (en) | Systems and methods for generating issue libraries within a document corpus | |
CN100461159C (zh) | 用于信息检索的分层数据驱动导航系统及方法 | |
AU2803697A (en) | System and method for automated retrieval of information | |
US20060253410A1 (en) | Database reverse query matching | |
CN101681377A (zh) | 用于搜索的用户定义的相关性排序 | |
CN102365640A (zh) | 在分级的基于信任的配置中结构化并搜索数据 | |
CN101216837A (zh) | 基于匹配用户个性化配置来显示搜索结果的方法和系统 | |
CN109977316A (zh) | 一种并行式文章推荐方法、装置、设备及存储介质 | |
CN106021615A (zh) | 题目搜索优化方法及装置 | |
CN102270201B (zh) | 用于网络文件的多维索引的方法和设备 | |
CN114064660A (zh) | 基于ElasticSearch的数据结构化分析方法 | |
US7529760B2 (en) | Use of positive and negative filtering with flexible comparison operations | |
US20100268723A1 (en) | Method of partitioning a search query to gather results beyond a search limit | |
KR20050109106A (ko) | 통합 검색 결과를 효율적으로 제공하는 검색 서비스 제공방법 및 시스템 | |
EP1288794A1 (en) | Methods of ordering and of retrieving information from a corpus of documents and database system for the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150428 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150428 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |