对具体的时间点处的数据的可自定义的钻取视图的实时呈现的制作方法

文档序号:11288639阅读:159来源:国知局
对具体的时间点处的数据的可自定义的钻取视图的实时呈现的制造方法与工艺



背景技术:

多种方法和系统可用于向用户呈现数据,然而,许多方法和系统无法呈现最新的数据。当那些数据被呈现时,对所述数据进行访问和存储需要大量系统资源。额外地,当在可视化中被显示时,所述数据是以受限的方式被呈现的。将关于这些和其他考虑而进行示例。



技术实现要素:

提供了该发明内容以用简化的形式引入在以下的具体实施方式中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的所有特征,也不旨在限制所要求保护的主题的范围。

数据卡系统的方面实时地向用户提供与数据可视化中的兴趣点相关的数据。此外,本公开的方面是针对这样的数据卡,其可操作以呈现实时地、即时地收集的数据以用于在数据可视化内呈现,其中所述数据先前不能够经由数据可视化来呈现。因此,数据卡系统可操作以降低针对系统资源的需求并且增加数据呈现的响应性。

额外地,用户能够在决定是否将数据卡固定(pin)为数据可视化的一部分之前看到数据卡,并且因此,通过以下方式来增加生产力:给用户快速的方法来确定哪些数据点应该被钻取以提供额外的相关数据以供进一步查阅。

可以将示例实现为计算机进程、计算系统、或者诸如计算机程序产品或计算机可读介质之类的制品。计算机程序产品可以是能够由计算机系统读取并且编码了用于执行计算机进程的计算机程序指令的计算机存储介质。在以下的附图和描述中阐述了一个或多个方面的细节。通过阅读以下详细描述并回顾附图,其他特征和优点将是显而易见的。应当理解的是,以下的详细描述仅仅是示例性的,而不限制所要求保护的主题的范围。

附图说明

包含在该公开中并且组成了该公开的一部分的附图示出了本公开的各种方面。在附图中:

图1是示例数据可视化系统的框图;

图2a和2b数据卡的示例;

图2c示出了在示例数据可视化内所显示的示例数据卡;

图3是针对数据卡的示例自定义对话的示图;

图4是针对与数据卡相协调的数据可视化的可视化控件的示图;

图5示出了示例时间滑块;

图6是用于在数据可视化内的具体的时间点处呈现数据的自定义钻取视图的示例方法的流程图;

图7是用于填充数据卡的示例方法的流程图;

图8是示出了计算设备的物理组件(即,硬件)的框图;

图9a和9b示出了移动计算设备;并且

图10示出了用于对具体的时间点处的数据的可自定义的钻取视图的提供实时呈现的系统的架构的示例。

具体实施方式

以下的详细说明涉及附图。在可能的情况下,在附图和以下的说明中所使用的相同的附图标记指代相同或相似的元素。尽管已经描述了本发明的实施例,但是修改、变型和其他实现也是可能的。例如,可以对在附图中所示出的元素进行替换、增加或修改,并且可以通过对所公开的方法进行替换、重新排序或增加步骤而修改所公开的方法。从而,以下详细说明不对本发明进行限制,而相反,本发明的适当的范围是由所附权利要求所限定的。示例可以采取硬件实现、完全软件实现、或者组合了软件和硬件方面的实现的形式。因此,以下的详细描述将不被理解为限制意义。

应当理解的是,数据可视化(例如,地图、图表、图等)给用户提供数据点的可视化从而提供了针对与一个或多个数据集有关的呈现和叙事的洞察。例如,条形图数据可视化提供了几个条形来表示数据点,其中,每个条形的长度可以表示对应的数据点的值,这使得用户可以可视地跨数据点来对值进行比较。每个数据点可以与几个数据集相关联以表示数据可视化内的实体。例如,第一数据集可以指定数据点在地图类数据可视化中的位置数据,而第二数据集可以指定该数据点的颜色,例如,这使得用户可以基于它们在对应的地图中的颜色(例如,餐厅在与它们的地点相对应的地图上表现为蓝色钻石、零售商店表现为绿色钻石等)来可视地比较实体类型在区域中的集中度。

数据卡使能在以下的上下文中给用户提供额外的信息:用于呈现和叙事的数据点比数据可视化能够单独提供的具有更多的控制和洞察。数据卡内的数据字段提供了对经可视化的数据的可替代的或额外的显示的呈现以及未经可视化的数据(例如,没有被用作可视化数据的数据集、富文本描述、图像、视频、音频文件、以及超链接或其他活动控件)的显示的呈现。

用户通过自定义对话来定义要示出与数据点相关联的什么信息以及如何将所述信息聚合在数据卡中。当用户接近或者选择数据可视化内的数据点时,生成自定义查询。查询是实时地(即,即时地)进行的,这使得利用与可能的经由预先定义的查询或者依赖于经缓存或经预先处理的信息的查询相比的较低的存储器成本来给用户呈现最新的信息。通过选择哪些数据点是感兴趣的并且实时地进行查询,系统可以通过仅仅关注用户实际感兴趣的数据点而不是单独地依赖于有关可视化的查询或者经预先缓存的信息来降低存储要求和处理要求。根据各种方面,实时地查询的信息可以随着时间而被聚合,并且由此给用户提供了这样的能力:在不同的时间处比较数据点或者使时间的流生动以将随着时间对数据点的改变可视化。

数据卡也可操作以在数据可视化内或者在利用数据卡窗格呈现数据可视化的应用内被固定。根据多个方面,将数据卡固定允许数据卡及其信息在会话之间留存在数据可视化中,并且显示对所显示的信息的更新(例如,在数据的回放期间、在数据的收集期间、响应于数据卡的自定义等)。

图1是示例数据可视化系统100的框图。根据一个方面,数据可视化系统100的组件作为分布式系统来操作,其中每个模块是经由合适的网络来访问的。根据另一方面,数据可视化系统100的各种组件一同操作以作为集成系统。如图所示,数据可视化系统100包括与可视化应用120进行通信的数据卡引擎110以经由可视化应用120来提供针对具体的数据点的数据的自定义钻取视图的实时呈现。

可视化应用120用于显示数据的各种可视化并且允许用户导航那些数据可视化。数据的可视化包括地图、图表、图等。在一些方面中,可视化应用120结合了几个可视化。例如,示出了建筑的位置的地图可以包括图表,该图表将关于所述建筑所评估的财产税在地图上所述建筑的对应的位置处显示为列。可视化应用120在一些方面中是独立应用而在其他方面中是另一应用的集成组件,所述应用例如是由wa州redmond市的microsoftcorporation所提供的电子表格软件或搜索引擎的地图子应用。数据可视化包括数据点,其用于基于针对数据可视化、以及环境数据的初始查询来传达用户感兴趣的数据的可视化,其中显示了数据点。在各种方面中,环境数据包括坐标空间(例如,笛卡尔、极坐标、经度/纬度等)、背景图像(例如,地图)、缩放、以及用于在数据可视化环境内描绘和呈现数据点的其他数据。

数据卡引擎110用于实时地提供数据以补充数据可视化内的数据点。数据卡引擎110给用户提供了即时地钻取数据点以发现与所述数据点相关的额外的信息,或者看到与所述数据点相关联的数据的可替代的可视化的能力。在一些方面中,数据卡引擎110是可视化应用120的一部分。数据卡引擎110包括:查询模块130,其用于从多种源取回用于在数据卡引擎110中使用的数据;实体标识模块140,其用于从可视化应用120接收通信(例如,对数据点的选择)并且标识数据点表示用于由查询模块130使用什么实体;以及构建模块150,其用于使用由查询模块130从数据源取回的数据来建立和更新数据卡(210)。如关于图2更加详细地讨论的,数据卡210用于在可视化应用120内显示针对对应的数据点的数据。在各种示例中,数据卡210可以包括没有在该数据点的可视化中使用或者不能够经由数据可视化另外地显示的数据。

实体标识模块140用于从可视化应用120接收数据点选择以标识用于由查询模块130使用的数据点。在各种数据可视化中,数据点表示各种实体。在用于映射健康准则违反的数据可视化的一个示例中,数据点表示接收健康准则违反的餐厅。在用于映射燃油经济性的数据可视化的另一示例中,数据点表示道路的部分。在工厂中的生产力的数据可视化的另一示例中,数据点表示个体的工人。在一些方面中,实体标识模块140用于通过以下方式来确定由数据点表示的实体:从可视化应用120接收数据字段并且确定哪些数据字段可以用于标识数据点所表示的实体。在一个示例中,实体标识模块140用于确定来自可视化应用120的地理数据(例如,地址、经度/纬度坐标等)用于标识实体,其中实体标识模块140使用所述实体来标记地理数据以供查询模块130在确定标识所述实体的有关查询的数据时使用以建立进一步的查询。当多个实体对应于所选择的数据点(例如,在地图数据可视化上的单个地址处的多个租户)时,实体标识模块140用于标识多个实体退出并且将所述多个实体传送至查询模块130,以使得运行多个查询(例如,针对每个经标识的实体至少一个查询),或者查询是仅仅针对来自经标识的实体的指定的实体而运行的。

查询模块130用于取回关于与数据点相关联的实体的数据,其是由构建模块150中的数据字段集指定的。查询模块130用于经由各种方法从各种源取回数据。在一个方面中,从本地数据源160取回数据,例如,用于建立数据可视化的经缓存的数据或者由执行数据卡引擎110的计算设备所托管或存储的文件。在其他方面中,数据是经由网络170从外部数据源180取回的。在各种方面中,外部数据源180包括不是由执行数据卡引擎100的计算设备本地地存储的任何文件、数据、或者信息。为了对数据进行定位,多个方面使得用户能够指定从其查询数据的具体的数据源,例如,用户可以从本地地存储的电子表格文件来指定具体的范围、针对存储在本地网络上的数据库的ip地址、或者针对在互联网上托管的网站的url。在其他方面中,查询模块130用于访问搜索引擎(例如,由wa州的redmond市的microsoftcorporation所提供的搜索引擎)以自动地定位数据资源来针对数据进行查询。在其他方面中,查询模块130用于向用户申请批准以自动地定位数据资源。一旦数据资源被标识,则查询模块130用于从所述数据资源取回数据。

构建模块150用于使用由查询模块130从数据源取回的数据来建立和更新数据卡(210)。在各种方面中,所述数据是根据数据卡模板组合的,所述数据卡模板可以是由数据可视化系统100预先定义的,或者是由数据可视化系统100的用户手动地指定的。数据卡模板用于指定显示所取回的数据的顺序和方式。在一些方面中,构建模块150用于操纵数字数据以用于:设置数据间的层级关系和相关性、聚合所述数据、并且在数据卡(210)内的表格、图表、和图中显示所述数据。在额外的方面中,构建模块150用于操纵非数字数据(例如,富文本评论、视频、图像等)以用于:设置数据间的层级关系和相关性、创建和操纵与非数字数据有关的数字数据(例如,聚合独特的评论的计数)、以及在数据卡(210)内显示所述数据。

构建模块150用于将对数据卡模板的自定义传送至查询模块130以使得可以取回与经自定义的数据卡模板相关的数据。例如,当用户将数据字段添加至数据卡模板时,构建模块150将数据字段传送至查询模块130以取回数据来填充所述数据字段。尽管数据是由数据查询模块130取回的,但构建模块150用于显示针对正在被查询的数据字段的占位符值(例如,“查询进行中”、“搜索中”、或者“请等待”)。在查询模块130取回不足的数据或者以其他方式遭遇错误的事件中,构建模块150用于显示错误值(例如,“文件未找到”、“数据不足”、“错误”等)。在查询模块130取回冲突的数据(例如,两个电话号码、针对同一时间段的不同的统计数据等)的事件中,构建模块150用于显示错误值、同时地显示冲突的数据、自动地选择所述冲突的数据中的一个数据、或者提示用户手动地选择所述冲突的数据中的一个数据。

图2a和2b是数据卡的示例。图2a是数据卡210a的第一示例。图2b是经自定义的数据卡210b的第二示例。数据卡210a、210b(统称为210)被示出为与同一假设数据点有关,其展示了在数据可视化内呈现与数据点有关的数据时的数据卡210的灵活性中的一些灵活性。

数据卡210被提供有显示区域220以显示与数据卡210的数据点有关的各种数据。也可以提供在所示出的示例中由插针的图标表示的诸如插针控件230之类的控件,以及由齿轮的图标表示的自定义控件240。插针控件230用于接收固定数据卡210的用户选择,由此将数据卡210留存在数据可视化内或者在临近数据可视化显示的数据卡窗格290中,如在图2c中所示出的。多个数据卡210可以同时被固定。根据各种方面,插针控件230可以由不同的图标或者由不同的位置/朝向/颜色的图标来表示以向用户指示是否已经固定了数据卡210,例如,图2b中变黑的插针控件230的图标指示已经固定了数据卡210b,而图2a中的较浅的插针控件230的图标指示数据卡210a是未固定的。自定义控件240用于接收用户输入以更新数据卡210,其将关于图3进一步讨论。

多个方面提供了与要在标题区域270中提供的数据卡210的数据点相关联的实体的名称。实体名称可以在查询中被返回、由用户设置、或者自动命名(例如,实体1、实体2等)。在一些方面中,标题区域270是能够由用户选择来添加或编辑针对实体名称的文本的。在一些方面中,标题区域270包括导航控件280a、280b(统称为280),它们用于允许对可以由数据卡210表示的多个实体进行导航。例如,数据点可以与多个实体相关联(例如当建筑在一段时间内具有多个租户时或者一次具有多个租户时),并且数据卡210可以包括用于允许在这些实体之间进行导航的导航控件280。在其他方面中,数据可视化系统在例如数据可视化被“缩小”时可能不确定已经选择了哪个数据点,并且从而将针对一个可能选择的数据点而提供数据卡210并且提供导航控件280以允许导航至其他可能选择的数据点。如将理解的,导航控件280a和导航控件280b是根据用于通过可能的数据点或实体而以不同的方向进行导航的方面来提供的。如将理解的,根据不同的方面,导航可以循环或者具有区别的开始和结束点;当导航已经达到针对它们的导航方向的终点时,导航控件280a或280b可以因此被禁用,并且相应地被示出(例如,被灰化、省略等)。

当合适时,方面也提供针对显示区域220的控件。当在数据卡210中存在比显示区域220一次能够显示的更多的数据时,可以提供滑块250以允许用户查看数据的部分。还可以提供展开/折叠控件260以接收用户输入来展开或者折叠在显示区域220中所呈现的数据的视图。展开/折叠控件260被示出为“减”图标,以指示用户可以切换展开/折叠控件260a来折叠如在图2b中被示出为关于违反点的经展开的数据的相关联的数据。类似地,展开/折叠控件260b、260c被示出为“加”图标,以指示用户可以切换展开/折叠控件260b、260c来展开相关联的数据。

如将理解的,以其被折叠的形式的数据可以包括对数据的各种聚合并且可以省略相关数据的子集。例如,图2b示出了针对违反点的经展开的数据,包括相关数据的值、计数、和最后日期子集。如果针对违反点的数据通过用户切换展开/折叠控件260a而被折叠,则根据一个方面,数据卡210b可以聚合违反点的总和,如在图2a中所示出的,并且从其聚合中省略最后日期子集。根据另一方面,数据卡210可以聚合违反的计数并且省略值和最后日期子集。系统用于选择初始显示聚合模板,并且用户可以通过选择自定义控件240、相关联的菜单或条带控件、或者具有统一数据卡模板的不同数据卡210的自定义控件来改变初始模板。

图2c示出了在示例数据可视化内显示的示例数据卡210。数据卡210被示出在数据卡的数据点的可视化旁边。在一些方面中,与数据卡210相关联的数据点的可视化是突出显示的,例如在图2c中所示出的。根据多个方面,多个数据卡210可以被固定以用于在数据可视化中同时显示。除了或替代在数据可视化内被固定,多个方面允许数据卡210在数据卡窗格290中被固定。数据卡210还可以用于被固定为数据可视化内的注释215。注释215用于警告用户数据点是感兴趣的,但是不呈现数据卡210的显示区域,由此比全数据卡210在数据可视化内占用更少的空间。注释215在图2c中被示出为“感叹号”图标,但是其他方面允许注释215包括来自标题区域270的信息以帮助用户标识数据点。

图2c的示例数据可视化是使用经可视化的数据点在其中呈现的三维环境数据示出的。在各种方面中,数据卡210根据它们距数据可视化的前景的距离而缩放从而创建透视;在前景中所显示的数据卡210被显示得大于在背景中所显示的数据卡210。因为数据卡210在示例中被显示为二维对象,如果用户旋转数据可视化,则数据卡210可以逆向旋转,以使得数据卡面对前景。尽管示例数据可视化被示出为三维地图式的可视化,但在图中所示出的特征仅仅是出于示例的目的并且不限制其他用途,例如图、图表、或者二维地图。

图3是针对数据卡210的示例自定义对话300的视图。示例自定义对话300包括:ok按钮310,其用于接受和实现对数据卡210的当前改变,并且由此关闭自定义对话300;取消按钮320,其用于拒绝对数据卡210的当前改变,并且由此关闭自定义对话300;以及重置按钮330,其用于将对数据卡210的当前和先前的改变复原至数据卡210的默认状态。自定义对话300还被示出为具有预览窗格340以显示根据当前的改变的数据卡210。

自定义对话300的方面提供了模板控件350,其用于使得用户能够快速循环通过并且选择期望的系统定义的模板或者用户定义的模板,并且由此将在一个数据卡210中进行的改变传播至具有同一模板的其他数据卡210,或者将数据卡210设置为已经定义了的期望的格式。例如,如果两个数据卡210被设置为具有同一模板,则向模板添加数据字段将向两个数据卡210添加数据字段。在另一示例中,当数据卡210使其模板改变时,数据字段和针对数据卡210的显示设置将被设置以与所述模板相匹配,并且在一些方面中,可以运行任何对应的查询来填充新添加的数据字段。

