CN111712825A - 在生产力应用程序中识别集合并且操作集合数据 - Google Patents

在生产力应用程序中识别集合并且操作集合数据 Download PDF

Info

Publication number
CN111712825A
CN111712825A CN201980012422.1A CN201980012422A CN111712825A CN 111712825 A CN111712825 A CN 111712825A CN 201980012422 A CN201980012422 A CN 201980012422A CN 111712825 A CN111712825 A CN 111712825A
Authority
CN
China
Prior art keywords
values
collection
members
application
computing device
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.)
Granted
Application number
CN201980012422.1A
Other languages
English (en)
Other versions
CN111712825B (zh
Inventor
C·坎顿
C·格罗斯
J·麦克戴德
J·坎贝尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN111712825A publication Critical patent/CN111712825A/zh
Application granted granted Critical
Publication of CN111712825B publication Critical patent/CN111712825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在本公开内容的非限制性示例中,提出了用于与生产力应用程序中的数据交互的***、方法和设备。可以分析与生产力应用程序相关联的多个值,以确定它们是否包括可被添加到包括多个值的集合的值,所述多个值具有生产力应用程序可以对其执行多个集合操作的集合数据类型。可以接收用于将分析的值中的至少一个值添加为集合中的成员的指示。可以接收并执行用于执行与集合相关联的集合操作的指示,并且可以在生产力应用程序用户界面上显示所执行的集合操作的结果。

Description

在生产力应用程序中识别集合并且操作集合数据
背景技术
电子表格应用程序和其它计算机实现的生产力应用程序的企业和个人用户利用这些应用程序来存储和组织各种各样的数据。在应用程序实例中,一个工作表通常包含分布在其中的列和行之中的数百个(即使不是数千个)数据条目。这些应用程序实例中包含的大量数据,通常使得遍历该数据、理解该数据、并确定用于执行对该数据的分析的有用关系对于用户而言既困难又耗时。在非数字数据或文本的集合的情况下尤其如此,此时可能包含构成列表内列表的数据字符串,从而加剧了上述的用户体验和数据分析问题。
就该一般技术环境而言,已经考虑了本文公开的本技术的各方面。此外,虽然已经讨论了一般环境,但是应当理解,本文所描述的示例不应限于在背景技术中确定的一般环境。
发明内容
提供本概括部分以便用简化的形式介绍将在以下的详细描述部分中进一步描述的概念选择。本概括部分并不是旨在标识本发明的关键特征或本质特征,也不是用于帮助确定本发明的保护范围。将在下面的描述中部分地阐述示例的另外方面、特征和/或优点,并且部分地将通过该描述而变得显而易见,或者可以通过本公开内容的实践来获知。
本公开内容的非限制性示例描述了用于在生产力应用程序中与数据交互的***、方法和设备。在特定的示例中,提供了用于分析与生产力应用程序实例相关联的值,并接收用于将一个或多个分析的值转换为集合中的成员的指示的***、方法和设备。根据示例,集合可以包括集合数据类型的多个值。在一些例子中,集合中的每个值(即,集合成员)都可以具有与其相关联的一个或多个属性。根据另外的例子,每个集合成员的标识和/或与每个集合成员相关联的属性可以包括在生产力应用程序可访问的索引中。在其它例子中,在执行的应用程序实例中,每个集合成员的标识和/或与每个集合成员相关联的属性可以与每个集合成员(作为元数据)关联。
在将生产力应用程序实例中包括的一个或多个值转换为集合成员之后,可以接收用于执行与转换后的值中的至少一个值相关联的集合操作的指示。作为执行集合操作的一部分,可以执行以下集合计算中的一个或多个:减法计算,用于从集合的一个或多个其它成员中减去一个或多个集合成员;加法计算,用于将一个或多个集合成员添加到集合中的一个或多个其它成员;除法计算,用于将一个或多个集合成员除以集合中的一个或多个其它成员;以及乘法计算,用于将一个或多个集合成员与集合中的一个或多个其它成员相乘。在一些例子中,可以根据一个或多个集合成员彼此共享的属性,对集合的子集执行这些计算中的一个或多个。用此方式,可以根据集合成员的各种属性对集合成员进行排序和过滤,并且可以将显示这种操作结果的简单用户界面元素(例如,排序列表、过滤列表、图形)提供给生产力应用程序用户。
附图说明
参考以下附图来描述非限制性和非穷举性示例:
图1示出了用于与生产力应用程序中的集合数据进行交互的示例性分布式计算环境的示意图。
图2示出了示例性电子表格应用程序用户界面,该电子表格应用程序用户界面包括弹出窗口,以接收基于可选的过滤和/或可选的分类操作来修改集合中的成员的显示的指示。
图3示出了在电子表格应用程序用户界面中针对集合执行的过滤操作的显示结果,其中,作为接收到的根据集合的特定成员来过滤集合的成员的指示的结果,来执行该过滤操作。
图4A示出了示例性电子表格应用程序用户界面,该示例性电子表格应用程序用户界面包括弹出窗口,以接收用于***与一个或多个操作相对应的图表或表格的指示,其中可以与集合中的值相关联地执行所述一个或多个操作。
图4B示出了在电子表格应用程序用户界面中与集合相关联的已执行图表***操作的显示结果,其中,作为接收到***与集合中的成员相关联的图表的指示的结果,来执行该***操作。
图5是用于在生产力应用程序中与集合数据进行交互的示例性方法。
图6和图7是可以实践本公开内容的各方面的移动计算设备的简化图。
图8是示出可以实践本公开内容的各方面的计算设备的示例性物理组件的框图。
图9是可以在其中实践本公开内容的各方面的分布式计算***的简化框图。
具体实施方式
将参照附图来详细地描述各个实施例,其中,贯穿若干视图,相同的附图标记表示相同的部件和组件。对各个实施例的引用并不限制所附权利要求的保护范围。另外,在本说明书中阐述的任何示例并不意图是限制性的,其仅仅阐述了所附权利要求的许多可能的实施例中的一些。
仅出于说明目的而提供上面所描述的各个实施例和示例,并且其不应被解释为限制本文所附的权利要求书。本领域普通技术人员将容易认识到,可以在不遵循本文示出和描述的示例性实施例和应用的情况下,并且在不脱离权利要求的真实精神和保护范围的情况下,做出各种修改和改变。
通常,本公开内容针对于用于与生产力应用程序中的集合数据进行交互的***、方法和设备。根据示例,可以以网格类型的格式来排列生产力应用程序中的数据。例如,可以在生产力应用程序的列和行中排列一个或多个值。根据示例,生产力应用程序和/或与生产力应用程序相关联的生产力服务可以分析应用程序实例中的值或者与应用程序实例相关联的值,并且可以确定一个或多个值属于或可能属于包括多个值的集合,所述多个值具有集合数据类型,生产力应用程序和/或生产力服务可以对所述多个值执行多个集合操作。在一些例子中,所述确定可以包括:检查包括多个集合和多个集合成员的索引;以及确定应用程序实例中的每个分析的值是否与对应于集合成员的集合值相匹配。在另外的例子中,所述确定可以包括:确定在相同列和/或行的一个或多个其它单元格中重复应用程序实例的列和/或行的单元格中的一个或多个值。在一些例子中,在做出这种确定时,可以做出另外的确定:一列和/或一行中的一个或多个单元格包含相同值类型的值字符串。在其它例子中,在做出这种确定时,可以确定一列和/或一行中的一个或多个单元格包含由字符串定界符(例如,分号或逗号)分隔的值,但是也可以考虑使用其它字符串定界符。
在一些例子中,存储一个或多个集合的成员的标识和/或与一个或多个集合的成员相关联的信息的集合索引,可以包括多个同义词和/或与一个或多个集合成员相对应的类似拼写词或短语,而确定应用程序实例的一个或多个值属于集合或可能属于集合可以包括:查看包括多个集合和多个集合成员的索引,并确定应用程序实例中的每个分析值是否与对应于集合成员和/或对应于一个或多个集合成员的同义词和/或类似拼写词或短语的集合值相匹配。在其它例子中,执行生产力应用程序实例的计算设备可以接收用户命令,该用户命令应当将应用程序实例中的一个或多个值添加到集合和/或与集合相关联。例如,用户可以通过与用户界面元素的交互来提供键入的命令、口头命令和/或命令,其中,包含在应用程序实例的一个或多个单元格中的一个或多个值和/或与应用程序实例的对象相关联的一个或多个值属于现有集合,和/或包含在应用程序实例的一个或多个单元格中的一个或多个值和/或与应用程序实例的对象相关联的一个或多个值应当是与新集合相关联。
在一些例子中,在确定生产力应用程序实例中包括的一个或多个值或者与之相关联的一个或多个值属于一个集合或者可能属于该集合时,可以将所述一个或多个值自动地转换为集合数据类型和/或通过集合索引与集合相关联。在另外的例子中,在确定生产力应用程序实例中包括的一个或多个值或者与之相关联的一个或多个值属于一个集合或者可能属于该集合时,可以在该应用程序实例中呈现提示和/或可选的用户界面元素,如果选择的话,可以执行转换操作以将所述一个或多个值转换为集合数据类型和/或通过集合索引将所述一个或多个值与集合相关联。
在一些例子中,集合中的值(即,集合成员)可能完全存在于生产力应用程序实例中(例如,在电子表格实例的一个或多个工作表中、在文字处理文档实例的一个或多个页面中)。在其它例子中,集合的一个或多个值可以存在于生产力应用程序实例中,而集合的一个或多个值可以存在于与生产力应用程序相关联的索引中。在一些例子中,与集合值相关的其它信息也可以包括在与集合相关联的索引中。因此,集合索引可以包括集合中的每个值的标识、具有与每个子集相关联的唯一属性的子集的标识、和/或与每个集合值相关联的一个或多个属性。在其它例子中,该信息可以存储在电子表格应用程序或电子表格应用程序文件中。在一个例子中,可以将该信息存储为与包括集合值的生产力应用程序实例/文件中的集合值相关联的元数据。可以与集合成员相关联的属性可以包括以下各项中的一项或多项:集合成员类型、集合成员所属的子集的标识、集合成员所属的集合的标识和/或与集合成员相关联的值(例如,物理属性值、等级值、货币值、销售值、受欢迎度值等等)。
在特定的例子中,如果集合中的值包括值“苹果”、“橙子”、“生菜”和“芦笋”,则可以将包括有该集合中的每个值的标识以及与该集合的成员相关联的其它信息的集合索引与生产力应用程序一起存储在包括那些值的执行生产力应用程序实例的客户端计算设备上和/或存储在一个或多个远程计算设备上。在该例子中,该索引中包含的其它信息可以指示“苹果”集合成员具有以下属性:水果、以及红色或绿色。该索引中包含的其它信息可以指示“橙子”集合成员具有以下属性:水果、橙色。该索引中包含的其它信息可以指示“生菜”集合成员具有以下属性:蔬菜、绿色。该索引中包含的其它信息可以指示“芦笋”集合成员具有以下属性:蔬菜、绿色。该索引还可以包括该集合中其它成员的标识(例如,集合中的其它水果、集合中的其它蔬菜)。
在将生产力应用程序实例中包括的一个或多个值或者与之相关联的一个或多个值转换和/或关联到集合成员后,与该集合相关联的一个或多个集合操作可以由生产力应用程序执行,并且可以经由执行和/或显示生产力应用程序实例的客户端计算设备的一个或多个用户界面元素,将已执行集合操作的结果提供给用户。在一些例子中,可执行集合操作可以包括与以下有关的操作:与集合成员相关联的属性、集合成员的标识和/或集合成员的子集相对于其它集合成员的关系。可执行集合操作可以涉及一个或多个计算,这些计算涉及与集合的一个或多个成员相关联的集合理论计算。例如,这些计算可以包括以下各项中的一项或多项:与集合的成员相关联的加法运算、与集合的成员相关联的减法运算、与集合的成员相关联的除法运算、以及与集合的成员相关联的乘法运算。如本文所描述的,在对集合执行的基于集合的操作的实现中,这些操作中的一个或多个可以应用于生产力应用程序所支持的各种特征。根据一些例子,可以对集合成员执行的集合操作可以包括以下各项中的一项或多项:排序操作、过滤操作、图表操作、和/或与集合相关联的其它集合分析操作。
本文所描述的生产力应用程序/服务可以包括但不限于:电子表格应用程序/服务、文字处理应用程序/服务、笔记应用程序/服务、创作应用程序/服务、数字演示应用程序/服务、搜索引擎应用程序/服务、电子邮件应用程序/服务、消息传递应用程序/服务、Web浏览应用程序/服务、协作团队应用程序/服务、目录应用程序/服务、地图绘制应用程序/服务、日历应用程序/服务、以及社交网络应用程序/服务等等。在一些例子中,示例性生产力应用程序/服务可以是生产力应用程序/服务套件的组件,该生产力应用程序/服务套件可以被配置为与和平台相关联的其它应用程序/服务接口。此外,示例性生产力应用程序/服务可以被配置为与包括第三方应用程序/服务的其它互联网源/服务接口,例如,用于增强生产力应用程序的功能和/或使用。在一些例子中,可以完全地在存储生产力应用程序的个人计算设备上执行本文所描述的生产力应用程序。在其它例子中,可以由个人计算设备与一个或多个远程计算设备相关联地来访问生产力应用程序,所述一个或多个远程计算设备协助在访问的个人计算设备上执行和/或显示生产力应用程序的实例。例如,生产力应用程序或者与生产力应用程序相关联的数据可以包括:在一个或多个远程计算设备上全部地或部分地执行的基于云的应用程序。
图1是示出用于在生产力应用程序中与集合数据进行交互的示例性分布式计算环境100的示意图。示例性分布式计算环境100包括计算设备102和计算设备116(它们可以是与访问生产力应用程序的相同或不同的计算设备)、以及网络108和集合索引和处理环境110。
计算设备102包括正在执行的生产力应用程序实例的显示器。在一些例子中,生产力应用程序实例可以仅由计算设备102执行。在其它例子中,可以与一个或多个远程计算设备(例如,集合索引和处理环境110中的服务器计算设备114)相关联地执行生产力应用程序实例。计算设备102在生产力应用程序用户界面104上显示调查结果。这些结果包括来自多个调查接受者的回答,这些回答提供了对三个问题的答案,其中在D 106列中反映了与问题3的回答相对应的值。D 106列中的值反映了A列中确定的个人调查人员在回答问题3时包括的汽车制造商名称。如其中所示,每个调查接受者对问题3的回答包括一串汽车制造商名称,各汽车制造商名称之间通过分号定界符来分隔。具体而言,D 106列中与调查接受者Montoya相对应的字符串包括:Toyota;Honda;Audi;BMW。D 106列中与调查接受者Holcomb相对应的字符串包括:Toyota;Acura;Audi;Aston Martin。D 106列中与调查接受者Schmidt相对应的字符串包括:Toyota;Honda;Ford;BMW。D 106列中与调查接受者Nicholson相对应的字符串包括:Chevrolet;Ford;Toyota;Honda;Acura;BMW。D 106列中与调查接受者Jacobson相对应的字符串包括:Audi;BMW;Mercedes;Acura;Toyota;Honda;Ford;Chrysler;Chevrolet;Dodge。D 106列中与调查接受者Randolph相对应的字符串包括:Acura;Audi;BMW;Chevrolet。D 106列中与调查接受者Vance相对应的字符串包括:Chevy;Bavarian Motor Works;Benz。D 106列中与调查接受者Fowler相对应的字符串包括:Toyota;Honda;Acura;Lexus;BMW;Audi;Ford;Chrysler;Dodge。
根据示例,与在计算设备102上描绘的生产力应用程序实例的执行相关联的一个或多个计算设备可以分析该应用程序实例中包括的多个值。该分析可以包括:识别应用程序实例中包括的一个或多个字符串,其包括识别通过定界符分隔的一个或多个单元格中的多个值。在一些例子中,该分析可以包括:确定生产力应用程序实例中包括的一个或多个值是否可以对应于现有集合的集合成员。例如,可以将集合索引(例如,集合索引112)与生产力应用程序中包含的一个或多个值进行比较。在一些例子中,可以对来自生产力应用程序实例的与集合索引进行比较的每个值进行比较,以确定每个值的标识(例如,单词或术语的拼写、数值等等)是否与集合索引中的现有集合的集合成员的标识相匹配。在另外的例子中,可以将与集合索引比较的生产力应用程序实例中的每个值进行比较,以确定每个值的标识是否与集合索引中现有集合的集合成员的同义词相匹配。
集合索引可以包括一个或多个集合、一个或多个集合成员的标识、以及与每个集合的每个集合成员相关联的一个或多个属性。在所示的例子中,将集合索引112包括在集合索引和处理环境110内,并且可以将集合索引112存储在与生产力应用程序实例的执行相关联的一个或多个计算设备(例如,服务器计算设备114)上。在这些例子中,计算设备102可以通过网络108与集合索引112和服务器计算设备114进行通信。在其它例子中,可以与计算设备102上的生产力应用程序服务相关联地包括集合索引。
基于对生产力应用程序中包括的所述多个值的分析,可以确定这些值中的一个或多个值是否可以对应于现有集合的集合成员。在一些例子中,如果确定这些值中的一个或多个值对应于现有集合的集合成员,则协助执行电子表格应用程序实例的计算设备(例如,计算设备102、服务器计算设备114)可以自动地将每个对应的值转换为集合的集合成员。在其它例子中,如果确定这些值中的一个或多个值对应于现有集合的集合成员,则协助执行电子表格应用程序的计算设备可以提供可选的用户界面元素,如果选择该用户界面元素,则该用户界面元素将每个对应的值转换为集合中的集合成员。在其它例子中,如果确定不存在与字符串的成员相对应的现有集合,则可执行选项对用户创建包括多个识别的字符串成员的新集合来说是可用的。例如,可执行选项可用于创建新集合,该新集合包括在电子表格应用程序实例中标识的列或行里包括的每个字符串值。在另外的例子中,如果生产力应用程序元素(例如,单元格)包括多个字符串,则可以自动地将该元素的每个字符串中的一个或多个值转换为集合的成员,和/或可以提供可执行选项以将一个或多个字符串中包含的一个或多个值转换为集合或子集的成员。
在所示出的例子中,已经确定生产力应用程序实例的D 106列中包括的每个字符串值对应于集合成员。这样,将D 106列中的每个值都已转换为集合成员。在一些例子中,可以提示用户对集合进行命名,或者如果该集合是现有集合(例如,该集合已经存在于集合索引中),则该集合的名称可以自动地与要转换为集合成员的电子表格应用程序的值相关联。例如,在所示出的例子中,要转换为集合成员的值可以自动地与集合名称“汽车制造商”相关联。
在确定生产力应用程序实例的D 106列中包括的每个字符串值对应于集合成员后,可以将这些值中的每个值转换为集合“汽车制造商”的对应集合成员。在所示出的例子中,D 106列中的多个值的标识已直接与现有“汽车制造商”集合中的集合成员的标识进行匹配,而D 106列中的其它值已经与现有“汽车制造商”集合中的集合成员的同义词进行匹配。例如,在单元格D2、D4、D5、D6、D7和D9中找到的值“BMW”可以已经直接与现有“汽车制造商”集合中的“BMW”集合成员匹配,并且单元格D8中的值“Bavarian Motor Works”可以已经与现有“汽车制造商”集合中的“BMW”集合成员的同义词匹配。同样,单元格D8中的值“Chevy”和“Benz”可以已经分别与现有“汽车制造商”集合中的集合成员“Chevrolet”和“Mercedes”的同义词匹配。
在将D 106列中的每个字符串值转换为现有集合“汽车制造商”的集合成员时,可以修改与D 106列中包含字符串值的每个单元格相关联的用户界面元素,以反映属于该集合的每个值。在另外的例子中,可以与一个或多个转换值和/或其中包含集合成员的行或列相关联地浮现一个或多个用户界面元素。在该例子中,反映在D 106列中的字符串值到现有集合“汽车制造商”的集合成员的转换的新用户界面元素,反映在计算设备116的显示器上,其中该计算设备116可以是与计算设备102相同或不同的计算设备。
计算设备116还显示多个唯一的用户界面元素,以用于与转换后的字符串值相关联的信息进行交互和/或进行查看,其中这些信息现在与现有的“汽车制造商”相关联。在该例子中,在计算设备116上显示的用户界面的列D中的每个单元格包括用户界面图标,该用户界面图标在视觉上指示那些单元格中的每个包括集合成员。例如,单元格D2包括用户界面图标118,该图标说明了这种类型的用户界面元素,但可以根据本文提供的说明,使用其它显示类型来指示单元格和/或生产力应用程序实例的其它部分包括集合成员。在一些例子中,每个用户界面图标在视觉上指示生产力应用程序实例的单元和/或元素包括集合成员(例如,用户界面图标118)可以由用户选择,以显示与该单元格和/或元素中包括的集合成员相关联的信息和/或与之进行交互。在另外的例子中,在视觉上指示生产力应用程序实例的单元格和/或元素包括集合成员的每个用户界面图标(例如,用户界面图标118),也可以由用户选择以显示与包含在该单元格和/或元素中的集合成员相关联的信息和/或与之进行交互,以及显示与集合中的其它成员相关联的信息和/或与之进行交互。
在所示出的例子中,用户已经选择(例如,通过鼠标点击、触觉输入等等)与单元格D2中包括的集合“汽车制造商”的集合成员相关的用户界面图标118,因此使得在该选择附近的位置将显示弹出窗口120。弹出窗口120在视觉上指示用户Montoya的汽车制造商对问题3的回答(即,Audi、BMW、Honda、Toyota)、以及其它受访者对问题3的回答(即,Acura、Aston Martin、Chevrolet,Chrysler、Dodge、Ford、Lexus、Mercedes),但它们未包含在用户Montoya的汽车制造商对问题3的回答中。
图2示出了示例性电子表格应用程序用户界面200,该电子表格应用程序用户界面200包括弹出窗口202,以接收用于基于可选择过滤和/或可选择分类操作来修改集合中的成员的显示的指示。
包括单元格D2-D9的用户界面元素包括已转换为“汽车制造商”集合的集合成员的值。在该例子中,用户选择了可选择的用户界面元素206,当其被选择时,由执行显示的生产力应用程序用户界面200的计算设备执行显示操作。执行的显示操作使弹出窗口202显示在用户界面202中,其中用户界面202包括与列D中包含的集合“汽车制造商”的集合成员进行交互的机制。弹出窗口202提供了电子表格应用程序用户界面200的列D中包括的每个“汽车制造商”集合成员的标识的可视显示、用于执行与列D中包含的“汽车制造商”集合成员相关联的过滤操作的可选用户界面元素、以及用于对列D中包含的“汽车制造商”的集合成员进行排序的可选用户界面元素。
在弹出窗口202的显示附近包括弹出窗口204,弹出窗口204提供了可执行的用于过滤用户界面200的列D中包含的集合成员的附加操作。具体而言,弹出窗口204包括:用于过滤D列的单元格中包含的集合成员的唯一组合的集合成员和/或行的可选用户界面元素、D列的单元格中包含的还包括一个或多个指定集合成员的集合成员的唯一组合、以及D列的单元格中包含的排除一个或多个指定集合成员的集合成员的唯一组合。
图3示出了在电子表格应用程序用户界面中针对集合执行的过滤操作的显示结果,其中,作为接收到的根据集合的特定成员来过滤集合的成员的指示的结果,来执行该过滤操作。具体而言,用户已在弹出窗口302中选择“Chevrolet”过滤用户界面元素306。选择“Chevrolet”并通过弹出窗口302中的“OK”按钮来确认该选择,导致执行在电子表格应用程序用户界面300中显示的电子表格应用程序实例的计算设备,对“汽车制造商”集合应用集合减法计算,该减法计算减去列D中包含的集合的每个集合成员(除了集合成员“Chevrolet”之外)。然后,将该集合计算的结果应用于列D中不包含集合成员“Chevrolet”的每一行,将这些行从电子表格应用程序用户界面300的显示中删除。在该例子中,作为过滤操作的结果,保留了第五、第六和第八行。关于第8行,单元格D8包含“Chevrolet”的同义词(即,“Chevy”308),已在包含与“汽车制造商”集合相关联的信息的集合索引中标识了该同义词。这样,将“Chevy”值308转换为相应的“Chevrolet”集合成员,因此可以将集合操作应用于该集合成员。
图4A示出了示例性电子表格应用程序用户界面400A,该示例性电子表格应用程序用户界面404A包括弹出窗口,以接收用于***与一个或多个操作相对应的图表或表格的指示,其中可以与集合中的值相关联地执行所述一个或多个操作。在该例子中包括的集合是在图1到图3和图4B的每一个中描绘的相同的“汽车制造商”集合。在列D中显示了包含在所示出的电子表格应用程序实例中的“汽车制造商”集合成员。用户可以选择对该集合执行一个或多个集合操作,并且在执行所述一个或多个集合操作后,导致通过用户界面元素402A的选择来显示弹出窗口404A,随后通过选择弹出窗口404A中的***图表用户界面元素406A来***图表操作。用此方式,用户可以快速且高效地生成仅反映与他们可能希望查看的集合相关联的特定数据的图表。
用户可以通过与集合的成员相关联的一个或多个属性,对电子表格应用程序中包括的集合成员进行过滤或排序,并具有反映通过电子表格应用程序用户界面400A生成和显示的所应用操作的结果的图表。虽然可以基于集合成员的名称/标识对给定的集合应用基本的排序和过滤操作(并随后生成图表),但是可以基于与集合成员相关联的任意数量的属性来应用其它过滤和排序操作。例如,对于所示出的“汽车制造商”集合,每个集合成员可以具有与之相关联的属性,该属性指定每个“汽车制造商”集合成员生产的车辆类型、以及与每种车辆类型的销售相关联的销售数字。在这种情况下,电子表格应用程序实例可以根据其属性中的一个或多个,对“汽车制造商”集合成员进行过滤(例如,基于具有指示他们生产卡车的属性的集合成员、和/或具有指示他们的SUV在2017年的销售额超过$500,000,000.00的属性的集合成员进行过滤)。
同样地,通过本文所描述的基于集合的基础设施的实施方式而能够实现的其它更具体示例包括生产力应用程序支持的特征,该特征可以合并集合成员支持的功能和/或与集合成员相关联的属性,其包括:与数据透视表相关联的集合成员相关的唯一组合的显示、以及针对包含一个或多个可变集合成员的集合值的组合的基于集合的操作结果的显示。
用此方式,可以基于与集合成员相关联的任意数量的自定义属性,通过应用于集合成员的操作来轻松地与大型集合进行交互,并且可以快速而高效地生成反映这些操作的结果的图。对集合数据类型执行这些类型的集合操作,并将这些操作的结果直观地显示给用户(例如,通过对电子表格中的数据进行重新排列、通过生成反映各种应用的操作的图形)的能力,可以与大型数据集合更加人性化地交互,减少了应用导航和滚动以识别相关信息的数量,减少了识别相关信息所必需的用户命令的数量,节省了识别相关信息并产生该信息的说明性视觉效果所需的用户时间,因此还节省了正在执行的计算设备的处理周期数量。
图4B示出了电子表格应用程序用户界面400B中的与结合图4A讨论的已执行图表***操作的显示结果,其中,作为接收到***与集合成员相关联的图表402B的指示的结果,来执行该***操作。在该例子中,用户执行了计数功能,以计算D列中属于“汽车制造商”集合的集合成员的数量,并具有反映在电子表格应用程序用户界面400B中生成和显示该功能的结果的图表。在该例子中,图表402B说明,针对调查问卷中与电子表格应用程序实例中包含的数据相对应的问题3的回答,五位调查接受者选择了集合成员“Acura”,而一位调查接受者选择了集合成员Aston Martin,五位调查接受者选择了集合成员Audi,七位调查接受者选择了集合成员BMW,四位调查接受者选择了集合成员Chevrolet,两位调查接受者选择了集合成员Chrysler,两位调查接受者选择了集合成员Dodge,四位调查接受者选择了集合成员Ford,五位调查接受者选择了集合成员Honda,一位调查接受者选择了集合成员Lexus,两位调查接受者选择了集合成员Mercedes,而六位调查接受者选择了集合成员Toyota。
虽然图表402B直观地反映了一种类型的功能(即,计数功能)的结果,但是可以将一种或多种其它类型的功能应用于集合成员,并且可以通过生成图表直观地显示这些一种或多种功能的结果。例如,可以将以下功能/操作中的一项或多项应用于集合数据,并且随后生成并显示反映这些功能/操作的结果的图形:A-Z排序、Z-A排序、列表定义的自定义排序、集合数据的自然排序、集合和子集中的项目数、集合和子集中的唯一项的计数、集合和子集中的特定项目的计数、非集合或子集中的项目的计数、加法函数、减法函数、乘法函数、除法函数、并集函数、补函数、幂函数、对称差分函数和辅助函数等等。
另外,可以从视觉上显示应用于集合数据的一个或多个功能的应用结果中选择各种图表类型。例如,可以为用户提供创建条形图、直方图、柱形图、折线图、饼图、甜甜圈图、面积图、散点图、气泡图、股票图、表面图、雷达图和组合图等等的选项,以便直观地显示应用于集合数据的一项或多项功能和/或操作的结果。
图5是用于与生产力应用程序中的集合数据进行交互的示例性方法500。方法500从开始操作开始,流程继续进行到操作502,在操作502处,分析生产力应用程序中包括的多个值以确定是否应当将这些值中的一个或多个值转换为集合的成员。在一些例子中,分析的值可以包括在生产力应用程序的列和行(即,单元格)中。在其它例子中,分析的值可以包含在图表、图形或其它生产力应用程序对象中或者与之相关联。例如,生产力应用程序中包含的图表可以反映通过一个或多个功能对存储在生产力应用程序的同一工作表中的一个或多个值的操作,可以在操作502处,对生产力应用程序的不同工作表、不同的应用程序、远程服务和/或网站以及它们的值进行分析,而不管它们的位置。在一些例子中,可以在应用了一个或多个功能和/或操作之后,对在操作502处分析的值进行分析。
在一些例子中,对一个或多个值的分析可以包括:识别多个值的字符串。字符串的识别可以包括:识别用于分隔一个或多个分析值的定界符。在一些例子中,对所述一个或多个值的分析可以包括:识别生产力应用程序中的重复值。在另外的例子中,所述一个或多个值的分析可以包括:确定每个分析的值是否与现有集合成员的标识和/或现有集合成员的同义词相匹配。在其它例子中,对一个或多个值的分析可以包括机器学习以基于一个或多个分析的结果,确定每个分析值对应于现有集合的可能性和/或用户是否可能要创建新的集合。
从操作502转到操作504,其中在操作504处,接收用于将一个或多个分析值转换为集合成员的指示。在一些例子中,该指示可以包括上面关于操作502所描述的分析操作的结果。在其它例子中,该指示可以包括上面关于操作502所描述的多个分析操作的结果。例如,可以对于每个分析操作,针对于一个或多个分析值来生成得分,并且如果应用于一个或多个值的一个或多个分析操作的得分达到得分阈值,则可以接收用于转换一个或多个分析值的指示。在其它例子中,可以对每个分析操作进行加权,并且如果应用于一个或多个值的多个分析操作的加权得分达到加权得分阈值,则可以接收用于转换一个或多个分析值的指示。在其它例子中,将一个或多个值转换为集合成员的指示可以包括:将一个或多个值转换为加权得分值的用户命令。
从操作504转到操作506,其中在操作506处,将一个或多个值(其中,已经在操作504处接收到要将这些值转换为集合成员的指示)转换为集合成员。在一些例子中,将一个或多个值转换为集合成员可以包括:将所述一个或多个值添加到现有集合。在其它例子中,将一个或多个值转换为集合成员可以包括:将所述一个或多个值添加到新集合。在一些例子中,在将一个或多个值转换为集合成员后,用户能够规定与该集合中的每个值相关联的属性。在其它例子中,在将一个或多个值转换为集合成员后,可以基于一个或多个成员与之关联的现有集合,将一个或多个属性与每个值自动关联。在另外的例子中,在将一个或多个值转换为集合成员后,可以修改生产力应用程序中这些值的显示。在一些例子中,显示修改可以包括:基于一个或多个集合属性,在其显示中对所述一个或多个值进行重新排序。在其它例子中,显示修改可以包括:与一个或多个转换值已经转换到的集合的一个或多个集合成员相关联地显示一个或多个转换值。根据另外的例子,在将一个或多个值转换为集合成员后,可对它们执行一个或多个集合操作。
从操作506转到操作508,其中在操作508处,指示执行与所述一个或多个转换值已转换到的集合成员相关联的集合操作。该指示可以包括:经由生产力应用程序的用户界面元素接收的用户命令、口头命令、经由执行和/或显示生产力应用程序的计算设备的显示器接收的触觉命令、和/或经由执行和/或显示生产力应用程序的计算设备的输入设备接收的命令。在接收到执行集合操作的指示时,可以由执行生产力应用程序的计算设备来执行该集合操作。
从操作508转到操作510,其中在步骤510处,使执行的集合操作的结果显示在生产力应用程序用户界面上。例如,如果执行的集合操作包括对多个集合成员执行的排序操作,则可以使多个集合成员按照与执行的操作相对应的排序顺序,显示在生产力应用程序用户界面上。在另一个例子中,如果执行的集合操作包括对多个集合成员执行的过滤操作,则可以使过滤后的集合成员的过滤结果显示在生产力应用程序用户界面上。在另外的例子中,如果执行的集合操作包括反映应用于一个或多个集合成员的一个或多个功能和/或操作的结果的***图表操作,则可以使反映应用于一个或多个集合成员的一个或多个功能和/或操作的结果的图表,显示在生产力应用程序用户界面上。
从操作510转到结束操作,并且方法500结束。
图6和图7示出了可以实践本公开内容的实施例的移动计算设备600,例如,移动电话、智能电话、可穿戴计算机、平板计算机、电子阅读器、膝上型计算机和增强现实计算机。参考图6,该图示出了用于实现本公开内容各方面的移动计算设备600的一个方面。在基本配置中,移动计算设备600是同时具有输入元素和输出元素的手持式计算机。移动计算设备600通常包括允许用户将信息输入到移动计算设备600中的显示器605和一个或多个输入按钮610。移动计算设备600的显示器605还可以用作输入设备(例如,触摸屏显示器)。如果包括的话,可选的侧面输入元件615允许进一步的用户输入。侧面输入元件615可以是旋转开关、按钮或者任何其它类型的手动输入元件。在替代方面,移动计算设备600可以结合更多或更少的输入元件。例如,在一些实施例中,显示器605可以不是触摸屏。在另一个替代实施例中,移动计算设备600是诸如蜂窝电话之类的便携式电话***。移动计算设备600还可以包括可选的小型键盘635。可选的小型键盘635可以是在触摸屏显示器上生成的物理小键盘或“软式”小键盘。在各个实施例中,输出元件包括用于显示图形用户界面(GUI)的显示器605、视觉指示器620(例如,发光二极管)和/或音频换能器625(例如,扬声器)。在一些方面,移动计算设备600包括用于向用户提供触觉反馈的振动换能器。在另一个方面,移动计算设备600结合了输入和/或输出端口,例如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口),以用于向外部设备发送信号或者从外部设备接收信号。
图7是示出移动计算设备的一个方面的架构的框图。也就是说,移动计算设备700可以合并***(例如,架构)702以实现一些方面。在一个实施例中,将***702实现为能够运行一个或多个应用程序(例如,浏览器、电子邮件、日历、联系人管理器、消息收发客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些方面,将***702集成为计算设备,例如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序766可以加载到存储器762中,并且在操作***764上或者与操作***764相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传递程序等等。***702还包括存储器762内的非易失性存储区域768。非易失性存储区域768可以用于存储持久信息,当***702断电时,该持久信息应当不会丢失。应用程序766可以使用非易失性存储区域768中的信息并在其中存储信息,例如电子邮件或由电子邮件应用程序使用的其它消息等等。同步应用程序(没有示出)也驻留在***702上,并且被编程为与驻留在主机计算机上的对应的同步应用程序进行交互,以使存储在非易失性存储区域768中的信息与存储在主机计算机上的对应信息保持同步。应当理解的是,其它应用程序也可以加载到存储器762中,并且在移动计算设备700上运行,其包括用于识别数据集中的目标值的指令。
***702具有电源770,其中电源770可以实现为一个或多个电池。电源770可以进一步包括外部电源(例如,AC适配器或者对电池进行补充或充电的有源对接托架)。
***702还可以包括执行发送和接收射频通信的功能的无线电接口层772。无线电接口层772通过通信运营商或服务提供商,促进***702与“外部世界”之间的无线连接。在操作***764的控制下,进行与无线电接口层772之间的传输。换句话说,可以通过操作***764,将无线电接口层772所接收的通信散布到应用程序766,反之亦然。
视觉指示器620可以用于提供视觉通知,和/或音频接口774可以用于经由音频换能器625产生可听见的通知。在所示出的实施例中,视觉指示器620是发光二极管(LED),音频换能器625是扬声器。这些设备可以直接耦合到电源770,从而当被激活时,即使处理器760和其它组件可能为了节省电池电量而关闭,这些设备也仍然会在通知机制所指定的持续时间内保持开启状态。可以对LED进行编程以无限期地保持开启,直到用户采取措施指示设备的开机状态为止。音频接口774用于向用户提供可听见的信号并从用户接收可听见的信号。例如,除了耦合到音频换能器625之外,音频接口774还可以耦合到麦克风以接收可听输入,例如以便于实现电话交谈。根据本公开内容的实施例,麦克风也可以用作音频传感器以促进通知的控制,如将在下面描述的。***702还可以包括视频接口776,该视频接口776使得车载摄像机630的操作能够记录静止图像、视频流等等。
实现***702的移动计算设备700可以具有另外的特征或功能。例如,移动计算设备700还可以包括其它数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。在图7中,通过非易失性存储区域768来示出这种另外的存储。
如上所述,由移动计算设备700生成或捕获并经由***702存储的数据/信息可以本地存储在移动计算设备700上,或者该数据可以存储在任意数量的存储介质上,其中该设备能够经由无线电接口层772或者经由移动计算设备700与和该移动计算设备700相关联的单独计算设备之间的有线连接(例如,诸如互联网之类的分布式计算网络中的服务器计算机)来访问这些存储介质。应当理解的是,可以经由无线电接口层772或者经由分布式计算网络,通过移动计算设备700来访问这样的数据/信息。类似地,可以根据包括电子邮件和协作式数据/信息共享***的众所周知的数据/信息传输和存储装置,在存储和使用的计算设备之间容易地传输这样的数据/信息。
图8是示出可以实践本公开内容的各方面的计算设备800的物理组件(例如,硬件)的框图。下面所描述的计算设备组件可以具有用于协助与生产力应用程序中的数据进行交互的计算机可执行指令。在基本配置中,计算设备800可以包括至少一个处理单元802和***存储器804。根据计算设备的配置和类型,***存储器804包括但不限于:易失性存储(如,随机存取存储器)、非易失性存储(如,只读存储器)、闪存或者这些存储器的任意组合。***存储器804可以包括适合于运行一个或多个生产力应用程序的操作***805。例如,操作***805可以适合于控制计算设备800的操作。此外,可以结合图形库、其它操作***或者任何其它应用程序来实现本公开内容的实施例,并且其不受限于任何特定的应用程序或***。在图8中,通过位于虚线808之内的那些部件来示出该基本配置。计算设备80可以具有另外的特征或功能。例如,计算设备800还可以包括另外的数据存储设备(可移动和/或不可移动),比如磁盘、光盘或磁带。在图8中通过移动存储设备809和非移动存储设备810的方式,来示出这种另外的存贮设备。
如上所述,在***存储器804中,存储多个程序模块和数据文件。当在处理单元802上执行时,程序模块806(例如,生产力应用程序820)可以执行包括但不限于如本文所描述的各方面的处理。根据示例,值分析引擎811可以执行与以下相关联的一个或多个操作:分析与生产力应用程序820相关联的多个值;基于该分析来确定是否将一个或多个分析的值转换为集合的成员。值转换引擎813可以执行与将一个或多个分析的值转换为集合成员相关联的一个或多个操作。集合属性分析引擎815可以执行与以下相关联的一个或多个操作:将一个或多个属性和/或属性值分配给集合的一个或多个成员;分析集合的一个或多个成员的一个或多个属性和/或属性值。集合操作引擎817可以执行与对于集合的一个或多个成员执行一个或多个集合操作相关联的一个或多个操作。
此外,可以在包括离散电子元件的电子电路、包含逻辑门的封装或者集成电子芯片、使用微处理器的电路中,或者在包含电子元件或微处理器的单一芯片上实现本公开内容的实施例。例如,可以经由片上***(SOC)来实现本公开内容的实施例,其中,图8中所示出的部件里的每一个或大部分可以集成到单一集成电路上。这种SOC设备可以包括一个或多个处理单元、图形单元、通信单元、***虚拟化单元和各种应用功能,所有这些作为单一集成电路集成(或者“烧”)到芯片基底上。当经由SOC进行操作时,本文所描述的功能(关于客户端切换协议的能力)可以经由与计算设备800的其它部件集成在单一集成电路(芯片)上的专用逻辑来进行操作。本公开内容的实施例还可以使用能够执行诸如与(AND)、或(OR)和非(NOT)之类的逻辑操作的其它技术来实现,其中这些技术包括但不限于:机械、光、流体和量子技术。此外,还可以在通用计算机或者任何其它电路或***中实现本公开内容的各方面。
计算设备800还可以具有诸如键盘、鼠标、笔、声音或语音输入设备、触摸或滑动输入设备等等之类的一个或多个输入设备812。还可以包括诸如显示器、扬声器、打印机等等之类的输出设备814。前述的设备只是示例性的,可以使用其它设备。计算设备800可以包括允许与其它计算设备815进行通信的一个或多个通信连接816。适当通信连接816的例子包括但不限于:射频(RF)发射机、接收机和/或收发机电路;通用串行总线(USB)、并口和/或串口。
如本文所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括利用存储信息(如,计算机可读指令、数据结构或程序模块)的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。***存储器804、可移动存储设备809和不可移动存储设备810都是计算机存储介质的例子(即,存储器存贮)。计算机存储介质可以包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字通用光盘(DVD)或其它光存储技术、盒式磁带、磁带、磁盘存储或其它磁存储设备、或者可以用于存储信息并能由计算设备800进行存取的任何其它制品。任何这种计算机存储介质可以是计算设备800的一部分。计算机存储介质不包括载波波形或者其它传播的或调制的数据信号。
通信介质可以通过计算机可读指令、数据结构、程序模块、或者调制的数据信号(如,载波波形或其它传输机制)中的其它数据来体现,并包括任何信息传送介质。术语“调制的数据信号”可以描述具有一个或多个特性,以关于将信息编码在该信号之中的方式来进行设置或者改变这些特性的信号。举例而言,但非做出限制,通信介质可以包括诸如有线网络或直接有线连接之类的有线介质、以及诸如声波、射频(RF)、红外线和其它无线介质之类的无线介质。
图9示出了用于处理计算***从远程源(例如,个人/通用计算机904、平板计算设备906或移动计算设备908)接收的数据的***的架构的一个方面,如上所述。在服务器设备902处显示的内容可以存储在不同的通信信道或其它存储类型中。例如,可以使用目录服务922、web门户924、邮箱服务926、即时消息存储928或社交网络站点930来存储各种文档。与服务器设备902进行通信的客户端可以采用这些程序模块806,和/或服务器设备902可以采用这些程序模块806。服务器设备902可以通过网络915来提供去往和来自客户端计算设备(例如,个人/通用计算机904、平板计算设备906和/或移动计算设备908(例如,智能电话)的数据。通过示例的方式,上面参照图6到图8所描述的计算机***可以体现在在个人/通用计算机904、平板计算设备906和/或移动计算设备908(例如,智能电话)。计算设备的这些实施例中的任何一个除了接收可用于在图形发起***处进行预处理、或者在接收计算***处进行后处理的图形数据之外,还可以从存储916获得内容。
例如,上面参照根据公开内容的各方面的方法、***和计算机程序产品的框图和/或操作说明,来描述本公开内容的各方面。这些方框中所述的功能/动作可以按不同于任何流程图所示的次序来出现。例如,根据所涉及的功能/动作,连续示出的两个框可以事实上基本同时地执行,或者这些框有时可以以相反顺序来执行。
本文所描述的***、方法和设备提供了用于改善与生产力应用程序相关联的数据的交互的技术优势。例如,可以根据本文描述的机制来完成有用的操作的性能,例如先前无法对唯一值类型执行的基于集合理论计算的排序和过滤操作。通过本文所描述的机制来执行与转换为生产力应用程序中的集合成员的值相关联的集合操作的能力,使用户能够根据可能与集合和集合成员相关联的任意数量的属性类型来解析大量数据,从而快速且高效地识别与该数据相关联的相关信息。这些增强的特征提供了更佳的用户体验,能够快速且高效地识别与已转换为集合成员的值相关联的独特模式,并且至少节省了识别生产力应用程序中的相关数据所需的时间,并节省了识别相关数据并浏览生产力应用程序中包含的大型数据集所需的处理成本(即,CPU周期)。
如通过前述的公开内容所应当理解的,该技术的一个方面涉及一种用于与在计算设备上执行的生产力应用程序中的数据进行交互的方法,该方法包括:分析与生产力应用程序相关联的多个值;接收用于将所分析的值中的至少一个值转换为集合中的成员的指示,所述集合包括具有集合数据类型的多个值,所述生产力应用程序可以对所述多个值执行多个集合操作;基于所接收到的指示,将所分析的值中的至少一个值转换为所述集合中的成员;接收用于执行与所转换的值中的至少一个值相关联的集合操作的指示;在所述计算设备的用户界面上显示所述集合操作的结果。
根据一些例子,所述生产力应用程序是电子表格应用程序。在一些例子中,所分析的值包括在以下各项中的一项或多项中:所述生产力应用程序中包括的一个或多个单元格;所述生产力应用程序中包括的一个或多个图表;所述生产力应用程序中包括的一个或多个表格;包括在所述生产力应用程序中的索引;包括在远程服务中的索引;不是所述生产力应用程序的应用程序;以及网站。在另外的例子中,所述分析包括以下各项中的一项或多项:确定所述多个值中的每一个值是否对应于现有集合的数据类型;以及确定所述多个值中的每一个值是否是所述生产力应用程序中包括的值字符串的成员,其中字符串的每个成员通过定界符来分隔。在其它例子中,所述分析包括:确定所述多个值中的每一个值是否对应于现有集合中的集合值的同义词。在一些例子中,所述集合操作包括:应用的用于将属于所述集合的第一子集的第一多个成员添加到属于所述集合的第二子集的一个或多个第二成员中的加法运算,并且其中,所述集合操作的所显示结果包括:所述第一多个成员和所述第二多个成员中的每一个成员的显示。在另外的例子中,所述集合操作包括:应用的用于从属于所述集合的第二子集的第二多个成员中减去属于所述集合的第一子集的第一多个成员的减法运算,并且其中,所述集合操作的所显示结果包括:所述减法结果中的每一个成员的显示。在一些例子中,基于所述集合中的每一个值的所述标识,所述数据类型与对于所述集合唯一的多个操作相关联。在其它例子中,基于与所述集合中的每一个值相关联的元数据,所述数据类型与对于所述集合唯一的多个操作相关联。在另外的例子中,所述集合操作包括排序操作,并且其中,在执行所述集合操作后,与所述集合的多个其它成员相关联地,在所述计算设备的所述用户界面上显示所转换的值中的每一个值,并且其中,按照与所述集合的每个成员共享的集合属性类型相对应的排序顺序,来显示所述集合中的每个显示的成员。在其它例子中,所接收的用于执行与所转换的值中的至少一个值相关联的集合操作包括以下各项中的一项:根据在所述集合的多个成员之间不同的至少一个属性,对所述集合进行过滤的请求;以及基于所述集合的多个子集(所述多个子集具有唯一集合的成员),对所述集合进行过滤的请求。
在另一个方面,本文的技术涉及一种用于与电子表格应用程序中的数据进行交互的***,该***包括:用于存储可执行程序代码的存储器;以及在功能上耦合到所述存储器的一个或多个处理器,所述一个或多个处理器对所述程序代码中包含的计算机可执行指令作出响应,并可以操作用于:分析所述电子表格应用程序中包含的多个值;接收用于将所分析的值中的至少一个值添加为集合中的成员的指示,所述集合包括具有至少一个相同属性类型的多个值;将针对其已经接收到所接收的指示的每个值添加到所述集合中;对所述集合的多个成员执行集合理论操作;以及在计算设备的用户界面上显示所述集合理论操作的结果。
根据一些例子,所执行的集合理论操作包括以下各项中的一项:将所述集合的一个或多个第一成员添加到所述集合的一个或多个第二成员中的加法运算;从所述集合中一个或多个第二成员中减去所述集合的一个或多个成员的减法运算;将所述集合中一个或多个第一成员与所述集合中一个或多个第二成员相乘的乘法运算;将所述集合中一个或多个第一成员除以所述集合中的一个或多个第二成员的除法运算。在另外的例子中,将所分析的值添加到的所述集合是现有集合,并且其中,所述一个或多个处理器还响应于所述程序代码中所包含的所述计算机可执行指令,并且操作用于:基于对所述多个值的所述分析,将所述多个值中的一个或多个值标识为所述电子表格应用程序的单元格中的值字符串的成员,其中,所述字符串的每个成员通过定界符与所述字符串的每个其它成员分隔开;确定所述值字符串中的一个或多个所识别的成员与所述现有集合的每个成员具有相同的数据类型;以及将确定与所述现有集合的每个成员具有相同数据类型的每个值添加到所述现有集合。在其它例子中,所述集合的每个成员的标识存储在所述电子表格应用程序可访问的索引中,并且其中,所述索引包括与所述集合的每个成员相关联的属性,其中所述电子表格应用程序能够对所述每个成员执行一个或多个集合操作。在另外的例子中,所述集合理论操作包括排序操作,并且其中,在执行所述集合理论操作时,将所转换的值中的每一个值与所述集合的多个其它成员相关联地显示在所述计算设备的所述用户界面上,并且其中,所述集合的每个所显示成员以与所述集合的每个成员共享的集合属性类型相对应的排序顺序进行显示。
在另一个方面,本文的技术涉及一种包括可执行指令的计算机可读存储设备,当可执行指令被一个或多个处理器执行时,有助于与电子表格应用程序中的数据进行交互,所述计算机可读存储设备包括可由所述一个或多个处理器执行的用于以下操作的指令:分析所述电子表格应用程序中包含的多个值;接收用于将所分析的值中的至少一个值添加为集合中的成员的指示,所述集合包括具有至少一个相同属性类型的多个值;将针对其已经接收到所接收的指示的每个值添加到所述集合中;对所述集合的多个成员执行操作;以及在计算设备的用户界面上显示所述操作的结果。
在一些例子中,所执行的操作包括以下各项中的一项:将所述集合的一个或多个第一成员添加到所述集合的一个或多个第二成员中的加法运算;从所述集合中一个或多个第二成员中减去所述集合的一个或多个成员的减法运算;将所述集合中一个或多个第一成员与所述集合中一个或多个第二成员相乘的乘法运算;将所述集合中一个或多个第一成员除以所述集合中的一个或多个第二成员的除法运算。在另外的例子中,将所分析的值添加到的所述集合是现有集合,并且其中,所述指令可进一步由所述一个或多个处理器执行以用于:基于对所述多个值的所述分析,将所述多个值中的一个或多个值标识为所述电子表格应用程序的单元格中的值字符串的成员;确定所述值字符串中的一个或多个所识别的成员与所述现有集合的每个成员具有相同的数据类型;以及将确定与所述现有集合的每个成员具有相同数据类型的每个值添加到所述现有集合。在另外的例子中,所述集合的每个成员的标识存储在所述电子表格应用程序可访问的索引中,并且其中,所述索引包括与所述集合的每个成员相关联的属性,其中所述电子表格应用程序能够对每个成员执行一个或多个集合操作。
本申请中提供的一个或多个方面的描述和说明,并非是旨在以任何方式来限制或者限定所要求的本公开内容的保护范围。本申请中提供的方面、例子和细节被认为足以传达拥有所主张的本发明,并使他人能够制造和使用最佳模式。所要求的本公开内容不应被解释为限于本申请中提供的任何方面、例子或者细节。不管是以组合方式还是单独地进行示出和描述,各种特征(包括结构和方法)旨在进行选择性地包括或者省略,以产生具有一组特定特征的例子。在提供本公开内容的描述和说明之后,本领域普通技术人员可以预想落入本申请所体现的更广泛方面的发明构思的精神之内的变型、修改和替代例子,而不脱离本发明的更广泛的保护范围。
仅通过举例说明的方式来提供上面所描述的各种实施例,其不应被解释为限制所附的权利要求。本领域普通技术人员将容易认识到,在不遵循本文所示出和描述的示例性实施例和应用的情况下,并且在不脱离所附权利要求的真实精神和保护范围的情况下,可以进行各种修改和改变。

Claims (15)

1.一种用于与在计算设备上执行的生产力应用程序中的数据进行交互的方法,所述方法包括:
分析与所述生产力应用程序相关联的多个值;
接收用于将所分析的值中的至少一个值转换为集合中的成员的指示,所述集合包括具有集合数据类型的多个值,所述生产力应用程序能够对所述多个值执行多个集合操作;
基于所接收的指示将所分析的值中的至少一个值转换为所述集合中的成员;
接收用于执行与所转换的值中的至少一个值相关联的集合操作的指示;以及
在所述计算设备的用户界面上显示所述集合操作的结果。
2.根据权利要求1所述的方法,其中,所述生产力应用程序是电子表格应用程序。
3.根据权利要求1所述的方法,其中,所分析的值被包括在以下各项中的一项或多项中:所述生产力应用程序中包括的一个或多个单元格;所述生产力应用程序中包括的一个或多个图表;所述生产力应用程序中包括的一个或多个表格;包括在所述生产力应用程序中的索引;包括在远程服务中的索引;不是所述生产力应用程序的应用程序;以及网站。
4.根据权利要求1所述的方法,其中,所述分析包括以下各项中的一项或多项:确定所述多个值中的每一个值是否对应于现有集合的数据类型;以及确定所述多个值中的每一个值是否是所述生产力应用程序中包括的值字符串的成员,其中,字符串的每个成员通过定界符来分隔。
5.根据权利要求1所述的方法,其中,基于所述集合中的每个值的标识,所述集合数据类型与对于所述集合唯一的多个操作相关联。
6.根据权利要求1所述的方法,其中,基于与所述集合中的每个值相关联的元数据,所述集合数据类型与对于所述集合唯一的多个操作相关联。
7.一种用于与电子表格应用程序中的数据进行交互的***,所述***包括:
用于存储可执行程序代码的存储器;以及
在功能上耦合到所述存储器的一个或多个处理器,所述一个或多个处理器对所述程序代码中包含的计算机可执行指令做出响应,并且能够操作用于:
分析所述电子表格应用程序中包含的多个值;
接收用于将所分析的值中的至少一个值添加为集合中的成员的指示,所述集合包括具有至少一个相同属性类型的多个值;
将针对其已经接收到所接收的指示的每个值添加到所述集合中;
对所述集合的多个成员执行集合理论操作;以及
在计算设备的用户界面上显示所述集合理论操作的结果。
8.根据权利要求7所述的***,其中,所执行的集合理论操作包括以下各项中的一项:将所述集合的一个或多个第一成员添加到所述集合的一个或多个第二成员中的加法运算;从所述集合的一个或多个第二成员中减去所述集合的一个或多个成员的减法运算;将所述集合的一个或多个第一成员与所述集合的一个或多个第二成员相乘的乘法运算;以及将所述集合的一个或多个第一成员除以所述集合的一个或多个第二成员的除法运算。
9.根据权利要求7所述的***,其中,将所分析的值添加到的所述集合是现有集合,并且其中,所述一个或多个处理器还响应于所述程序代码中所包含的所述计算机可执行指令,并且操作用于:
基于对所述多个值的所述分析,将所述多个值中的一个或多个值标识为所述电子表格应用程序的单元格中的值字符串的成员,其中,所述字符串的每个成员通过定界符与所述字符串的每个其它成员分隔开;
确定所述值字符串中的一个或多个所识别的成员与所述现有集合的每个成员具有相同的数据类型;以及
将确定与所述现有集合的每个成员具有相同数据类型的每个值添加到所述现有集合。
10.根据权利要求7所述的***,其中,所述集合的每个成员的标识被存储在所述电子表格应用程序可访问的索引中,并且其中,所述索引包括与所述集合的每个成员相关联的属性,其中所述电子表格应用程序能够对每个成员执行一个或多个集合操作。
11.根据权利要求7所述的***,其中,所述集合理论操作包括排序操作,并且其中,在执行所述集合理论操作后,将所转换的值中的每一个值与所述集合的多个其它成员相关联地显示在所述计算设备的所述用户界面上,并且其中,所述集合的每个所显示成员以与所述集合的每个成员共享的集合属性类型相对应的排序顺序进行显示。
12.一种包括可执行指令的计算机可读存储设备,当可执行指令被一个或多个处理器执行时,有助于与电子表格应用程序中的数据进行交互,所述计算机可读存储设备包括可由所述一个或多个处理器执行的用于以下操作的指令:
分析所述电子表格应用程序中包含的多个值;
接收用于将所分析的值中的至少一个值添加为集合中的成员的指示,所述集合包括具有至少一个相同属性类型的多个值;
将针对其已经接收到所接收的指示的每个值添加到所述集合中;
对所述集合的多个成员执行操作;以及
在计算设备的用户界面上显示所述操作的结果。
13.根据权利要求12所述的计算机可读存储设备,其中,所执行的操作包括以下各项中的一项:将所述集合的一个或多个第一成员添加到所述集合的一个或多个第二成员中的加法运算;从所述集合的一个或多个第二成员中减去所述集合的一个或多个成员的减法运算;将所述集合的一个或多个第一成员与所述集合的一个或多个第二成员相乘的乘法运算;以及将所述集合的一个或多个第一成员除以所述集合的一个或多个第二成员的除法运算。
14.根据权利要求12所述的计算机可读存储设备,其中,将所分析的值添加到的所述集合是现有集合,并且其中,所述指令可进一步由所述一个或多个处理器执行以用于:
基于对所述多个值的所述分析,将所述多个值中的一个或多个值标识为所述电子表格应用程序的单元格中的值字符串的成员;
确定所述值字符串中的一个或多个所识别的成员与所述现有集合的每个成员具有相同的数据类型;以及
将确定与所述现有集合的每个成员具有相同数据类型的每个值添加到所述现有集合。
15.根据权利要求12所述的计算机可读存储设备,其中,所述集合的每个成员的标识被存储在所述电子表格应用程序可访问的索引中,并且其中,所述索引包括与所述集合的每个成员相关联的属性,其中所述电子表格应用程序能够对每个成员执行一个或多个集合操作。
CN201980012422.1A 2018-02-09 2019-01-17 在生产力应用程序中识别集合并且操作集合数据 Active CN111712825B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/893,310 2018-02-09
US15/893,310 US10445422B2 (en) 2018-02-09 2018-02-09 Identification of sets and manipulation of set data in productivity applications
PCT/US2019/013895 WO2019156790A1 (en) 2018-02-09 2019-01-17 Identification of sets and manipulation of set data in productivity applications

Publications (2)

Publication Number Publication Date
CN111712825A true CN111712825A (zh) 2020-09-25
CN111712825B CN111712825B (zh) 2023-10-31

Family

ID=65433742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980012422.1A Active CN111712825B (zh) 2018-02-09 2019-01-17 在生产力应用程序中识别集合并且操作集合数据

Country Status (4)

Country Link
US (2) US10445422B2 (zh)
EP (1) EP3750088A1 (zh)
CN (1) CN111712825B (zh)
WO (1) WO2019156790A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210103827A1 (en) * 2019-10-07 2021-04-08 International Business Machines Corporation Ontology-based data storage for distributed knowledge bases
EP4143732A1 (en) * 2020-05-01 2023-03-08 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
US20230004528A1 (en) * 2021-06-30 2023-01-05 Capital One Services, Llc Systems and methods for template-based data processing and visualization
US11734365B1 (en) 2022-02-28 2023-08-22 Unlimidata Limited Knowledge-enriched item set expansion system and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7350187B1 (en) * 2003-04-30 2008-03-25 Google Inc. System and methods for automatically creating lists
CN103548019A (zh) * 2011-02-21 2014-01-29 阿玛得斯两合公司 用于根据数据仓库提供统计信息的方法和***
CN104412261A (zh) * 2012-04-11 2015-03-11 英特尔公司 用户界面内容个性化***
US20160350950A1 (en) * 2015-05-25 2016-12-01 Colin Frederick Ritchie Methods and Systems for Dynamic Graph Generating
CN107463538A (zh) * 2017-07-20 2017-12-12 上海银骏科技有限公司 一种银联文件数据比对方法和***

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2340008A (en) * 1998-07-24 2000-02-09 Ibm Method and tool for generating and displayin a descriptive annotation of selec ted application data
US9268748B2 (en) * 1999-05-21 2016-02-23 E-Numerate Solutions, Inc. System, method, and computer program product for outputting markup language documents
US7519577B2 (en) * 2003-06-23 2009-04-14 Microsoft Corporation Query intermediate language method and system
US7747981B2 (en) * 2005-09-23 2010-06-29 Wolfram Research, Inc. Method of dynamically linking objects operated on by a computational system
US20070265896A1 (en) * 2006-05-12 2007-11-15 The Boeing Company System for valuing multiple solutions in multiple value categories
US8656271B2 (en) * 2006-07-31 2014-02-18 Sap Ag Adapting a spreadsheet for use with a complex object
US7962443B2 (en) * 2007-02-08 2011-06-14 Interactive Documents, Llc Method and system for replacing data in a structured design template
US8347204B2 (en) * 2008-05-05 2013-01-01 Norm Rosner Method and system for data analysis
US8166385B2 (en) * 2008-08-27 2012-04-24 The Board Of Trustees Of The Leland Stanford Junior University Spreadsheet system and method for managing photos
US8484215B2 (en) * 2008-10-23 2013-07-09 Ab Initio Technology Llc Fuzzy data operations
US8825675B2 (en) * 2010-03-05 2014-09-02 Starcounter Ab Systems and methods for representing text
US9811516B2 (en) 2010-12-14 2017-11-07 Microsoft Technology Licensing, Llc Location aware spreadsheet actions
US9280532B2 (en) * 2011-08-02 2016-03-08 Palantir Technologies, Inc. System and method for accessing rich objects via spreadsheets
US8645349B2 (en) * 2012-01-27 2014-02-04 Microsoft Corporation Indexing structures using synthetic document summaries
KR20140139521A (ko) * 2012-03-29 2014-12-05 무 시그마 비지니스 솔루션스 피브이티 엘티디 데이터 솔루션 시스템
US20130275905A1 (en) * 2012-04-11 2013-10-17 Secondprism Inc. Interactive data comparison and insight tracking
US20150199378A1 (en) * 2012-06-29 2015-07-16 Nick Alex Lieven REYNTJEN Method and apparatus for realizing a dynamically typed file or object system enabling a user to perform calculations over the fields associated with the files or objects in the system
US9367853B2 (en) * 2013-03-13 2016-06-14 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing data upload, processing, and predictive query API exposure
US10776375B2 (en) * 2013-07-15 2020-09-15 Microsoft Technology Licensing, Llc Retrieval of attribute values based upon identified entities
US11200249B2 (en) * 2015-04-16 2021-12-14 Nuix Limited Systems and methods for data indexing with user-side scripting
WO2017031302A1 (en) * 2015-08-18 2017-02-23 Google Inc. Time series explorer
US10599764B2 (en) * 2015-11-02 2020-03-24 Microsoft Technology Licensing, Llc Operations on images associated with cells in spreadsheets
US10545953B2 (en) * 2015-11-03 2020-01-28 Microsoft Technology Licensing, Llc Modern spreadsheet arrays
US10740409B2 (en) * 2016-05-20 2020-08-11 Magnet Forensics Inc. Systems and methods for graphical exploration of forensic data
US10025933B2 (en) * 2016-05-25 2018-07-17 Bank Of America Corporation System for utilizing one or more data sources to generate a customized set of operations
WO2018018021A1 (en) * 2016-07-21 2018-01-25 Ayasdi, Inc. Scalable topological data analysis using topological summaries of subsets
CA2970088C (en) * 2016-09-30 2022-02-08 The Toronto-Dominion Bank Device lock bypass on selectable alert
EP3532916A4 (en) * 2016-10-26 2020-07-01 Soroco Private Limited SYSTEMS AND METHODS FOR DISCOVERING AUTOMATIC TASKS
US10540153B2 (en) * 2016-12-03 2020-01-21 Thomas STACHURA Spreadsheet-based software application development
US10452255B2 (en) * 2016-12-08 2019-10-22 Sap Se Logical set operations
US9953372B1 (en) * 2017-05-22 2018-04-24 Insurance Zebra Inc. Dimensionality reduction of multi-attribute consumer profiles
US20190050376A1 (en) * 2017-08-10 2019-02-14 Sap Se Automatic value formatting based on intrinsic structural semantics

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7350187B1 (en) * 2003-04-30 2008-03-25 Google Inc. System and methods for automatically creating lists
CN103548019A (zh) * 2011-02-21 2014-01-29 阿玛得斯两合公司 用于根据数据仓库提供统计信息的方法和***
CN104412261A (zh) * 2012-04-11 2015-03-11 英特尔公司 用户界面内容个性化***
US20160350950A1 (en) * 2015-05-25 2016-12-01 Colin Frederick Ritchie Methods and Systems for Dynamic Graph Generating
CN107463538A (zh) * 2017-07-20 2017-12-12 上海银骏科技有限公司 一种银联文件数据比对方法和***

Also Published As

Publication number Publication date
US20190251157A1 (en) 2019-08-15
EP3750088A1 (en) 2020-12-16
WO2019156790A1 (en) 2019-08-15
US10860791B2 (en) 2020-12-08
US10445422B2 (en) 2019-10-15
CN111712825B (zh) 2023-10-31
US20190377787A1 (en) 2019-12-12

Similar Documents

Publication Publication Date Title
US11836653B2 (en) Aggregating enterprise graph content around user-generated topics
CN111712825B (zh) 在生产力应用程序中识别集合并且操作集合数据
CN110178151B (zh) 任务主视图
US10169457B2 (en) Displaying and posting aggregated social activity on a piece of enterprise content
US11023668B2 (en) Enriched compound data objects
WO2020236332A1 (en) Interactive chart recommender
US20170220359A1 (en) Recall service for productivity applications
US11244106B2 (en) Task templates and social task discovery
WO2017184375A1 (en) Prioritizing thumbnail previews based on message content
US20180373719A1 (en) Dynamic representation of suggested queries
US20210406270A1 (en) Leveraging Interlinking Between Information Resources to Determine Shared Knowledge
US11699032B2 (en) Data set lookup with binary search integration and caching
WO2017074808A1 (en) Single unified ranker
US11650998B2 (en) Determining authoritative documents based on implicit interlinking and communication signals
US20190114347A1 (en) Hierarchical contextual search suggestions
US11886462B2 (en) Intelligent transformation of multidimensional data for automatic generation of pivot tables
US20180089282A1 (en) User-driven paging
US11250074B2 (en) Auto-generation of key-value clusters to classify implicit app queries and increase coverage for existing classified queries
WO2019152127A1 (en) Data slicing of application file objects and chunk-based user interface navigation
US20240103646A1 (en) Universal highlighter for contextual notetaking

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant