CN111699492B - 在本地处理电子表格应用程序中的近似值 - Google Patents
在本地处理电子表格应用程序中的近似值 Download PDFInfo
- Publication number
- CN111699492B CN111699492B CN201980012274.3A CN201980012274A CN111699492B CN 111699492 B CN111699492 B CN 111699492B CN 201980012274 A CN201980012274 A CN 201980012274A CN 111699492 B CN111699492 B CN 111699492B
- Authority
- CN
- China
- Prior art keywords
- spreadsheet
- values
- approximation
- processing systems
- grid
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 85
- 238000004364 calculation method Methods 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000009826 distribution Methods 0.000 claims abstract description 33
- 230000000644 propagated effect Effects 0.000 claims abstract description 15
- 230000003993 interaction Effects 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 11
- 230000000007 visual effect Effects 0.000 claims description 8
- 230000001902 propagating effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 11
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000012800 visualization Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000001172 regenerating effect Effects 0.000 description 2
- 239000003570 air Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- 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
- 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
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
背景技术
电子表格应用程序(例如,Microsoft )已广泛地用于许多领域,并且对于分析当今的商业和计算环境中的数据越来越重要。例如,数据分析师使用电子表格应用程序作为执行电子表格任务的工具,这些任务包括但不限于:合并和消息传送数据、生成图表、执行复杂的计算等等。
输入电子表格进行分析的数据通常包含一些不确定性。在一些情况下,可以通过使用所有或一组特定的可能值创建并运行多个计算来解决这种不确定性。但是,以这种方式解决不确定性需要针对输入的每种可能的变化,重新生成基于网格的电子表格(或者电子表格网格)。不幸的是,重新生成电子表格网格会随着不确定变量的数量,而指数级地增加复杂性。例如,创建和维护各种电子表格网格可能会非常繁重,并增加引入错误的机率。此外,在每个网格上都运行电子表格计算可能会占用大量的内存并且非常耗时。
总体而言,本文的某些先前或相关系统的示例及其相关限制旨在是说明性的,而不是排他性的。在阅读以下内容之后,现有系统或先前系统的其它限制对于本领域普通技术人员将变得显而易见。
发明内容
本文所讨论的示例涉及本地处理电子表格应用程序(例如,Microsoft )中的近似值。在一种实现中,公开了一种将支持近似值(或不确定值)数组或集合的电子表格应用程序操作为本地实体(native entity)的方法。该方法包括:接收关于基于网格的电子表格的单元格的值的输入以及所述输入表示近似值的指示;确定所述输入表示近似值;识别用于解析所述近似值的转换模型;并使用所述转换模型,将所述近似值转换为表示所述近似值的可能值集合。该方法还包括:使用所述可能值集合来替换所述基于网格的电子表格的所述单元格的所述值。
本发明的实施例还包括计算机可读存储介质,其包含指令集,以使一个或多个处理器执行本文所描述的方法、方法的变型以及其它操作。
虽然公开了多个实施例,但是通过以下的详细说明,本发明的其它实施例对于本领域普通技术人员将变得显而易见,该详细说明示出并描述了本发明的说明性实施例。应当认识到,本发明能够在各个方面进行修改,而所有这些都不脱离本发明的保护范围。因此,附图和详细描述在本质上应被认为是说明性的而不是限制性的。
提供前述的概括部分以便以简化形式来选择介绍在下面的具体实施方式中进一步描述的概念。应当理解的是,该概括部分并不是旨在标识本发明的关键特征或者本质特征,也不是旨在用于限制本发明的保护范围。
附图说明
为了描述可以获得上面所陈述的其它优点和特征的方式,阐述了更具体的描述,并将参考在附图中示出的其具体示例来进行呈现。应当理解,这些附图仅描绘了典型的示例,因此其不应被认为是对保护范围的限制,将通过使用附图以附加的特征和细节来描述和解释实施方式。
图1A、1B和1C根据一些实现,描绘了用于处理电子表格应用程序中的近似值的示例性操作体系结构的框图。
图2根据一些实现,描绘了电子表格应用程序的一个或多个组件的示例性操作的流程图。
图3根据一些实现,描绘了用于示出电子表格应用程序的一个或多个组件的附加示例操作的流程图。
图4A和图4B根据一些实现,描绘了用于说明示例性计算引擎的框图,该计算引擎能够处理包括近似值的公式。
图5根据一些实现,描绘了用于说明近似值处理组件的一个或多个组件的示例性操作的框图。
图6A、6B和6C根据一些实现,描绘了用于将近似值输入到电子表格的单元格中的各种示例技术。
图7根据一些实现,描绘了电子表格应用程序的一个或多个组件的示例性操作的流程图。
图8根据一些实现,描绘了响应于不确定性事件而在电子表格表面上呈现的示例通知。
图9根据一些实现,示出了未启用近似值(或不确定值)的电子表格应用程序。
图10根据一些实现,描绘了用于示出电子表格应用程序的一个或多个组件的示例性操作的流程图。
图11A和11B根据一些实现,描绘了包括滑块的图形界面,其中该滑块可操作以允许用户快速调整单元格的近似值。
图12根据一些实现,描绘了包括可以由电子表格应用程序自动生成的建议(或见解)的电子表格。
图13根据一些实现,描绘了包含电子表格计算的电子表格,其中直接在电子表格的各个单元格中呈现近似值和概率分布的图形表示。
图14根据一些实现,描绘了包括电子表格计算的电子表格,其中直接在各个单元格中呈现近似值的图形表示。
图15根据一些实现,描绘了近似值(或不确定值)的各种单元格级别表示。
图16根据一些实现,描绘了用于说明见解和推荐系统的示例性操作组件的框图。
图17根据一些实现,描绘了近似值(或不确定值)的各种单元格级别表示。
图18是示出适用于实现本文所公开技术的计算系统的框图,其包括在附图中所示以及在下面的技术公开中讨论的任何应用程序、体系结构、要素、过程、以及操作场景和序列。
具体实施方式
本文公开了用于处理电子表格应用程序中的近似值(或不确定值)的技术。具体地说,该技术将支持近似值(或不确定值)数组或集合的电子表格应用程序描述为本地实体。近似值(或不确定值)可以是可通过公式、图表和其它功能解析的基于网格的电子表格的单元格的值。在一些实现中,近似值可以包括数据范围和概率分布,该数据范围和概率分布可以由电子表格应用程序自动创建、基于上下文生成、由用户输入等等。由于近似值(或不确定值)是在本地可用的(natively available),因此可以像其它值一样合并到电子表格中。此外,近似值(或不确定值)可以通过电子表格计算自动地传播,以获得最终的近似结果。该技术还描述了用于表示单元格中的不确定值并可视化概率分布的各种方法。
在一些实现中,可以使用机器学习算法来识别可能认为用户感兴趣的数据,并将具有不确定值的数据(例如,结果采用特定值或一组值的概率)呈现给用户(例如,计算费用不确定的每月现金流量,并提供负现金流量的可能性)。
通过本文所讨论的技术可以实现各种技术效果。例如,该技术使用户能够解决单元格中的不确定性,而无需针对每种可能的输入变化来重新生成电子表格网格。这使电子表格更易于管理,提高了计算速度并减少了内存需求。此外,这些技术还使用户能够:在电子表格单元格中表达不确定性,使用一组内置模型来定义不确定性值或者提供自己的不确定性,使用指导性经验来选择和创建适当的数据模型(其包括使用过去的数据来创建模型),可视化不确定值并与之交互,从而允许探索结果和帮助理解,并向网格和计算提取与不确定值相关的关键值。不确定值的示例可以包括但不限于:预算项目、到达时间、持续时间、客户对项目的需求、价格、利率或汇率等等。
存在各种不确定性的替代表示。但是,该描述主要针对于可能值集合或者随机信息分组(SIP)。本文通常使用通用术语“不确定值”、“估计”和“近似值”来指代同一事物。
图1A到图1C根据一些实现,描绘了用于说明在电子表格应用程序中处理近似值的示例性操作架构100。操作架构100包括:可以在其上实现电子表格应用程序103的计算系统101、以及在其上存储电子表格应用程序103和其中包含的数据的数据存储120。
电子表格应用程序103可以包括:包含在计算系统101(例如,PC、移动电话设备、Web服务器或其它应用程序服务器)上运行的GUI(图形用户界面)的功能。这样的系统可以在支持远程微服务的上下文中使用一个或多个虚拟机、容器或任何其它类型的虚拟计算资源,作为电子表格应用程序103中的本地功能,其中图18的计算系统1801是其代表。电子表格应用程序103包括计算引擎104和近似值处理组件110。近似值处理组件110可以帮助将用户界面105驱动到电子表格应用程序103。如图1A到图1C的示例所示,用户界面105描绘了电子表格网格130。
近似值处理组件110包括近似值解析器111、近似值检测器113、可视化和交互管理器115、模型选择管理器117和见解引擎119。可以部分地或全部地利用硬件、软件或者硬件和软件的组合,单独地实现由管理器、模块和/或引擎表示的功能或者实现其任意组合。虽然示出为包括在近似值处理组件110内,但是这些组件中的一个或多个可以替代地或另外地包括在计算引擎104内。
近似值解析器111被配置为使用转换模型,生成、确定和/或识别表示近似值的可能值数组或集合。如下面参考图5所更详细讨论的,近似值解析器111也可以至少部分地基于转换模型,来确定与表示近似值的可能值集合相关联的概率分布。
近似值检测器113被配置为监测用户与电子表格的交互,并基于用户交互来检测与电子表格的一个或多个单元相关的不确定性事件。例如,近似值检测器113可以利用电子表格计算来检测用户交互中的暂停(或犹豫),并且响应地指示可视化和交互管理器115呈现用于指示支持近似值的通知或者允许用户启用近似值的界面。参照图7到图9,示出并更详细地讨论了近似值检测器113的示例性操作。
可视化和交互管理器115被配置为识别近似值和/或图形用户界面的适当表示,并且在单元格中或者在电子表格的表面上呈现那些表示和/或界面。在一些实例中,这些界面是交互式的,其允许电子表格的用户例如调整近似值,或者选择或修改分布类型或者与该分布类型相关联的转换模型的参数。
模型选择管理器117被配置为识别和选择用于评估(或解析)近似值的转换模型。在一些实现中,可以至少部分地基于指导经验(例如,历史数据)来选择模型。可以从许多用户中汇总该历史数据。替代地或另外地,可以通过识别电子表格计算的类型和/或向用户显示问题来开发用户简档。
见解引擎119被配置为基于电子表格计算的一个或多个近似值,自动地生成见解或推荐。在一些实施现中,见解引擎119指导可视化和交互管理器115经由图形用户界面,在电子表格的表面上呈现见解或推荐。参考图12更详细地示出并讨论了示例性见解(或推荐)。在一些实现中,见解引擎119利用用户简档和/或过去的动作以及类似的用户选择,来学习和识别最适合特定的数据/分布的见解的类型。
首先参考图1A,在操作的一个例子中,电子表格应用程序103的一个或多个组件使用近似值(或不确定值)121(步骤1)来填充网格130的单元格C3。如本文所讨论的,电子表格应用程序103可以通过多种方式(例如,经由用户输入、程序输入等等)来接收近似值121。参考图6A到图6C更详细地示出和讨论了用于说明近似值的用户输入的各种示例,其包括选择或调整近似值分布类型或者与分布类型相关联的参数。
近似值处理组件110的一个或多个组件检测网格130的单元格C3中的近似值,并且模型选择管理器117响应地标识用于评估近似值的转换模型(步骤2)。然后,近似值解析器使用已识别的转换模型,来确定或生成一组可能的值(例如,数组)(步骤3)。在一些实现中,该转换还可以包括至少部分地基于转换模型来确定或生成概率分布信息。可以通过在电子表格的表面上呈现的用户界面来编辑概率分布类型和/或参数(例如,参见图6C)。可以在数据存储(或数据库)120中存储该组可能的值和概率分布信息(可选)(步骤4)。
然后,可视化和交互管理器115识别近似值的表示(步骤5)。在一些实现中,可视化和交互管理器115可以识别表示该近似值的可能值集合中的至少一个可能值(例如,最可能值),并至少部分地基于至少一个可能的值来选择视觉表示。然后,可视化和交互管理器115可以在电子表格的网格130’的单元格中呈现近似值121’的表示。在一些实现中,近似值121’的表示包括所述至少一个可能值表示该单元格的近似值的指示(步骤6)。参考图15详细地示出和讨论了有关近似值的各种示例性可视表示。
图1B说明了通过电子表格计算得出的近似值(或不确定值)121’的传播。如本文所讨论的,近似值(或不确定值)121’可以通过电子表格计算自动地向下游传播,而无需计算整个工作表或网格(步骤7)。
在一些实现中,由计算引擎104通过电子表格计算来传播近似值(或不确定值)。电子表格应用程序可以包括近似(或不确定)数据类型,其可以表示可能值数组或集合(例如,SIP)。在一些实现中,全局参数N或某个其它变量控制数组的大小。
可以包括各种机制,以通过电子表格来传播近似值表示。例如,电子表格应用程序103可以通过重载运算符、工作表函数和其它构造来扩展公式评估。参照图4A和图4B更详细地示出和讨论了这些概念。
在一些实现中,可以将快速计算模式与单个值或者表示通过电子表格计算向下游传播的近似值的可能值集合的一个子集一起使用,以便更快地完成计算。然后,在以后通过电子表格计算来传播其余的值或样本。
在一些实现中,电子表格应用程序103可以通过电子表格计算,来估计向下游传播近似值的成本。可以在具有或没有快速计算模式的情况下进行估计,并且假设使用了快速计算模式,则可以在快速计算之前和/或之后进行估计,以估计除了计算剩余的值或样本之外的快速计算成本。
一旦通过电子表格计算传播了表示近似值(或不确定值)121’的可能值集合中的一个或多个,则可视化和交互管理器115随后可以识别用于每个传播的近似值的表示(步骤8),并在适当的单元格中呈现传播的近似值(步骤9)。
图1C至少部分地基于电子表格应用程序,说明了一种或多种见解的自动生成。如上所述,见解引擎119基于电子表格计算的一个或多个近似值,自动地生成见解或推荐(步骤10)。然后,可视化和交互管理器115通过图形用户界面,在电子表格的表面上呈现见解或推荐(步骤11)。
图2根据一些实现,描绘了用于示出电子表格应用程序的一个或多个组件的示例性操作的流程图200。具体地说,流程图200示出了用于使用表示近似值的可能值数组或集合来代替电子表格的单元格中的近似值的示例操作。该电子表格应用程序可以是图1A到图1C的电子表格应用程序103,但替代的配置也是可能的。在各种实施方式中,这些示例性操作可以由图1A到图1C的近似值处理组件110或者与其相关联的一个或多个处理器、扩展、模块、引擎、组件或工具来执行。
首先,在201处,近似值处理组件接收关于电子表格的单元格的值的输入以及该输入表示近似值的指示。在203处,近似值处理组件识别或确定该输入表示近似值。在205处,近似值处理组件识别用于解析近似值的转换模型。
在207处,近似值处理组件使用转换模型将近似值转换为表示近似值的可能值集合。最后,在209处,近似值处理组件将电子表格单元格的值替换为可能值集合。
图3根据一些实现,描绘了用于示出电子表格应用程序的一个或多个组件的示例性操作的流程图300。具体地说,流程图300示出了用于通过电子表格计算的下一个公式,传播近似值的示例操作。电子表格应用程序可以是图1A到图1C的电子表格应用程序103,但替代配置也是可能的。在各种实现中,这些示例性操作可以由图1A到图1C的近似值处理组件110或者与之相关联的一个或多个处理器、扩展、模块、引擎、组件或工具来执行。
首先,在301处,近似值处理组件识别依赖于近似值的在电子表格计算的不同(下游)单元格中表达的公式。在303处,近似值处理组件将表示近似值的可能值集合作为输入提供给公式。在305处,近似值处理组件将公式的输出作为电子表格的不同单元格的值进行计算。输出包括表示不同近似值的不同的可能值集合。参照图3更详细地显示和讨论了示例性输出计算。最后,在307处,近似值处理组件将不同的可能值集合存储为电子表格的不同单元格的值。
图4A和图4B根据一些实现,分别描绘了用于示出示例性计算引擎404的框图400A和400B,该计算引擎404能够处理电子表格应用程序中的公式计算近似值。具体而言,计算引擎404包括规则406,其有助于处理(或重载)具有一个或多个输入的电子表格计算中的公式,所述一个或多个输入是表示近似值的可能值数组或集合。计算引擎404可以是图1A到图1C的计算引擎104,但替代的配置也是可能的。
如本文所述,为了通过电子表格传播近似值表示,电子表格应用程序可以通过重载运算符、工作表函数和其它构造来扩展公式评估。在图4A和4B的例子中,规则406提供关于如何扩展这些公式的上下文。
首先参考图4A,计算引擎404识别在电子表格的单元格中表达的公式412,该公式使用电子表格应用程序中定义的SUM函数将单元格C2和C 3中的一组近似值进行相加。如图所示,单元格C2和C 3分别包含表示近似值的可能值数组或集合。计算引擎404首先检测公式412具有一个或多个近似值输入,然后访问规则406以确定SUM函数已经被如何重载。在图4A的例子中,规则406指示应当以分段方式将两个数组相加。因此,近似值输出422是存储在单元格C2和C3中的数组的分段加法。
相反,如图4B的例子中所示,规则406指示应当将常数值与数组的每个值进行相加。计算引擎404首先检测到公式414具有一个或多个近似值输入,然后访问规则406以确定SUM函数如何被重载。在图4B的例子中,规则406指示应当将常数值与数组的每个值进行相加。因此,近似值输出424是将存储在单元格C2中的每个值与存储在单元格C3中的常数值3进行相加的结果。
图5根据一些实现,描绘了用于示出近似值处理组件500的一个或多个组件的示例性操作的框图。具体地说,图5的例子包括模型选择管理器117,该模型选择管理器117被配置为识别和选择转换模型116以用于使用近似值解析器111来评估(或解析)包括近似值的单元格输入。在计算引擎(例如,图1A到图1C的计算引擎104)中,可以替代地或另外地包括近似值处理组件500的模块、引擎或组件中的一些或全部。
如上所述,模型选择管理器117被配置为识别和选择用于评估(或解析)近似值的转换模型。可以至少部分地基于能够从一个或多个用户聚合的指导经验(例如,历史数据)来选择模型。例如,可以向用户显示问题以确定使用哪个模型或者如何生成模型。在一些实现中,学习引擎515应用机器学习算法来识别或建立适当的模型。
一旦选择了模型,则近似值处理组件随后使用转换模型来生成、确定和/或识别表示近似值的可能值数组或集合。近似值处理组件还可以至少部分地基于转换模型,来确定与表示近似值的可能值集合相关联的概率分布。
图6A到图6C根据一些实现,描绘了用于在电子表格的单元格中输入或改变近似值的各种示例性技术。如本文所讨论的,可以由用户或通过外部数据源或服务,将表示近似值的单元格输入(或数据)输入(或填充)到电子表格的单元格中。此外,电子表格应用程序可以使近似值的可视化详细信息以卡片、图表或其它图形表示形式出现在电子表格上。
首先参考图6A,在一些实现中,用户可以使用特殊的文本语法和/或符号,将近似值输入到电子表格的单元格中。符号示例605包括范围(min...max)(例如,“2...4”)或(min-max),例如,“2-4”可以用于指示可能值的数组或集合[2,3,4]。同样,可以使用以下语法来指示可能值数组或集合[2,3,4]:该语法标识由定界符分隔的数组的每个值,例如“2/3/4”或“2;3;4”。在一些实现中,用户可以输入指示范围加上最可能的值(最小/最可能/最大)(例如,1/2/4)的符号。在每种情况下,电子表格应用程序都会识别适当的模型和/或自定义解析器(例如,转换模型),以评估或转换单元格输入。
接着参考图6B,在一些实现中,用户可以将近似值输入到电子表格的单元格中和/或使用小部件(widget)615调整该近似值。如图6B的例子所示,小部件615允许用户设置或修改近似值的参数。例如,小部件615允许用户使用滑块617来调整最可能的值。在一些实现中,小部件还可以促进对范围的调整,例如,最小或最大值、近似值的范围内的样本数量(或步长)。参照图10和图11A到图11B来示出并更详细地讨论了使用小部件调节近似值的示例。
在一些实现中,在电子表格的单元格中输入特定的符号(例如,“~90”)表示近似值(或不确定值),并触发要呈现的用户界面,例如小部件615或卡片620(已参考图6C进行讨论)以设置或修改近似值或者与近似值相关联的参数。
最后参考图6C,在一些实现中,用户可以使用卡片620,将近似值输入到电子表格的单元格中和/或调整该近似值。可以通过用户与电子表格的交互来触发卡片620的呈现,例如,通过单击按钮或其它用户界面功能。如上所述,可以设置或修改参数。例如,用户可以控制数组(或SIP)中的样本数量。该控制可以在全局菜单中和/或在上下文中内联地调用(例如,来自于卡片)。例如,如果电子表格应用程序使用大小为N的样本数组来表示不确定值,则该设置将确定N的实际值(例如,N=1000或N=10,000)。这些设置默认情况下适用于整个工作簿,但可以针对单个工作表进行不同的设置。
用户还可以选择特殊模式,例如有限样本的快速计算(calc)模式,以帮助构建具有不确定性的工作簿,然后选择运行更高样本的完整估计模式。替代地,可以延迟构建(传播)电子表格,例如最初计算N=1000,然后采样更多(出于显示目),可能直到达到某个固定点(例如,当近似形状或分位数稳定时)。其它样本的渐进式细化/包含也可以由用户动作来驱动,或者自动地推断用户的兴趣。
外部数据源和/或服务也可以将近似值输入到电子表格应用程序的单元格中。例如,外部数据源或服务可以提供诸如以下的估计:均值加标准偏差、置信区间、或者一系列样本(例如,值数组(或SIP))。在这些数据导入电子表格应用程序后,可以将其表示为近似值(或不确定值)。类似地,诸如分类器、回归器等等之类的机器学习算法可以以概率分布的形式返回结果,例如,概率或向量(例如,单纯形)或均值加标准偏差。也可以将这些结果作为近似值(或不确定值)导入电子表格应用程序。
在一些实现中,电子表格应用程序可以为用户提供适当的数据作为服务。例如,每个基于云的租户订户可以定制数据。在另一个例子中,可以使用来自气象卫星的数据或者有关运输到达时间等等的数据来构建预测模型。
此外,在一些实现中,可以根据电子表格网格中的现有数据,来合成近似值(或不确定值)。在一些情况下,电子表格应用程序可以应用统计推断技术从过去的样本中推断出分布,然后将该分布表示为不确定值。例如,可以使用包含有跟踪过去一年杂货预算的列的电子表格网格,来创建类似于这些过去样本的不确定值,其设置适当的范围和分布。在另一个操作示例中,电子表格网格包含一年的公用费用账单(utility bill)。电子表格应用程序可以推断分布,从而创建不确定值来预测未来的项(例如,冬季公用费用账单)。另一个例子是至少部分地基于过去几个月的使用情况,来预测关于未来一个月的电话计划的数据使用情况。其它终端用户友好的体验可以涉及:帮助用户选择感兴趣的范围,并自动地生成要放入单元格的公式。
虽然没有在图6A到图6C的示例中显示,但在一些实现中,可以将近似值(或不确定值)和/或电子表格计算(包括那些近似值(或不确定值))导出到电子表格应用程序之外。例如,可以将近似值(或不确定值)和/或电子表格计算(包括那些近似值(或不确定值))导出到数据库(例如,Power BI或SQL),或者导出到电子邮件或其它形式的消息传递。
图7根据一些实现,描绘了用于示出电子表格应用程序的一个或多个组件的示例性操作的流程图700。具体而言,流程图700示出了用于向用户通知电子表格应用程序的近似值处理能力,并且在某些情况下响应于用户输入而启用电子表格应用程序的近似值处理能力的示例性操作。该电子表格应用程序可以是图1A到图1C的电子表格应用程序103,但替代的配置也是可能的。在各种实现中,这些示例性操作可以由图1A到图1C的近似值处理组件110的一个或多个组件、或者与之相关联的一个或多个处理器、扩展、模块、引擎、组件或工具来执行。替代的配置也是可能的。
首先,在701处,电子表格应用程序监测用户输入或者与电子表格的用户交互(或电子表格计算)。如本文所讨论的,电子表格计算可以包括导致最终计算的一个或多个单元格。在703处,电子表格应用程序检测不确定性事件。不确定性事件可以是用户采取的一个动作或一系列动作,其中这些动作共同地指示电子表格计算的一个或多个值可能包含一个近似值(或不确定值)。
在一些实现中,可以将一个或多个不确定性事件硬编码在近似值检测器(例如,图1A到图1C的近似值检测器113)中。此外,在一些实现中,近似值检测器可以包括学习引擎,其包括能够自动地学习和检测表示不确定性事件的行为(或相互作用)的机器学习算法。
如本文所讨论的,可以通过多种方式来触发不确定性事件,这些方式包括:电子表格应用程序随时间学习的方式。例如,当电子表格应用程序检测到以下情况时,可以触发不确定性事件:在电子表格的单元格中输入值时出现暂停或犹豫;在预定的时间段内,对电子表格的单元格的值进行了重复修改;指示不确定性的语言,例如,标记有“估计”、“预算”、“预期”、“最小/最大”类型语言等等的列或行标题、或者电子表格单元格周围的表示不确定性的词语、注释或注解,例如“待确认”、“可能更新”、“TBD”等等;将来发生的日期等等。
在705处,电子表格应用程序通知用户支持近似值(或不确定值)。在一些实现中,该通知可以包括:显示提示或对话框。例如,图8说明了示例性预算计算。如图所示,在计算“总费用和余额”的过程中,用户将“Utilities”留为空白,这是因为现在是一月中的中旬,其值是未知的。电子表格应用程序检测到用户的犹豫(不确定事件),并建议用户输入范围或近似值。具体而言,图8的例子示出了响应于不确定性事件而在电子表格830的表面上呈现的示例通知815。
在一些实现中,默认情况下可以在电子表格应用程序中启用近似值(或不确定值)。替代地,可以在电子表格的表面上呈现提示或通知,从而允许用户启用(或禁用)对电子表格中的近似值(或不确定值)的支持。继续图7的例子,在判断框707处,电子表格应用程序确定是否检测到近似值,如果是,则在709处提示用户打开(或启用)电子表格中的近似值(或不确定值)。例如,图9说明了未启用近似值(或不确定值)的电子表格应用程序。电子表格应用程序检测单元格中的近似输入(例如,范围“60-120”),并响应地在电子表格930的表面上提示或呈现用户提示915,从而允许用户在电子表格计算中打开(或启用)估计或近似值。
图10根据一些实现,描绘了用于示出电子表格应用程序的一个或多个组件的示例性操作的流程图1000。具体而言,流程图1000示出了用于动态地呈现用户界面以设置或调整近似值的示例性操作。该电子表格应用程序可以是图1A到图1C的电子表格应用程序103,但替代的配置也是可能的。在各种实现中,这些示例性操作可以由图1A到图1C的近似值处理组件110的一个或多个组件、或者与之相关联的一个或多个处理器、扩展、模块、引擎、组件或工具来执行。替代的配置也是可能的。
首先,在1001处,电子表格应用程序监测用户输入或者与电子表格的用户交互。在1003处,电子表格应用程序基于用户输入或者与电子表格或那些单元格的交互,来检测与电子表格的一个或多个单元格有关的不确定性事件。例如,不确定事件可以是指示用户正在将鼠标悬停在具有近似值的单元格上、双击具有近似值的单元格(或单元格的一个角)等等。
一旦检测到不确定性事件,则在1005处,电子表格应用程序在电子表格的表面上呈现视觉表示(或者图形用户界面)。该视觉表示可以包括用于调整近似值的组件。例如,图11A和图11B示出了包括滑块1117的图形界面1115,该滑块可操作以允许用户快速地调整单元格的近似值。
继续图9的示例性预算计算,图11A和11B根据一些实现,描绘了电子表格1130,该电子表格1130包括表示具有近似值(或不确定值)的预算的电子表格计算。具体地说,电子表格1130在单元格F9中包括类别“Utilities”的近似值(或不确定值)。如上所述,电子表格应用程序可以自动地检测单元格调整事件,例如,鼠标悬停、指示近似值“~”的特定语法的输入等等。
首先参照图11A,对于单元格F9中的类别“Utilities”,用户输入的近似值包括范围“60-120”。如本文所讨论的,电子表格应用程序使用转换模型将用户输入的范围转换为一组可能值。在一些实现中,电子表格应用程序然后呈现最可能的值以及该单元格表示一个近似值的指示。如图11A的例子中所示,电子表格应用程序选择该范围的中间值作为最可能的值(因为未提供最可能的值),并呈现最可能的值以及该值表示一个近似值的指示(例如,“~90”)。
响应于如上所述检测到的单元格调整事件,电子表格应用程序经由包括滑块1117的图形界面1115来呈现(或提示)用户以调整单元格的近似值。
接着参照图11B,因为用户知道她通常会花费$90以上,所以她会使用滑块1117快速地将值调整为$100。然后,近似值会自动通过预算计算进行传播,例如,首先通过单元格F10中的总费用,然后到达单元格F12中的“余额”。有利地,无需修改公式或维护多个电子表格网格,即可执行和传播该计算。另外,修改后的近似值仅仅向下游传播,从而减少了电子表格应用程序所承受的计算成本。
图12根据一些实现,描绘了包括有可以由电子表格应用程序自动生成的建议(或见解)1230的电子表格1230。具体而言,可以自动地生成建议(或见解)1230以自动识别某些有意义的事件的可能性,例如示例性预算计算的余额为负值的概率。该电子表格应用程序可以是图1A到图1C的电子表格应用程序103,但替代的配置也是可能的。建议(或见解)1230可以由图1A到图1C的近似值处理组件110的一个或多个组件、或者与其相关联的一个或多个处理器、扩展、模块、引擎、组件或工具来生成。替代的配置也是可能的。
图13根据一些实现,描绘了包括有电子表格计算的电子表格1330,其中直接在电子表格的各个单元格中呈现近似值和概率分布的图形表示。具体地说,电子表格计算示出了具有不确定性的复利计算。单元格E4:E7保持近似的(或不确定的)每月APR。该近似值(或不确定值)由公式定义,例如=DIST.TRIANG(0,0.2,0.1),它表示最小值为0、最大值为0.2、并且最可能值为0.1的三角形分布。
如图13的例子中所示,每个单元格使用文本和三角形分布的视觉表示(或图像)表示不确定值。该文本指代中位数(中点)周围95%的置信区间。可视图像是来自于用于表示不确定值的分布的样本直方图。如本文所讨论的,不确定性进行传播。因此,单元格G4具有公式来计算C4中的值的利率E4的利息。在计算该公式时,要考虑E4的不确定性,因此G4中的值是中值8.27的不确定性值。
如本文所讨论的,近似值(或不确定值)通过电子表格计算传播。例如,如果用户将不确定性值插入(或通过程序输入)到单元格中,则不确定性会传播到所有依赖于该单元格值的单元格。
图14根据一些实现,描绘了包括电子表格计算的电子表格1430,其中在各个单元格中直接地呈现近似值的图形表示。具体地说,图14的例子说明了使用卡片来输入和显示电子表格内的近似值(或不确定值)。
像图13的例子一样,图14的电子表格计算说明了具有不确定性的复利的计算。单元E4:E7持有近似的(或不确定的)每月APR。但是,图14中所示的近似值(或不确定值)是由不同的分布类型来定义的。
在一些实现中,可以将一个或多个卡片附加到电子表格1430的每个单元格中。如图14的例子中所示,卡片1415附加到单元格E4上,而卡片1420附加到单元格C8上。这些卡片可以包括能够由用户进行编辑的各种字段。例如,卡片1415包括用于定义分布类型(或族)的字段以及用于定义分布参数的各种附加字段(例如,上限和下限)。单元格E4具有下限为0.0和上限为0.2的‘均匀’分布类型。卡片1315也显示了分布的直方图,以帮助用户理解不确定性。
如图14的例子中所示,卡片1420附加到单元格C8中的最终总数,并说明直方图、累积分布函数(“S曲线”)和统计信息(期望值,以及置信区间为95%的上限和下限)。其它字段也是可能的。
图15根据一些实现,描绘了近似值(或不确定值)的各种单元格级别表示。如本文所讨论的,单元格的近似值(或不确定值)的呈现指示该单元格包含近似值(或不确定值)。单元格格式化可以通过几种方式来指示近似值,这些方式包括:“a~”符号、边角中的斜角或图标。替代地或另外地,单元格格式化可以包括显示平均值(可以显示几种类型的平均,其中通常的算术平均值是默认值)。图15中显示的效果图显示了各种其它可能性,这些可能性通常是不言而喻的,因此不再详细讨论。
用户可以选择在卡片和单元格中应用这些视图中的哪一个。样式可以是该样式的一种版本,用户可以从选项库中选择表示形式。一些样式可能包含简单的表示形式(例如,“~90”),而另一些样式可能带有直方图和值的其它表示形式而更加复杂。当我们想要在单元格表示中显示更多的数据时,还可以通过单元格大小调整和缩放(包括用户操作和自动操作)来动态地确定视图的选择。还可以基于推断的用户专业水平来确定视图的选择。相同的原理也适用于Card用户界面(UI)
图16根据一些实现,描绘了用于示出见解和推荐系统1600的示例性操作组件的框图。如图16的例子中所示,这些示例性操作组件包括通用见解模块1610、参数空间模块1620、基于兴趣的选择器模块1630、特定见解实例模块1640、呈现器1650以及交互式解释模块1660。见解和推荐系统1600可以是图1A到图1C的见解引擎119,但替代的配置也是可能的。
在操作中,见解和推荐系统1600可以在电子表格中生成并呈现见解或推荐。见解和推荐系统1600可以以多种方式提供见解,例如,通过交互式可视化、替代表示(例如,维恩图、自然频率图等等)、自然语言解释等等。在一些实现中,见解和推荐系统1600检查分布,并以具有附带解释的图表/图形的形式给出一系列见解。在一些实现中,见解和推荐系统1600可以利用用户简档和过去的行为,从相似用户的选择中学习,并学习最适合数据/分布的见解类型。
通用见解类模块1610包括可以从各种源获得的通用见解类。例如,可以建立和维护通用见解类的数据库。在一些情况下,通用见解类可以是众包的,或者可以创建和利用使用机器学习的自更新数据库。
基于兴趣的选择器1630确定用户最感兴趣的实例。例如,基于兴趣的选择器1630可以生成手动编码的启发式方法,其包括上下文推断的重要性(例如,当将值与电子表格中的其它单元格进行比较时),基于兴趣的选择器1630可以基于字体、位置等等选择看起来更重要的实例,或者使用机器学习通过用户(或类似用户)的交互历史和/或与系统的其它交互来确定用户感兴趣的内容。
根据一些实现,呈现器1650和交互式解释模块1660可以根据实现,描绘近似值(或不确定值)的各种单元格级别表示,并根据需要向用户提供附加细节。参考图17来显示并更详细地讨论示例性呈现。
图17根据一些实现,描绘了近似值(或不确定值)的各种单元格级别表示。例如,在一些实现中,图16的见解和推荐系统1600采用最感兴趣的见解实例并选择适当的可视化,例如,可以以多种方式呈现“该单元格大于零的概率为85%”。可以向用户显示图17的例子,然后用户可以选择适当的呈现。
图18描绘了计算系统1801,其表示可以实现本文所公开的各种应用程序、服务、场景和过程的任何系统或系统集合。计算系统1801的例子包括但不限于:服务器计算机、机架式服务器、web服务器、云计算平台和数据中心设备、以及任何其它类型的物理或虚拟服务器机器、容器、以及它们的任意变型或组合。其它例子可以包括智能电话、膝上型计算机、平板计算机、桌面型计算机、混合计算机、游戏机、虚拟现实设备、智能电视、智能手表和其它可穿戴设备、以及它们的任意变型或组合。
计算系统1801可以实现为单个装置、系统或设备,或者可以以分布式方式实现为多个装置、系统或设备。计算系统1801包括但不限于处理系统1802、存储系统1803、软件1805、通信接口系统1807和用户接口系统1809。处理系统1802操作地与存储系统1803、通信接口系统1807和用户接口系统1809(可选)相耦合。
处理系统1802从存储系统1803中加载软件1805并进行执行。软件1805包括各种处理,其通常表示通过前述的附图和下面的其它示例所讨论的处理。当由处理系统1802执行时,软件1805指示处理系统1802如本文所述地操作以至少实现在前述的实施方式中讨论的各种过程、操作场景和序列。为简洁起见,计算系统1801可以可选地包括未讨论的其它设备、特征或功能。
仍然参见图18,处理系统802可以包括微处理器和用于从存储系统1803获取软件1805并进行执行的其它电路。处理系统1802可以在单个处理设备中实现,但也可以分布在协作地执行程序指令的多个处理设备或子系统上。处理系统1802的例子包括通用中央处理单元、专用处理器和逻辑设备、以及任何其它类型的处理设备、其组合或变型。
存储系统1803可以包括可由处理系统1802读取并且能够存储软件1805的任何计算机可读存储介质。存储系统1803可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,例如计算机可读指令、数据结构、程序模块或其它数据。存储介质的例子包括随机存取存储器、只读存储器、磁盘、光盘、闪存、虚拟存储器和非虚拟存储器、盒式磁带、磁带、磁盘存储器或其它磁存储设备、或者任何其它适当的存储介质(除了传播信号之外)。计算机可读存储介质在任何情况下都不是传播信号。
除了计算机可读存储介质之外,在一些实现中,存储系统1803还可以包括计算机可读通信介质,至少一些软件1805可以通过计算机可读通信介质进行内部地或外部地传送。存储系统1803可以实现为单个存储设备,但也可以跨多个存储设备或子系统来实现,其中所述多个存储设备或子系统相对于彼此同处一地或者是分布式的。存储系统1803可以包括能够与处理系统1802或者可能的其它系统进行通信的其它元件(例如,控制器)。
可以利用程序指令以及其它功能来实现软件1805,当软件1805由处理系统1802执行时,指导处理系统1802以如关于本文所示出的各种操作场景、序列和过程所描述的那样进行操作。
具体而言,程序指令可以包括协作地或以其它方式交互以执行本文所描述的各种过程和操作场景的各种组件或模块。所述各种组件或模块可以体现在编译或解释的指令中,或者体现在某种其它变体或指令的组合中。可以在同步或异步方式、串行或并行、单线程环境或多线程环境下、或者根据任何其它适当的执行范例、变型或其组合,来执行各个组件或模块。除了本文所讨论的过程之外或者包括本文所讨论的过程,软件1805可以包括诸如操作系统软件、虚拟机软件或其它应用程序软件之类的其它过程、程序或组件。软件1805还可以包括可由处理系统1802执行的固件或者某种其它形式的机器可读处理指令。
通常,当将应用程序1805加载到处理系统1802中并且执行时,可以将适当的装置、系统或设备(其中计算系统1801是代表性的)整体从通用计算系统转换为用于处理电子表格应用程序中的近似值的专用计算系统。事实上,存储系统1803上的编码软件1805可以转换存储系统1803的物理结构。物理结构的特定转换可以取决于本说明书的不同实现中的各种因素。这些因素的例子可以包括但不限于:用于实现存储系统1803的存储介质的技术以及计算机存储介质是否被表征为主存储或二级存储、以及其它因素。
例如,如果将计算机可读存储介质实现为基于半导体的存储器,则软件1805可以在编码程序指令时转换半导体存储器的物理状态,例如通过转换晶体管、电容器或构成半导体存储器的其它离散电路元件的状态。对于磁性或光学介质,可以发生类似的转换。在不脱离本说明书的保护范围的情况下,物理介质的其它变换也是可能的,提供前述示例仅仅是为了有助于本文的讨论。
通信接口系统1807可以包括允许通过通信网络(没有示出)与其它计算系统(没有示出)进行通信的通信连接和设备。一起允许系统间通信的连接和设备的例子可以包括网络接口卡、天线、功率放大器、RF电路、收发器和其它通信电路。这些连接和设备可以通过通信介质进行通信,以与其它计算系统或系统网络(例如,金属、玻璃、空气或任何其它适当的通信介质)交换通信。前述的介质、连接和设备是众所周知的,故这里不需要详细讨论。
用户接口系统1807是可选的,并且可以包括键盘、鼠标、语音输入设备、用于从用户接收触摸手势的触摸输入设备、用于检测用户的非触摸手势和其它动作的动作输入设备、以及能够从用户接收用户输入的其它可比较的输入设备和相关联处理元件。诸如显示器、扬声器、触觉设备和其它类型的输出设备之类的输出设备也可以包括在用户接口系统1809中。在一些情况下,输入和输出设备可以组合在单个设备中,例如能够显示图像和接收触摸手势的设备。前述的用户输入和输出设备在本领域中是公知的,故这里不需要详细讨论。
用户接口系统1809还可以包括可由处理系统1802执行的相关用户接口软件,以支持上面讨论的各种用户输入和输出设备。用户接口软件和用户接口设备单独地或彼此结合地以及结合其它硬件和软件元件,可以支持图形用户界面、自然用户界面或任何其它类型的用户界面。
计算系统801和其它计算系统(没有示出)之间的通信可以通过通信网络或多个通信网络并且根据各种通信协议、协议的组合或者其变型来发生。其示例包括内联网、互联网、因特网、局域网、广域网、无线网络、有线网络、虚拟网络、软件定义网络、数据中心总线、计算背板或者任何其它类型的网络、网络的组合或者其变型。前述的通信网络和协议是众所周知的,故这里不需要详细讨论。但是,可以使用的一些通信协议包括但不限于:互联网协议(IP、IPv4、IPv6等等)、传输控制协议(TCP)和用户数据报协议(UDP)、以及任何其它适当的通信协议、变型或者其组合。
在交换数据、内容或任何其它类型的信息的任何前述示例中,信息的交换可以根据多种协议中的任何一种进行,这些协议包括FTP(文件传输协议)、HTTP(超文本传输协议)、REST(表示状态传输)、Web套接字、DOM(文档对象模型)、HTML(超文本标记语言)、CSS(级联样式表)、HTML5、XML(可扩展标记语言)、JavaScript、JSON(JavaScript对象标记)和AJAX(异步JavaScript和XML)、以及任何其它适当的协议、变型或者其组合。
本文所讨论的技术可以体现为专用硬件(例如,电路)、用软件和/或固件适当编程的可编程电路、或者专用电路和可编程电路的组合。因此,实施方式可以包括存储有指令的机器可读介质,该指令可以用于对计算机(或其它电子设备)进行编程以执行处理。机器可读介质可以包括但不限于软盘、光盘、压缩光盘只读存储器(CD-ROM)、磁光盘、ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存或者适合于存储电子指令的其它类型的介质/机器可读介质。
短语“在一些实施例中”、“根据一些实施例”、“在所示实施例中”、“在其它实施例中”,“在一些实现中”、“根据一些实现”、“在所示的实现中”、“在其它实现中”等等通常表示该短语之后的特定特征、结构或特性包括在本技术的至少一个实施例或实现中,并且可以包括在一个以上的实施例或实现中。另外,这样的短语不一定指代相同或不同的实施例或实现。
附图中提供的功能框图、操作场景和序列以及流程图表示用于执行本公开内容的新颖方面的示例性系统、环境和方法。虽然为了简化说明起见,本文包括的方法具有功能图、操作场景或序列或者流程图的形式,可以将其描述为一系列动作,但应当理解和明白的是,这些方法并不受动作顺序的限制,这是因为某些动作可以以不同的顺序发生和/或与本文所示出和描述的其它动作同时发生。例如,本领域普通技术人员应当理解并意识到,方法可以替代地表示为一系列相互关联的状态或事件,例如在状态图中。此外,方法中示出的所有动作并非都是新颖的实施方式所必需的。
本文包括的说明书和附图描述了用于教导本领域普通技术人员如何制作和使用最佳选项的具体实施方式。出于教导发明原理的目的,已经简化或省略了一些常规方面。本领域普通技术人员应当理解,落入本发明的保护范围内的这些实施方式的变型。本领域普通技术人员还应当理解,可以以各种方式组合上述特征以形成多个实现。结果,本发明并不限于上述的具体实施方式,而是仅由权利要求及其等同物进行限定。
Claims (15)
1.一种用于处理电子表格的装置,其包括:
一个或多个计算机可读存储介质;
存储在所述一个或多个计算机可读存储介质上的包括电子表格应用程序的多个组件的程序指令,所述组件包括近似值处理组件,当所述近似值处理组件被一个或多个处理系统执行时,指示所述一个或多个处理系统用于:
检测基于网格的电子表格的单元格中填充有作为数据范围输入的一个或多个值;
使用转换模型来生成表示所述一个或多个值的可能值集合;以及
在所述基于网格的电子表格的所述单元格中,利用表示所述一个或多个值的所述可能值集合的图形表示的直接呈现来替换所述一个或多个值。
2.根据权利要求1所述的装置,其中,当所述程序指令被所述一个或多个处理系统执行时,进一步指示所述一个或多个处理系统用于:
识别表示所述一个或多个值的所述可能值集合中的至少一个可能值;以及
在所述基于网格的电子表格的所述单元格中,呈现所述可能值集合中的所述至少一个可能值、以及所述可能值集合中的所述至少一个可能值表示所述基于网格的电子表格的所述单元格的近似值的指示。
3.根据权利要求1所述的装置,其中,当所述程序指令被所述一个或多个处理系统执行时,进一步指示所述一个或多个处理系统用于:
至少部分地基于所述转换模型,确定与表示所述一个或多个值的所述可能值集合相关联的概率分布信息。
4.根据权利要求3所述的装置,其中,当所述程序指令被所述一个或多个处理系统执行时,进一步指示所述一个或多个处理系统用于:
在所述基于网格的电子表格的所述单元格中,呈现所述概率分布的可视表示。
5.根据权利要求1所述的装置,其中,当所述程序指令被所述一个或多个处理系统执行时,进一步指示所述一个或多个处理系统用于:
通过使用单个网格的电子表格计算,自动地向下游传播所述一个或多个值。
6.根据权利要求5所述的装置,其中,为了通过所述电子表格计算自动地向下游传播所述一个或多个值,当所述程序指令被所述一个或多个处理系统执行时,进一步指示所述一个或多个处理系统用于:
识别取决于所述一个或多个值的、在所述基于网格的电子表格的不同单元格中表示的公式;
至少部分地基于所述可能值集合,计算所述公式的输出,
其中,所述输出包括表示不同的一个或多个值的不同的可能值集合;以及
将所述不同的可能值集合存储为所述基于网格的电子表格的所述不同单元格的值。
7.根据权利要求6所述的装置,其中,当所述程序指令被所述一个或多个处理系统执行时,进一步指示所述一个或多个处理系统用于:
识别表示所述一个或多个值的所述不同的可能值集合中的至少一个可能值;以及
在所述基于网格的电子表格的不同的单元格中,呈现所述不同的可能值集合中的所述至少一个可能值、以及所述不同的可能值集合中的所述至少一个可能值表示所述基于网格的电子表格的所述不同的单元格的近似值的指示。
8.根据权利要求1所述的装置,其中,当所述程序指令被所述一个或多个处理系统执行时,进一步指示所述一个或多个处理系统用于:
估计通过使用单个网格的电子表格计算向下游传播所述一个或多个值的成本。
9.根据权利要求1所述的装置,其中,当所述程序指令被所述一个或多个处理系统执行时,进一步指示所述一个或多个处理系统至少部分地基于所述基于网格的电子表格的周围上下文来生成所述转换模型。
10.根据权利要求2所述的装置,其中,为了识别所述可能值集合中的所述至少一个可能值,当所述程序指令被所述一个或多个处理系统执行时,进一步指示所述一个或多个处理系统识别所述可能值集合的中位数值。
11.根据权利要求1所述的装置,其中,当所述程序指令被所述一个或多个处理系统执行时,进一步指示所述一个或多个处理系统至少部分地基于输入来选择所述转换模型。
12.根据权利要求1所述的装置,其中,当所述程序指令被所述一个或多个处理系统执行时,进一步指示所述一个或多个处理系统用于:
监测与所述基于网格的电子表格的交互;
基于与所述基于网格的电子表格的所述交互,检测与所述基于网格的电子表格的一个或多个单元格有关的不确定性事件;以及
响应地在所述基于网格的电子表格的表面上呈现图形用户界面。
13.根据权利要求12所述的装置,其中,所述图形用户界面被配置为启用对所述基于网格的电子表格中的所述一个或多个值的支持。
14.一种用于处理电子表格中的近似值的方法,所述方法包括:
接收关于电子表格的单元格的值的输入以及所述输入表示数据范围的指示;
使用转换模型,将所述数据范围转换为表示所述数据范围的可能值集合;以及
在电子表格的所述单元格中,使用所述可能值集合的图形表示的直接呈现来替换所述电子表格的所述单元格的所述值。
15.根据权利要求14所述的方法,还包括:
识别表示所述数据范围的所述可能值集合中的至少一个可能值;以及
在所述电子表格的所述单元格中,呈现所述可能值集合中的所述至少一个可能值、以及所述至少一个可能值表示所述单元格的近似值的指示。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862628553P | 2018-02-09 | 2018-02-09 | |
US62/628,553 | 2018-02-09 | ||
US16/005,469 | 2018-06-11 | ||
US16/005,469 US10902194B2 (en) | 2018-02-09 | 2018-06-11 | Natively handling approximate values in spreadsheet applications |
PCT/US2019/015492 WO2019156840A1 (en) | 2018-02-09 | 2019-01-29 | Natively handling approximate values in spreadsheet applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111699492A CN111699492A (zh) | 2020-09-22 |
CN111699492B true CN111699492B (zh) | 2023-10-24 |
Family
ID=67540533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980012274.3A Active CN111699492B (zh) | 2018-02-09 | 2019-01-29 | 在本地处理电子表格应用程序中的近似值 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10902194B2 (zh) |
EP (1) | EP3750087A1 (zh) |
CN (1) | CN111699492B (zh) |
WO (1) | WO2019156840A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12001667B2 (en) * | 2014-03-26 | 2024-06-04 | Unanimous A. I., Inc. | Real-time collaborative slider-swarm with deadbands for amplified collective intelligence |
US11941239B2 (en) * | 2014-03-26 | 2024-03-26 | Unanimous A.I., Inc. | System and method for enhanced collaborative forecasting |
US11132492B2 (en) * | 2019-10-07 | 2021-09-28 | Vyasa Analytics, LLC | Methods for automated filling of columns in spreadsheets |
US11989503B2 (en) * | 2021-01-20 | 2024-05-21 | Workday, Inc. | Formula generation by example |
US11949638B1 (en) | 2023-03-04 | 2024-04-02 | Unanimous A. I., Inc. | Methods and systems for hyperchat conversations among large networked populations with collective intelligence amplification |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5381517A (en) * | 1992-09-21 | 1995-01-10 | Fuziware, Inc. | Fuzzy spreadsheet data processing system |
US5600584A (en) * | 1992-09-15 | 1997-02-04 | Schlafly; Roger | Interactive formula compiler and range estimator |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5148365A (en) | 1989-08-15 | 1992-09-15 | Dembo Ron S | Scenario optimization |
US8255332B1 (en) | 2005-06-27 | 2012-08-28 | Sam L. Savage | Utilization and distribution of stochastic data |
JP3853827B1 (ja) | 2005-10-18 | 2006-12-06 | 公靖 中野 | スプレッドシートのセル内範囲グラフ表示方法 |
US20070179982A1 (en) | 2006-01-31 | 2007-08-02 | International Business Machines Corporation | Temporal summarization of a data subset |
US8396777B1 (en) | 2007-07-19 | 2013-03-12 | Spigit, Inc. | Prediction market database, related methods, devices and systems |
US7844486B2 (en) * | 2007-11-05 | 2010-11-30 | Faction GmbH | System and method for determining and increasing an accuracy of costing |
US8843846B2 (en) | 2009-04-20 | 2014-09-23 | International Business Machines Corporation | System, method and graphical user interface for a simulation based calculator |
US20110066933A1 (en) | 2009-09-02 | 2011-03-17 | Ludwig Lester F | Value-driven visualization primitives for spreadsheets, tabular data, and advanced spreadsheet visualization |
GB201100237D0 (en) | 2011-01-10 | 2011-02-23 | Winterstein Daniel B | A grid-valued machine with domain specific language for creating spreadsheets and numerical plans |
US9772759B2 (en) | 2011-10-14 | 2017-09-26 | Apple Inc. | Device, method, and graphical user interface for data input using virtual sliders |
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 |
-
2018
- 2018-06-11 US US16/005,469 patent/US10902194B2/en active Active
-
2019
- 2019-01-29 CN CN201980012274.3A patent/CN111699492B/zh active Active
- 2019-01-29 WO PCT/US2019/015492 patent/WO2019156840A1/en unknown
- 2019-01-29 EP EP19704997.6A patent/EP3750087A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5600584A (en) * | 1992-09-15 | 1997-02-04 | Schlafly; Roger | Interactive formula compiler and range estimator |
US5381517A (en) * | 1992-09-21 | 1995-01-10 | Fuziware, Inc. | Fuzzy spreadsheet data processing system |
Non-Patent Citations (2)
Title |
---|
Anonymous.Argo-Wiki.《Anonymous》.2017,全文. * |
ORACLE.Oracle, Crystal Ball, Fusion Edition, Release 11 .1.2.《ORACLE》.2010,全文. * |
Also Published As
Publication number | Publication date |
---|---|
US10902194B2 (en) | 2021-01-26 |
CN111699492A (zh) | 2020-09-22 |
EP3750087A1 (en) | 2020-12-16 |
WO2019156840A1 (en) | 2019-08-15 |
US20190251158A1 (en) | 2019-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111699492B (zh) | 在本地处理电子表格应用程序中的近似值 | |
US20210055918A1 (en) | Generating data mappings for user interface screens and screen components for an application | |
CN109923568B (zh) | 用于数据分析的移动数据洞察平台 | |
US11762649B2 (en) | Intelligent generation and management of estimates for application of updates to a computing device | |
US9773211B2 (en) | Systems and methods for interactive graphs for building penalized regression models | |
CN105550173A (zh) | 文本校正方法和装置 | |
US9747574B2 (en) | Project assessment tool | |
US20200004811A1 (en) | Rendering lambda functions in spreadsheet applications | |
US20190361720A1 (en) | Contextual insight generation and surfacing on behalf of a user | |
Stawski | Multilevel analysis: An introduction to basic and advanced multilevel modeling | |
US11182748B1 (en) | Augmented data insight generation and provision | |
US20200034481A1 (en) | Language agnostic data insight handling for user application data | |
TW201525859A (zh) | 對於強化的應用程式開發將試算表用做基礎 | |
US20230351308A1 (en) | System and method for universal mapping of structured, semi-structured, and unstructured data for application migration in integration processes | |
US10275525B2 (en) | Method and system for mining trends around trending terms | |
WO2023185125A1 (zh) | 产品资源的数据处理方法及装置、电子设备、存储介质 | |
US20220309391A1 (en) | Interactive machine learning optimization | |
EP3170096B1 (en) | Entity recognition for enhanced document productivity | |
CN113849164A (zh) | 数据处理方法、装置、电子设备和存储器 | |
CN111767290B (zh) | 用于更新用户画像的方法和装置 | |
US11789759B2 (en) | Method, system and apparatus assisting a user of a virtual environment | |
US20230229399A1 (en) | Developer tools for generating and providing visualizations for data density for developing computer applications | |
US11907881B1 (en) | Apparatus and methods for generating a process enhancement | |
US11989395B1 (en) | Interface modification systems and methods | |
WO2021236843A1 (en) | Systems and methods for visual financial modeling |
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 |