自定义对话300还包括数据字段控件360。数据字段控件360用于给用户提供对以下内容的控制:在数据卡210上呈现数据的哪些子集(例如,数据字段)、如何组织那些子集、如何聚合所述子集、以及如何显示所述数据。提供了添加控件362以使得用户可以查询额外的数据子集以包括在数据卡210上。一旦数据子集被包括在数据卡210上,则根据一个方面,用户可以通过拖放来选择将字段控件360内的数据字段移动至期望的位置,从而影响在数据卡210上的位置的改变。根据其他方面,选择数据字段将提供额外的控件,例如编辑控件364、聚合控件366、以及移除控件368。编辑控件364允许用户设置数据子集之间的关系、重新命名数据子集、设置数据偏置、对数据子集设置过滤、设置子集的可见性等。聚合控件366允许用户设置如何聚合数据子集。示例聚合包括但不限于:不聚合、求和、积、均值(平均)、中位数、模、计数、计数不同、最大值、最小值、最新的条目、最早的条目、逻辑验证、及其变型和组合。移除控件368允许用户从数据卡210中移除数据字段。当数据字段被移除时,根据多个方面,控制对话300可以警告用户关于与还没有被移除的数据字段的任何关系并且要求对移除的确认。

图4是针对与数据卡210协调的数据可视化的可视化控件400的视图。根据各种方面,可视化控件400能够经由菜单、条带(ribbon)命令、或者与数据可视化相关的专用控件来访问,或者经由对作为自定义对话300的组件或作为用于影响数据可视化内的经可视化的数据点410的显示的独立的控件的自定义控件240进行选择来访问。经可视化的数据点410被呈现为数据可视化的一部分以用于显示数据点的视觉表示,并且可以具有与其相关联的数据卡210。

根据不同的方面,经可视化的数据点410可以将与数据点相关联的相关的或不相关的数据的几个子集显示为层415a、415b(统称为415)。如将理解的,层415不需要被显示在另一个上面;所述项指示在数据可视化中所使用的数据子集的区别。在各种方面中,可视化控件400提供各种层可视化选项控件420,其用于改变如何与数据点相关地呈现层415,例如,堆积柱状图、簇柱状图、气泡图、热图、或者用户定义的呈现。根据层415a在层415b上方的堆积柱状图可视化选项而在图4中示出了经可视化的数据点410,但可以根据其他可视化选项(例如,簇柱状图等)来显示经可视化的数据点410,其中,层415a和415b没有被显示为一个在另一个上方。

每个可视化选项呈现可视化控件400内的对应的可视化字段430以设置如何对与数据点相关联的数据子集进行分类以在数据可视化中使用。在与数据点相关联的可视化字段430中所呈现的数据子集是根据可视化选项显示的。尽管被示出为堆积柱状图,但针对经可视化的数据点410的其他可视化类型是可能的,包括但不限于:饼形图/扇形图、标记图、气泡图、着色图(例如,热图)、及其组合。

可视化控件400被示出为影响堆积柱状图可视化选项,其中:可视化字段430a用于选择和修改将哪些数据子集设置为影响可视化的层415;可视化字段430b用于选择将哪些数据子集设置为分类,以及哪些数据子集在相关联的数据卡210中是可呈现的;而可视化字段430c用于选择数据子集以用于作为时间维度来使用。当可视化选项包括针对时间维度的可视化字段430时,多个方面提供了时间戳控件440,其用于影响数据随着时间的呈现,这将在下文中与图5相关地更加详细地讨论。时间戳控件440的方面提供了针对额外维度的显示的几个选项,包括但不限于:对时间上当前的/最接近的值的显示、对根据所选择的聚合随着时间而累积的值的显示、以及对时间上最近的值(即,额外的维度上的最大值或最小值)的显示。

尽管本文中的示例和术语是与作为额外的维度的时间相关地给出的,但这是出于简化的目的的,并且其他非时间值(例如,海拔高度、速度、质量、颜色、产品线等)可以用作额外的维度。例如,关联于给定的一段道路的数据点是以在二维地图上的所述一段道路的x和y维度而可视化的,其经由z维度来显示每加仑平均英里数,可以以车辆重量、平均速度、或者天气条件等其他可能性而代替时间以作为进行显示的额外的维度。在另一示例中,表示餐厅的数据点可以在数据可视化中被显示以关联于餐厅的位置,并且可以显示映射至经可视化的数据点的高度的营业收入,但是时间维度可以替代作为额外的维度的服务员的数量,以使得可以探索营业收入和存在的服务员的数量之间的关系。

图5示出了示例时间滑块500。时间滑块500允许用户当数据在一段时间内改变或者跨代替时间而选择的不同值的集合而改变时将数据可视化。根据多个方面,时间滑块500影响整个数据可视化或者数据可视化内的经选择的数据点。当时间滑块500沿着时间变量(例如,在上文中所讨论的可视化控件400中所设置的额外的维度)前进或者后退时,根据时间戳控件440来相应地更新数据可视化。例如,如在图5中所示出的,当滑块控件510被设置到第一时间时,两个经可视化的数据点410和它们相关联的数据卡210在第一时间处被示出。当滑块控件510前进到第二时间时,两个经可视化的数据点410和相关联的数据卡210被更新以示出与第二时间相关的数据。滑块控件510可以类似地从第二时间后退到第一时间,其中,两个经可视化的数据点410和数据卡210被更新以示出与第一时间相关联的数据。

在各种方面中,根据滑块控件510,当前时间被显示在时间框520中以给用户提供对用于显示数据可视化的时间的指示。在一些方面中,时间框520用于显示滑块控件510所使用的步长。每个步长关联于供滑块控件510访问以从其提供相关的数据的可用的位置。例如,针对时间维度的步长可以被设置为每小时、每天、每月、每季度、每年等。

然而,时间维度可以在一些示例中被不完美地捕获,例如当针对实时数据的采样速率或者针对已归档数据的历史采样速率大于或小于步长时,或者如果以与步长相同的速率,已经以不同于理想步长指示的时间收集,(例如,在一小时的第五分钟而不是一小时的第一分钟,在偶数月而不是奇数月等)。额外地,数据针对给定的数据点的给定的时间点可以是丢失的。数据卡210允许不完美地捕获的数据随着时间被显示在完美地捕获的数据旁边,同时向用户警告不一致。当数据点具有大于步长的采样速率时(例如,当步长是每季度的,但实体每月地采样时),数据可以根据数据卡模板被聚合并且经由数据卡210向用户指示更多的采样可用于钻取。当数据点具有低于步长的采样速率时(例如,当步长是每月的,但实体每季度地采样时)或者数据以其他方式丢失时,根据数据卡模板的近似(例如,将每季度的值除以三以在每步中使用、使用按照三步的每季度值、显示其获得的最后的可用数据/值和时间、显示错误消息并且不显示数据等)可以被使用并且经由数据卡210向用户指示已经进行了近似。可替代地,数据卡210可以示出空白值,除非时间值针对被显示的数据而精确地匹配。根据各种方面,可以将聚合和近似指示给用户,包括但不限于:颜色改变、警告图标、闪光等。

当数据点具有在不同于理想的步长指示的时间处所收集的数据时,可以发送警报以通知用户可以设置数据偏置。如关于图3所提及的,数据偏置是经由自定义对话300设置的。偏置用于允许在不同于理想的步长指示的时间处所采样的数据被认为好像它们是在理想的时间处被收集的。例如,当一个数据点具有晚于所有其他数据兴趣点五分钟被采样的相关联的数据时,用户可以偏置该数据点。当精确的偏置不是最佳解决方案时,所述偏置可以是将时间值修改五分钟,或者是将时间值设置为四舍五入到最接近的小时。在另一示例中,用户可以设置从时间值舍去了不需要的精度的偏置,例如,每月报告包括它们在其处被采样的分和秒。可替代地,可以设置偏置以使得当滑块控件510根据步长均匀地前进两者时,用户可以在与第二数据点不同的开始点处查看与一个数据点相关联的信息。例如,用户可以希望每月比较两个工厂的事故率,但希望比较第一工厂2007年的数据与第二工厂2008年的数据;可以将一年的偏置添加至第一工厂或第二工厂的数据(分别是负的或正的),以使得滑块控件510可以均匀地前进每组数据,尽管具有不同的开始时间。

个体的数据卡210可以在时间上被锁定以使得当滑块控件510在时间维度上前进或后退时,在数据卡210上显示的值保持静止。

如将理解的,尽管滑块控件510被示出为滚动条,但是针对滑块控件510的其他选项(例如,播放/暂停/快进/倒后按钮、滚轮对象、以及直接文本输入)可以被用作滑块控件510。在各种方面中,滑块控件510受到手动和自动控制(例如,系统可以自动地控制滑块控件510来前进通过几个时间值或者循环所述显示)。在各种方面中,时间滑块500可以使得针对额外/时间维度上的每个值的每个数据可视化之间的转换平滑,以使得数据可视化生动,或者留下未经平滑的转换“跳转”至对额外的维度中的每个值的每个数据可视化的显示。

图6是示例方法600的流程图,示例方法600用于呈现数据可视化内的具体的数据点处的数据的自定义的钻取视图。方法600在开始601处开始并且继续至操作610,在操作610处接收针对数据可视化的请求。方法600继续至操作615,在操作615处取回与所请求的数据可视化相关的数据。

一旦取回了满足查询标准的数据,则方法600继续至操作620,在操作620处使用数据来创建数据可视化。在操作620中所创建的数据可视化使得用户能够导航数据以找到数据兴趣点,其中用户可以期望查看关于其的额外的信息。根据各种方面,用户可以经由几个不同的事件来选择数据兴趣点。一个示例事件是用户经由鼠标或触摸屏设备点击数据可视化点410。另一个示例事件是用户将光标悬停在数据可视化点410上以持续预先确定量的时间(例如,333ms、0.5s等)。另一个示例事件是用户输入与数据点相关联的文本子查询。

方法600在操作630处经由事件来接收对数据点的选择,并且接着继续至操作640,在操作640处创建针对经选择的数据点的数据卡210。当创建数据卡210时,与数据点相关的信息填充数据卡210。该信息可以是在创建和呈现经可视化的数据点410时所使用的数据(例如,数据可视化内的x,y,z坐标数据、层数据、时间维度数据等)或者可以是与数据点或由数据点所表示的实体相关的未经可视化的数据(例如,未使用的可视化数据、富文本描述、图像、视频、音频文件、超链接等)。根据一个方面,一开始填充数据卡210的信息是基于默认模板以及请求数据可视化的用户查询的。所述信息是无线地或者实时地取回的,这使得给用户呈现了最新的可用信息。

多个方面使得信息能够周期性地被重新查询(例如,采样),这使得信息可以暂时地被缓存或者长期地被存储以使得数据卡210能够随着时间累积信息。在各种方面中,随时间累积的信息被用于数据聚合或者与如关于图5所讨论的时间滑块500一起使用。在已经创建了数据库210之后,其可以被呈现在计算设备上或者被发送至另一计算设备。

在决策操作650处,关于用户是否已经选择对数据卡210进行自定义而进行确定。操作650可以从条带、行动(take)窗格、或者来自现有的数据卡210的界面来访问,例如,在操作640中所创建的数据卡中。当在决策操作650处确定用户选择对数据卡210进行自定义时,方法600继续至操作660。否则,方法600继续至决策操作670。

在操作660处,方法600基于用户例如经由自定义对话300或可视化控件400所选择的自定义来更新数据卡210。接着,数据卡210根据所选择的自定义而被更新以使得经更新的信息被查询以填充数据卡210。该经更新的信息可以包括新的聚合方案、先前选择的信息、以及先前没有选择并且无线地请求的信息。用于采样实时数据的新的查询是基于在在自定义期间所选择的信息而生成的。在一些方面中,自定义可以引起对数据卡模板的改变,这使得共享相同的数据卡模板的其他数据卡210也被更新。在完成了操作660的对数据卡210的更新之后,方法600继续至决策操作670。

方法600继续至决策操作670,在决策操作670处,确定数据卡210是否被固定。当进行了数据卡210要被固定的确定时,例如当用户选择数据卡210上的插针控件230时,数据卡210将保持在数据可视化中可见和活动,并且方法600继续至决策操作690。当确定数据卡210没有被固定时,例如当用户取消选择或者决定不选择数据卡210上的插针控件230时,方法600继续至操作680。

在操作680处,方法600等待将数据卡210从数据可视化移除的事件。一个示例事件是用户第二次经由鼠标或触摸屏设备在经可视化的数据点410或数据卡210上点击(第一次是显示数据卡210的事件)以消除数据卡210。另一示例事件是用户从经可视化的数据点410或者数据卡210移除光标(即,悬停在其他位置)以持续预先确定量的时间(例如,333ms、0.5s等)。另一示例事件是超时,其中,数据卡210被显示了预先确定量的时间(例如,5s、10s等),并且除非被固定,否则将在该预先确定的时间结束时被自动地移除。在检测到合适的事件之后,方法600移除数据卡210并且继续至决策操作690。

在决策操作690处,方法600确定用户是否继续导航数据可视化。如果用户例如通过关闭数据可视化来指示导航完成,则方法600在结束699处终止。否则,方法600返回至操作630并且数据可视化的导航继续直到用户指示导航完成为止。一旦导航完成,多个方面提供经固定的数据卡210上的数据和信息以在导航被恢复时呈现;经固定的数据卡210可以跨会话留存。

图7是用于填充数据卡210的示例方法700的流程图。方法700在开始701处开始,并且继续至操作710,在操作710处检测对数据点的选择。根据多个方面,当检测到对数据点的选择时,方法700可操作以在几个可能的数据点之间进行区分以选择一个数据点作为经选择的数据点,例如,当数据可视化的分辨率使得几个经可视化的数据点410被显示在数据可视化的经选择的区域中时。

一旦在操作710中选择了数据点,方法700就继续至操作720,在操作720处标识由数据点所表示的实体。根据多个方面,方法700可操作以包含所使用的初始查询,其用于创建数据可视化以作为用于标识由数据点所表示的实体的因素。例如,在基于针对餐厅的地图的查询的数据可视化中,用户已经选择了与容纳餐厅和自助洗衣房的建筑的地理点相关联的数据点。因为所述数据点与两个实体相关联,但针对数据可视化的查询是针对餐厅的,因此方法700可操作以将餐厅标识为由数据点所表示的兴趣实体。在另一示例中,当两个餐厅共享一个数据点时,例如当数据点表示具有多个租户的建筑时,方法700可操作以选择一个或两个餐厅以作为由数据点所表示的实体。

当在操作720中已经标识了实体时,方法700继续至操作730,在操作730中,查询关于所述实体的信息。在一些方面中,因为初始数据可视化包括关于显示可以与所述实体相关的数据点的初始信息(例如,针对数据可视化内的数据点的位置数据),所以初始查询包括所述初始信息。方法700在各种方面中可操作以在操作730中通过各种源来针对数据进行查询。在各种方面中,数据源包括本地地存储的数据和经缓存的数据,例如存储在计算设备上以用于显示数据可视化的文件,或者暂时地保存在活动存储器中或临时文件中的数据。在其他方面中,数据可以从远程源查询,例如,从联网的数据库、外部网站、rss推送,或者经由直接信号查询,例如从提供实时数据的传感器和装置。在一些方面中,数据查询例如通过指定从其查询的具体的数据库或一系列数据库而由用户手动地引导。在其他方面中,方法700自动地选择数据源。在一些方面中,通过使用搜索引擎(例如,由wa州redmond市的microsoftcorporation所提供的搜索引擎)来找到从其查询的数据源以启用对数据源的自动选择。在其他方面中,例如当方法700自动地选择一系列数据源并且将那些源呈现给用户以用于在查询那些数据源之前许可时,启用混合手动/自动选择。

一旦在操作730中已经从数据源查询了关于实体的信息,则方法700继续至操作740,在操作740中,创建包括在查询中所返回的信息的数据卡210。因为在选择数据点之前没有创建数据卡210或者没有用信息填充数据卡210,所以在数据卡210中显示与数据点相关的最新的信息。额外地,通过等待针对与数据点相关的信息的查询直到用户选择了数据点为止,消耗较少的存储器和较少的计算资源。一旦已经创建了数据卡210,其就可以被呈现在计算设备上或者被发送至另一计算设备。

方法700继续至决策操作750以确定用户是否选择对数据卡210进行自定义。用户可以选择对数据卡210进行自定义以格式化或改变在数据卡210中呈现那些数据,并且可以从几个数据卡模板中选择数据卡模板来对数据卡210应用自定义。根据多个方面,所述模板是系统创建的和用户创建的两者,并且所述模板可以被创建和保存以供之后使用,如关于图3所讨论的。在一些方面中,当用户选择数据点时,先前选择的数据点的数据卡模板(无论是否被保存)首先被应用于新近选择的数据点的数据卡210。根据多个方面,自定义改变信息在数据卡210上如何显示(例如,将数据卡210上的表格改变为图、重新排序信息的显示、改变数据卡210内的格式、改变信息的聚合等)。根据其他方面,自定义改变数据卡210上的信息(例如,添加或移除数据字段、改变数据字段之间的从属、改变针对数据字段的数据源等)。

当确定用户已经指示了对数据卡的自定义时,方法700继续至操作760,在操作760处对用于用信息来填充数据卡210的查询标准进行更新。接着,方法返回至操作730,在操作730处,针对信息而对数据源进行查询以填充数据卡210,所述查询现在基于经更新的查询标准。

当数据卡210没有被自定义时,方法700继续至决策操作770以确定是否存在针对数据卡210的实时数据。实时数据包括在数据可视化被显示时正在被更新或者已经更新了的数据,以及自从上次显示了数据可视化已经被更新了的数据;使能在数据卡210中显示最新的信息。在各种方面中,用户可以指定采样速率,其中将以该速率来重新查询实时数据。在其他方面中,用户可以将静态数据(即,非实时数据)指定为实施数据以确保使用最新的数据。类似地,用户可以将实时数据指定为静态数据来防止重新查询,例如,以查看数据的快照或者节约系统资源、存储器、或带宽。当确定数据是实时的时,方法700返回至操作730,在操作730处针对最新的信息而重新查询数据资源。当确定数据不是实时的时,方法700在结束799处终止。

在本文中所描述的方面可以经多种计算系统来操作,所述多种计算系统包括但不限于:台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板或平面类计算机、笔记本计算机、以及膝上型计算机)、手持设备、多处理器系统、基于微处理器的或者可编程消费型电子产品、小型计算机、以及大型计算机。

另外,根据一个方面,在本文中所描述的方面和功能在分布式系统(例如,基于云的计算系统)上操作,其中,应用功能、存储器、数据存储和取回、以及各种处理功能在分布式计算网络(例如,互联网或内联网)上彼此远离地操作。根据一个方面,各种类型的用户界面和信息是经由板载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来显示的。例如,各种类型的用户界面和信息是在各种类型的用户界面和信息所透射到的墙面上显示的并且与这样的墙面进行交互被投射在其上。与方面利用其实践的多种计算系统交互包括:击键输入、触摸屏输入、语音或其他音频输入、手势输入,其中相关联的计算设备装备有用于捕获和解译用户手势的检测(例如,相机)功能,以用于控制计算设备的功能等。

图8-10以及相关联的描述提供了对本公开在其中实践的示例的多种操作环境的讨论。然而,关于图8-10所示出和讨论的设备和系统是出于示例和说明的目的的,并且不限于在本文中所描述的、用于实践方面的大量计算设备配置。

图8是示出了利用其可以实践本公开的示例的计算设备800的物理组件(即,硬件)的框图。在基本配置中,计算设备800包括至少一个处理单元802以及系统存储器804。根据一个方面,取决于计算设备的配置和类型,系统存储器804包括但不限于:易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。根据一个方面,系统存储器804包括操作系统805以及一个或多个程序模块806,所述一个或多个程序模块806适用于运行软件应用850。根据一个方面,系统存储器804包括数据卡引擎110。操作系统805例如适用于控制计算设备800的操作。此外,方面是结合图形库、其他操作系统、或者任何其他应用程序而被实践的,并且不限于任何特定的应用或系统。该基本配置是由图8中的虚线808内的那些组件所示出的。根据一个方面,计算设备800可以具有额外的特征或功能。例如,根据一个方面,计算设备800还可以包括额外的数据存储设备(可移动的和/或不可移动的),例如,磁盘、光盘、或磁带。这样的额外的存储设备是由图8中的可移动存储设备809和不可移动存储设备810所示出的。

如上所述,根据一个方面,可以将多个程序模块和数据文件存储在系统存储器804中。当在处理单元802上执行时,程序模块806(例如,数据卡引擎110)可以执行过程,包括但不限于在图6和图7的方法600、700中所示出的步骤中的一个或多个步骤。根据一个方面,其他程序模块是根据本公开的示例而被使用的并且包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。

可以在包括分立电子元件、包含逻辑门的封装的或集成的电子芯片、利用微处理器的电路、或包含电子元件或微处理器的单个芯片的电路中实践本公开的方面。例如,可以经由片上系统(soc)来实践方面,其中,在图8中所示出的组件中的每个或多个可以集成到单个集成电路上。根据一个方面,这样的soc设备包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及各种应用功能,这些全都作为单个集成电路集成(或“烧制”)到芯片基底上。当经由soc操作时,在本文中所描述的功能可以经由与单个集成电路(芯片)上的计算设备800的其他组件一起集成的专用逻辑来操作。根据一个方面,还可以使用能够执行逻辑运算(例如,与、或、非)的其他技术来实践本公开的方面,所述技术包括但不限于:机械、光学、流体、和量子技术。另外,可以在通用计算机中或者在任何其他电路或系统中实践方面。

根据一个方面,计算设备800具有一个或多个输入设备812,例如,键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可以包括诸如显示器、扬声器、打印机等之类的输出设备814。前述设备是示例并且可以使用其他设备。根据一个方面,计算设备800包括允许与其他计算设备818进行通信的一个或多个通信连接816。合适的通信连接816的示例包括但不限于:rf发射机、接收机、和/或收发机电路;通用串行总线(usb)、并行、和/或串行端口。

如在本文中所使用的术语计算机可读介质包括计算机存储介质。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动的介质。系统存储器804、可移动存储设备809、和不可移动存储设备810全都是计算机存储介质的示例(即,存储器存储)。根据一个方面,计算机存储介质包括:随机存取存储器(ram)、只读存储器(rom)、电可擦除只读存储器(eeprom)、闪速存储器或其他存储器技术、cd-rom、数字通用盘(dvd)或其他光存储、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或者可以用于存储信息并且可以由计算设备800所访问的任何其他制品。根据一个方面,任何这样的计算机存储介质都是计算设备800的一部分。计算机存储介质不包括载波或其他经传播的数据信号。

根据一个方面,通信介质是由计算机可读指令、数据结构、程序模块、或者经调制的数据信号(例如,载波或其他传输机制)中的其他数据来实施的,并且包括任何信息传递介质或传输介质。根据一个方面,术语“经调制的数据信号”可以包括具有其特征集合中的一个或多个的信号,或者以关于在将信息在信号中进行编码的方式而改变。作为示例而非限制,通信介质包括有线介质(例如,有线网络或直接有线连接)以及无线介质(例如,声学、射频(rf)、红外、和其它无线介质)。

图9a和9b示出了利用其可以实践方面的移动计算设备900,例如,移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图9a,示出了用于实现方面的移动计算设备900的一个示例。在基本配置中,移动计算设备900是具有输入元件和输出元件两者的手持计算机。移动计算设备900通常包括显示器905以及允许用户向移动计算设备900中输入信息的一个或多个输入按钮910。根据一个方面,移动计算设备900的显示器905还可以充当输入设备(例如,触摸屏显示器)。如果被包括在内,可选的侧输入元件915允许进一步的用户输入。根据一个方面,侧输入元件915是旋转开关、按钮、或任何其他类型的手动输入元件。在可替代的示例中,移动计算设备900包含更多或更少的输入元件。例如,在一些示例中,显示器905可以不是触摸屏。在可替代的示例中,移动计算设备900是便携式电话系统,例如蜂窝电话。根据一个方面,移动计算设备900包括可选的小键盘935。根据一个方面,可选的小键盘935是物理小键盘。根据另一个方面,可选的小键盘935是在触摸屏显示器上生成的“软”小键盘。在各种方面中,输出元件包括用于示出图形用户界面(gui)的显示器905、视觉指示器920(例如,发光二极管)、和/或音频换能换能器925(例如,扬声器)。在一些示例中,移动计算设备900包含用于给用户提供触觉反馈的振动换能器。在另一个示例中,移动计算设备900包含用于向外部设备发送信号或者从外部设备接收信号的外围设备端口940,例如音频输入端(例如,麦克风插孔)、音频输出端(例如,耳机插孔)、以及视频输出端(例如,hdmi端口)。

图9b是示出了移动计算设备的一个示例的架构的框图。即,移动计算设备900可以包含用于实现一些示例的系统(即,架构)902。在一个示例中,系统902被实现为能够运行一个或多个应用程序(例如浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在一些示例中,将系统902集成为诸如集成的个人数字助理(pda)和无线电话之类的计算设备。

根据一个方面,一个或多个应用程序950被加载到存储器962中,并且在操作系统964上运行或者结合操作系统964运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序等。根据一个方面,数据卡引擎110被加载到存储器962中。系统902还包括存储器962内的非易失性存储区域968。该非易失性存储区域968用于存储如果系统902断电而不应该丢失的持续的信息。应用程序950使用非易失性存储区域968中的信息并且将信息存储在非易失性存储区域968中,所述信息例如由电子邮件应用程序等所使用的电子邮件或其他消息。同步应用(未示出)也驻留在系统902并且被编程为与在主机上驻留的对应的同步应用进行交互,以保持存储在非易失性存储区域968中的信息与存储在主机计算机处的对应的信息相同步。应当理解的是,其他应用程序可以被加载到存储器962中并且在移动计算设备900上运行。

根据一个方面,系统902具有可以被实现为一个或多个电池的电源970。电源970还可以包括外置电源,例如交流电(ac)适配器或给电池供电或充电的加电对接托架。

根据一个方面,系统902还可以包括执行发送和接收视频通信的功能的无线电设备972。无线电设备972经由通信载波或服务提供商来促成系统902与“外部世界”之间的无线连通性。来往于无线电设备972的传输是在操作系统964的控制下进行的。换句话说,可以将由无线电设备972所接收的通信经由操作系统964散播至应用程序950,反之亦然。

根据一个方面,视觉指示器920可以用于提供视觉通知和/或音频接口974可以用于经由音频换能器925产生能够听到的通知。在所示出的示例中,视觉指示器920是发光二极管(led),而音频换能器925是扬声器。这些设备可以直接地耦合至电源970,以便当被激活时,即使处理器960和其他组件可以关闭以节省电池电量,这些设备也能保持通电并持续由通知机制所指示的一段时间。led可以被编程为无限期地保持通电,直到用户采取动作来指示设备的通电状态为止。音频接口974用于向用户提供能够听到的信号并且从用户处接收能够听到的信号。例如,除了耦合至音频换能器925之外,音频接口974还可以耦合至麦克风以接收能够听到的输入,例如,以促进电话会话。根据一个方面,系统902还可以包括支持用于记录静止的图像、视频流等的板载相机930的操作的视频界面976。

根据一个方面,实现系统902的移动计算设备900可以具有额外的特性或功能。例如,移动计算设备900还可以包括额外的数据存储设备(可移动的或不可移动的),例如磁盘、光盘、或磁带。在图9b中由非易失性存储区域968示出了这样额外的存储。

根据一个方面,如在上文中所描述的,将由移动计算设备900所生成或捕获的数据/信息以及经由系统902所存储的数据/信息本地地存储在移动计算设备900上。根据另一个方面,将数据存储在可以经由无线电设备972或经由移动计算设备900和与移动计算设备900相关联的单独的计算设备(例如,分布式计算网络(例如,互联网)中的服务器计算机)之间的有线连接由设备来访问的任何数量的存储介质上。应当理解的是,可以经由移动计算设备900、经由无线电设备972、或经由分布式计算网络来访问这样的数据/信息。类似地,根据一个方面,根据公知的数据/信息传输和存储方式(包括电子邮件和协同数据/信息共享系统),这样的数据/信息可以容易地在计算设备之间传输以供存储和使用。

图10示出了如在上文中所描述的用于提供对具体的时间点处的数据的可自定义的钻取视图的实时呈现的系统的架构的一个示例。可以使得与数据卡引擎110相关联地开发、交互、或编辑的内容能够存储在不同的通信信道或者其他存储类型中。例如,可以使用目录服务1022、网络端口1024、邮箱服务1026、即时消息传送存储1028、或者社交网络网站1030来存储各种文档。如在本文中所描述的,数据卡引擎110用于使用这些类型的系统等中的任何一个来提供对具体的时间点处的数据的可自定义的钻取视图的实时呈现。根据一个方面,服务器1015将数据卡引擎110提供至客户端1005a-c。作为一个示例,服务器1015是通过网络来提供数据卡引擎110的网络服务器。服务器1015通过网络1010来向客户端1005提供数据卡引擎110。作为示例,客户端计算设备是在个人计算机1005a、平板计算设备1005b和/或移动计算设备1005c(例如,智能电话)、或者其他计算设备中被实现和实施的。客户端计算设备的这些示例中的任何一个示例用于从存储1016中获得内容。

在上文中参考方法、系统、和计算机程序产品的框图和/或操作图而描述了本公开的方面。在方框中所记录的功能/操作可以以不同于在任何流程图中所示出的顺序来进行。例如,取决于所涉及的功能/操作,连续地示出的两个方框可以实际上大体上同时执行,或者方框可以有时以相反的顺序执行。

在该申请中所提供的一个或多个示例的描述或示图不旨在以任何方式限制或约束所要求保护的发明的范围。在该公开中所提供的方面、示例、和细节被认为足以传达所有物,并且使得本领域技术人员能够制造并使用所要求保护的发明的最佳模式。本公开不应该被解释为限于在该申请中所提供的任何方面、示例、或细节。无论是共同地还是单独地示出或描述,(结构上和方法上两者的)各种特征旨在选被择性地包括或省略,以产生具有特定组的特征的示例。在已经提供了本申请的描述和图示之后,本领域技术人员可以预想落入在该申请中所实施的一般的发明概念的更宽泛的方面的精神内的变型、修改和替代示例,而不脱离所要求保护的发明的更宽泛的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1