仪表板合作器的制造方法

文档序号:6491066阅读:290来源:国知局
仪表板合作器的制造方法
【专利摘要】本发明描述了用于设计仪表板的技术。在一些实施例中,提供第一仪表板和第二仪表板。对第一仪表板和第二仪表板执行冲突分析。如果检测到任何冲突,则解决冲突。如果没有检测到冲突或者在解决冲突之后,合并第一仪表板和第二仪表板以形成合并的仪表板。
【专利说明】仪表板合作器
【技术领域】
[0001]本公开一般涉及智能工具(intelligent tools)。具体来讲,智能工具包括合作器,其用于合并(merging)用于可视化(visualizing)数据的仪表板(dashboard)。
【背景技术】
[0002]仪表板工具是一种业务智能工具,其用于创建用于基于定义的度量和关键性能指标(KPI)来可视化数据的仪表板。取决于应用,仪表板设计可以很复杂,涉及到众多类型的组件和数据。复杂的设计可能要求多个设计者中的每个设计仪表板的不同组件。
[0003]由于其顺序的性质(sequential nature),设计仪表板的传统的合作过程是低效的。例如,当一个设计者结束设计仪表板的组件时,然后交给另一个设计者设计另一个仪表板组件。这导致了较长的仪表板开发时间。
[0004]因此期望提供改善在设计仪表板方面的合作(collaboration)的工具。

【发明内容】

[0005]这里描述了用于设计仪表板的计算机实现的技术。在一些实施方式中,提供了第一仪表板和第二仪表板。对第一仪表板和第二仪表板执行冲突分析。如果检测到任何冲突,则解决冲突。如果没有检测到冲突或者在解决冲突之后,则合并第一仪表板和第二仪表板以形成合并的仪表板。
[0006]这些以及其它有点和特征将在下面变得更加清楚,进一步的信息可以通过参考下列详细说明和所附权利要求、以及所附附图来获得。
【专利附图】

【附图说明】
[0007]—些实施例示出在附图中。附图中相似的参考标号指示类似的部分。
[0008]图1示出了环境的实施例;
[0009]图2示出了软件环境的实施例;
[0010]图3a-图3c示出了仪表板的示范性实施例;
[0011]图4示出了用于通过DM应用合并仪表板的过程的实施例;
[0012]图5示出了用于通过DM应用合并仪表板的过程的另一个实施例;
[0013]图6a_图6c示出了用于通过DM应用合并仪表板的过程的其它实施例;
[0014]图7a-图7f示出了 DM应用的对话框;
[0015]图8a-图8c示出了合并仪表板的过程的实施例;
[0016]图9a-图9d不出了合并仪表板的过程的另一个实施例;
[0017]图1Oa-图1Oc示出了合并仪表板的过程的另一个实施例;
[0018]图1la-图1lc示出了合并仪表板的过程的另一个实施例;以及
[0019]图12a-图12c示出了合并仪表板的过程的另一个实施例。【具体实施方式】
[0020]在下面的描述中,为了说明的目的,具体的数目、材料、以及配置被阐述,是为了提供对本架构和方法的彻底的理解,以及为了满足法定的撰写描述、实现(enablement)、以及优选的要求。然而,本领域技术人员将清楚,本结构和方法可以在没有所述具体示范性的细节的情况下实践。在其它实例中,已知特征被省略或简化,以便使本架构和方法的示范性实施方式的描述更加清晰,并由此更好地解释本架构和方法。而且,为了方便理解,一定的方法步骤被描述为单独的步骤,但是,这些单独描述的部首不应被解释为必须依赖次序或者它们的执行相互分开。
[0021 ] 这里描述了用于显示数据的架构(framework)或应用。例如,显示架构可以用来显示业务信息以增强决策过程。在一种实施方式中,架构可以用来设计用于显示信息的仪表板。可以使用该架构将仪表板有效地合并在一起,以改善与设计仪表板相关的工作流。例如,该架构促进了用于设计仪表板的合作,降低了仪表板开发时间。
[0022]图1示出了示范性环境100的框图。例如,该环境促进了数据可视化。该环境可以具有客户机/服务器结构。例如,该环境可以是分布式客户端/服务器体系结构。在一个实施例中,该环境包括经由通信网络102通信地耦接的一个或多个客户端108a-108c以及服务器105。客户端108a-108c可以访问服务器105以存储信息,和/或检索保持在服务器上的信息。此外,服务器也可以促进客户端之间的通信。
[0023]例如,通信网络可以是互连诸如客户端和服务器的不同设备的局域网(LAN)。也可以应用其它类型的网络。所述设备可以通过有线和/或无线连接经由网络耦接。
[0024]在一个实施例中,服务器可以是包括存储器和处理器的计算机。服务器被配置来传送、接收、处理和存储与环境相关联的信息或数据。可以使用各种类型的计算机。例如,计算机可以是大型机、工作站、以及其它类型的处理设备。服务器可以适合于运行任何操作系统。例如,服务器的操作系统可以是z/0S、Linux_Intel、Linux/390、UNIX、或Windows服务器。也可以使用其它类型的操作系统。服务器还可以包括网络服务器和/或简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)服务器,或与网络服务器和/或简单邮件传输协议服务器通信地耦接。
[0025]虽然示出该环境具有一个服务器,但是应当理解,可以应用多于一个的服务器,t匕如服务器池,也可以应用计算机,而不是服务器。
[0026]服务器的存储器可以包括任何非瞬时性存储器或数据库模块。存储器可以是易失性或非易失性类型的存储器,如磁介质、光学介质、随机存取存储器(RAM)、只读存储器(ROM)、可移动介质、或者任何其它合适的本地或远程存储器组件。
[0027]客户端可以是本地或远程计算设备,具有例如本地存储器和处理器。存储器可以包括固定的和/或可移动的存储介质,诸如计算机磁盘、CD-ROM、或者其它合适的介质。各种类型的处理设备可以用作客户端。例如,客户端可以是PC、平板PC、工作站、网络计算机、自助服务机(kiosk)、或者个人数字助理(PDA)。也可以使用其它类型的处理设备。处理设备可以包括存储器和处理器。可以提供输入和输出设备用于处理设备。例如,输入设备可以是键盘、触摸屏、鼠标、或者其它能够从用户接受信息的设备。例如,客户端可以从使用输入设备的用户接收请求。输出装置可以是显示器用以向用户传达信息。也可以使用其它类型的输入和输出设备。客户端能够接收、传送、处理和存储与环境100相关联的任何适当的数据。
[0028]客户端/服务器(C/S)应用可以提供在所述环境中。一般地,C/S应用包括前端部分和后端部分。前端部分本地存储在客户端上,而后端部分则位于服务器中。各种类型的C/S应用可以提供在所述环境中。
[0029]客户端可以包括用户接口(user interface),用于用户为了各种目的与环境进行接口连接。例如,该界面可以用来访问环境中的各种应用。用户接口也可以为其它目的服务。在一个实施例中,用户接口包括图形用户界面(GUI)。GUI可以提供高效的和用户友好的显示信息或与环境通信的方式。例如,Gn可以包括任务菜单以及一个或多个用于显示信息的方框。还可以使用其它类型的用户接口,如命令行接口(CLI)。用户接口的类型可以取决于在客户端上运行的应用的类型。例如,前端部分可以包括GUI,使用户能够与后端部分交互(interact),以存取存储在服务器中的数据。
[0030]虽然所述环境被示出为具有三个客户端和一个服务器,但是应当理解,可以有任意数目的客户端通信地耦接到一个或多个服务器。另外,也可以包括其它类型的设备。客户端可以是本地客户端或外部客户端。而且,“客户端”和“用户”可以视情况相互交换地使用,而不脱离本公开的范围。例如,客户端可以由一个或多个用户使用,而用户可以使用一个或多个客户端。作为例示,用户可以具有用于诸如电子邮件系统的应用的帐号(account)。任何用户就可以通过执行诸如提供用户名和口令的认证或登录过程从任何客户端访问用户的各个帐号。
[0031]图2示出了软件环境200的实施例。如图所示,软件环境包括数据源260。例如,数据源可以包括数据文件。任何类型的文件也可以包含在数据源中。例如,文件可以是报告、电子数据表单、XML文件、平面文件(flat file)、网络服务文件、或者其它类型的文件。数据文件可以从一个或多个软件应用中生成,所述软件应用如数据库或其它类型的软件应用。例如,数据可以是个人数据或业务数据,如公司数据。业务数据可以包括雇员数据、销售数据、以及与公司相关的其它类型的数据。
[0032]软件应用可以包括各种类型的功能,如报告生成和与数据分析相关的功能。软件应用可以具有C/S体系结构。例如,数据、报告、以及其它的信息可以存储在服务器中。在其它实施例中,软件应用可以本地安装在客户端或独立计算机中。在这样的情况下,数据、报告、以及其它信息被本地存储。
[0033]在一个实施例中,软件应用包括业务应用。可以使用各种类型的业务应用。例如,业务应用保持业务的数据并创建关于数据的业务报告。例如,这样的业务应用可以包括SAP水晶报表解决方案(Crystal Solution),包括Xcelsius、水晶报表、来自SAP AG的网络智能。也可以使用其它类型的业务应用或业务应用套装(suites)。
[0034]在一个实施例中,数据源包括仪表板的文件。例如,这些文件用于显示仪表板。例如,这些文件可以由仪表板设计应用220生成。例如,使用合适的KP1、度量、趋势图(trend)、数据可视化、以及交互,仪表板可以包括不同的元素来显示数据的聚集的视图。
[0035]例如,仪表板包括用户界面(UI)或仪表板面板(panel)。在面板内可以存在一个或多个仪表板组件,以促进数据可视化。提供其它类型的组件和元素也是有用的。仪表板也可以提供有不同的特征或功能。例如,诸如下拉菜单、滑动条和命令按钮的、用于执行“假设(what if)”分析和数据的动态可视化的组件或元素可以提供用来使用户能够在运行时进行交互。例如,仪表板能够提供对数据的快速理解以促进更好的以及更高效的决策。
[0036]在一个实施例中,仪表板设计应用为SAP? BusinessObjectsTM Xcelsius?Enterprise。也可以使用其它类型的仪表板设计应用。例如,仪表板设计应用可以是SAP?Visual Composer。
[0037]图3a示出了仪表板300的示范性实施例。如图所示,仪表板包括仪表板面板310。仪表板面板可以是仪表板UI的一部分。例如,仪表板面板可以是仪表板UI的canvas (画布)。仪表板Π可以是仪表板设计工具的一部分。例如,仪表板Π可以包括菜单栏和命令按钮,以帮助设计仪表板或其它仪表板功能。canvas可以包括仪表板标签来描述仪表板。仪表板标签可以布置在仪表板的大约边缘位置。例如,仪表板标签可以布置在仪表板的左上角。可以将仪表板标签布置在其它的位置。
[0038]在canvas内可能有一个或多个仪表板组件。如图所示,canvas包括第一组件Cl和第二组件C2。提供其它数目的组件也是有用的。仪表板组件可以是用于观看数据的图表。例如,第一组件是饼形图而第二组件是柱形图。也可以使用其它类型的组件。例如,其它类型的仪表板组件可以包括图形、标尺(gauge)、选择器、过滤器、映射图(map)、以及皮肤(skin)。组件可以用来可视化数据或数据片段,诸如通过过滤。
[0039]说明性地,仪表板提供了对于一串店铺或分店的数据的视图。例如,所述串包括在Atherton、Berkeley、Cupertino、Fremont、Milpitas 和 San Francisco 的分店。在这个上下文中,提供了 KP1、趋势图、以及与分店销售相关的重要信息。例如,在第一观看区域中的饼形图描绘了在指定年份的每个分店的销售的相对百分比,而第二观看区域则描绘了所选择的分店的逐月销售。例如,在这种情况下,柱形图描绘了 Atherton分店在指定年份的月销售。如图所示,仪表板的组件包含在单一页面中。提供具有多个页面的仪表板也是有用的。
[0040]如所描述的,仪表板包括具有一个或多个组件的canvas。与canvas相关的信息包含在仪表板文件中。在一个实施例中,与仪表板的canvas相关的信息被提供为元数据。例如,canvas信息可以包括canvas及其组件的信息,诸如位置、大小、颜色、以及字体。也可以提供另外的canvas信息。数据与组件相关联。
[0041]仪表板的信息被存储在仪表板文件中。在一个实施例中,仪表板文件是X.xlf文件,其中X是仪表板的名称。在一个实施例中,X.Xlf文件包括第一文件和第二文件。第一文件包含元数据,而第二文件包含数据。例如,仪表板的元数据和数据包含在单独的文件中。例如,元数据包含在标记(markup)文件中。例如,标记文件可以是document, xml文件。对于数据文件,其可以是电子数据表单文件。例如,数据文件可以是excel电子数据表单。数据文件可以存储为xldoc。将仪表板的信息存储为其它类型的文档或者其它类型的格式以及在其它数目的文件中存储仪表板的信息也可以是有用的。
[0042]图3b示出了元数据文件310的示范性实施例。例如,元数据文件是xml文件。元数据文件可以命名为“document, xml”。也可以使用其它类型的元数据文件。例如,元数据文件是图3a的仪表板的元数据文件。元数据文件包括不同的输入项(entry items) 382。输入项对应于仪表板和各种组件ID,如Cl和C2,以及格式信息。在一个实施例中,输入项可以具有下列格式之一:
[0043]a)标签=值;或[0044]b)标签,
[0045]其中,标签(label)是描述项目的名称,而值是对应于标签的值。在第二格式的情况下,标签指示设定格式(set format)。如图所示,输入项包括canvas ID、设定、颜色主题、canvas、字体、组件ID、以及颜色方案。其它输入项可以被包括在元数据文件中。
[0046]图3c示出了数据文件320的示范性实施例。例如,数据文件是电子数据表单,如excel文件。数据文件可以命名为xldoc。也可以使用其它类型的数据文件。例如,数据文件是图3a的仪表板的数据文件。数据文件包括数据行和数据列。数据可以具有行标题372和列标题374。如图所示,行对应于分店,而列对应于月份。数据反映了按月的收入(revenues)。数据可以包含在数据文件的数据表单390中。如图所示,数据表单的数据被绑定到仪表板的Cl和C2两个组件中。数据和组件的其它配置也可以是有用的。例如,可以提供多个数据表单来包含仪表板的数据。
[0047]再次参考图2,软件环境包括仪表板合并器(dashboard merger,DM)应用240。DM应用用于将仪表板合并在一起。DM应用改善了与设计仪表板相关的合作工作流,从而减少开发时间。例如,DM应用可以整合到仪表板设计应用中,如虚线225所示。在其它实施例中,DM应用可以是与仪表板设计应用交互的单独的应用。也可以使用仪表板设计和DM应用的其它配置。
[0048]软件环境可以包括与数据源、仪表板设计以及DM应用交互的另外的应用。例如,应用可以用来生成报告和执行数据分析。其它类型的工具或应用,如Microsoft Office、Adobe和/或web portal,也可以提供在软件环境中。
[0049]图4示出了用于通过DM应用合并仪表板的过程400的一般实施例。在步骤410,提供要合并的仪表板。例如,用户选择要合并的仪表板。在一个实施例中,选择第一仪表板和第二仪表板用于合并。所选择的仪表板用作源仪表板。在步骤420,DM应用分析源仪表板用于确定是否存在与仪表板的任何冲突。如果没有检测到冲突,则过程继续到步骤440,其中仪表板被合并,并且过程在步骤450结束。
[0050]冲突可以包括元数据冲突和/或数据冲突。例如,用户I创建仪表板D1,并且其包含Cl。随后,用户2打开D1,并改变Cl的颜色和添加新的组件C2。所述改变形成D2。合并Dl和D2将会导致元数据冲突,即Cl的不同颜色。假设用户2还改变了绑定到Cl的数据。这将导致数据冲突,因为绑定到Cl的数据不同。也可以使用其他类型的仪表板冲突。
[0051]在检测到一个或多个冲突的情况下,过程继续到步骤430以便解决冲突。冲突的解决可以通过DM应用自动地执行,涉及来自用户的输入,或者它们的组合。例如,在用户输入的情况下,用户可以从要合并的两个仪表板之一中选择一个基础仪表板。例如,基础仪表板可以用作合并的仪表板的基础仪表板。在源仪表板不能自动合并的情况下,用户被请求提供输入,在一些情况下,即使源仪表板能够被自动地合并,DM应用也向用户提供选项。在一个实施例中,检测到多于一个冲突,则冲突被顺序地解决。例如,冲突按顺序每次解决一个。也可以使用冲突解决的其它配置。当一个或多个冲突被解决时,过程继续到步骤440,其中仪表板被合并。所合并的仪表板可以显示以进行预览。在预览仪表板之后,其可以被存储为新的仪表板,并且过程在步骤450结束。源仪表板保持未改变。
[0052]如上所述,DM应用合并两个仪表板。该过程可以扩展为合并η个数目的仪表板。例如,在两个仪表板被合并以形成第一合并的仪表板之后,第一合并的仪表板可以与另一个源仪表板合并,以形成第二合并的仪表板。这个过程可以被重复,从而合并另外的仪表板,如所期望的。
[0053]图5示出了用于通过DM应用合并仪表板的过程500的另一个实施例。在一个实施例中,DM应用合并包含在第一仪表板文件和第二仪表板文件中的仪表板。例如,仪表板将其信息包含在元数据和数据文件中,如document, xml和xldoc文件,如在图3B-图3C中所示。在步骤510,提供要合并的仪表板。例如,用户选择要合并的仪表板。在一个实施例中,选择第一仪表板Dl和第二仪表板D2用于合并。
[0054]在步骤520,DM应用分析所选择的仪表板的元数据文件,以确定是否存在任何与仪表板冲突的元数据。例如,分析Dl的document, xml和1D2的document, xm。例如,元数据冲突可以包括canvas指南、组件ID、格式或它们的组合。元数据冲突可以包括其它类型的元数据冲突。例如,document, xml文件中的任何不同构成了元数据冲突。如果没有检测到元数据冲突,则过程前进到步骤540。
[0055]另一方面,如果检测到元数据冲突,则过程继续到步骤530以便解决冲突。冲突的解决可以通过DM应用自动地执行,涉及用户交互,或者它们的组合。例如,如何解决冲突可以取决于冲突类型。在一个实施例中,冲突被顺序地解决。也可以使用冲突解决的其它配置。当一个或多个元数据冲突被解决时,过程继续到步骤540。
[0056]在步骤540,过程确定是否存在数据冲突。例如,分析所选择的仪表板的数据文件,以确定是否存在任何数据冲突。在一个实施例中,对Dl的xldoc和D2的xldoc进行冲突分析。例如,数据冲突可以包括与行标题、列标题、表单名称或它们的组合的冲突。数据冲突可以包括其它类型的数据冲突。如果没有检测到数据冲突,则过程继续到步骤560。
[0057]在找到数据冲突的情况下,过程继续到步骤550。在步骤550,解决数据冲突。数据冲突的解决可以通过DM应用自动地执行,涉及用户交互,或者它们的组合。在一个实施例中,冲突被顺序地解决。例如,冲突按顺序每次解决一个。也可以使用冲突解决的其它配置。当一个或多个数据冲突被解决时,过程继续到步骤560。
[0058]在步骤560,仪表板的文件被合并在一起,以形成合并的仪表板的文件D12。例如,元数据文件和数据文件的内容被合并在一起,以形成D12的document, xml和xldoc。在步骤575,包括Dl和D2的组件和数据的合并的仪表板D12被输出。例如,显示D12用于用户预览。在预览之后,用户可以保存合并的仪表板D12。例如,保存D12的元数据和数据文件。用户可以选择合并的仪表板被存储的名称和位置。其后,DM应用的过程在步骤580终止。
[0059]图6a不出了用于通过DM应用合并仪表板的过程600的另一个实施例。例如,该过程可以由具有不同对话框的合并向导(wizard)来帮助。如图所示,向导采用五个对话框70(ν5,用于合并仪表板的过程。为向导提供其它数量的对话框,或者其它的向导配置也可以是有用的。
[0060]在一个实施例中,DM应用合并包含在第一仪表板文件和第二仪表板文件中的仪表板。例如,仪表板将其信息包含在元数据和数据文件中,诸如document, xml和xldoc文件。该过程类似于图5中描述的过程。可能不会描述或不会详细描述共同的元素。
[0061]在步骤510,提供要合并的仪表板。例如,用户选择第一仪表板Dl和第二仪表板D2用于合并。例如,所选择的仪表板用作源仪表板。在一个实施例中,如果存在任何数据冲突,则用户可以选择如何解决数据冲突。例如,如果存在任何数据冲突,用户可以选择数据冲突通过DM应用自动地解决。或者用户可以选择数据冲突的手动解决。数据冲突的手动解决要求来自用户的输入,诸如选择哪个源仪表板将用作基础仪表板。
[0062]在步骤520,DM应用分析Dl和D2的元数据文件,以确定是否存在任何元数据冲突。例如,分析Dl的document, xml和D2的document, xml以确定它们之间是否存在元数据。如果没有检测到元数据冲突,则DM应用前进到步骤540。
[0063]另一方面,如果检测到元数据冲突,则DM应用继续到步骤630以便解决元数据冲突。在一个实施例中,元数据冲突被手动执行,如要求用户输入。例如,在步骤630,DM应用请求用户从Dl和D2选择基础仪表板。用户选择Dl或D2作为基础仪表板。在步骤635,非基础仪表板的兀数据文件与基础仪表板的兀数据文件合并。例如,在Dl被选为基础仪表板的情况下,D2 的 document, xml 被合并到 Dl 的 document, xml 中,形成 D12 的 document, xml。或者,在D2被选为基础仪表板的情况下,Dl的document, xml被合并到D2的document, xml中,形成D12的document, xml。对于冲突的元数据元素,基础仪表板元数据元素被用在合并的D12的document, xml中,而非基础仪表板元数据元素被忽略。而对于没有冲突的元数据元素,它们全都包括在合并的D12的document, xml中。
[0064]在解决元数据冲突之后,过程继续到步骤638。在步骤638,Dl和D2的数据文件的数据被合并以形成合并的数据文件D12。数据冲突被解决。即使用户已经选择了自动模式,数据冲突也在手动模式下被有效地解决。这是因为用户已经在步骤630选择了基础仪表板。在Dl和D2的数据文件的数据被合并之后,过程前进到步骤575。在步骤540,在确定不存在元数据冲突之后,DM应用分析Dl和D2的数据文件以确定是否存在数据冲突。例如,DM应用分析Dl的xldoc和D2的xldoc以确定在它们之间是否存在冲突。如果没有找到数据冲突,则过程继续到步骤655。
[0065]如果在步骤540检测到冲突,则DM应用前进到步骤650以确定用于数据冲突的冲突解决模式。例如,DM应用确定用户是否已经选择了自动模式用于解决数据冲突。如果用户没有选择自动模式用于解决数据冲突,则过程继续到步骤630,以开始手动模式用于解决数据冲突。另一方面,如果用户选择了自动模式用于解决数据冲突,则过程前进到步骤655。
[0066]在步骤655,开始用于数据冲突解决的自动模式。在步骤660,DM应用确定是否存在数据冲突。如果存在数据冲突,则DM应用前进到步骤665。在步骤665,Dl和D2的数据文件被合并,并且数据绑定被更新。过程继续到步骤575。在没有数据冲突的情况下,DM应用前进到步骤670以合并Dl和D2的数据文件。不同于数据冲突的情况,这里不需要更新数据的绑定。在数据包文件被合并之后,过程前进到步骤575。
[0067]在步骤575,DM应用显示合并的仪表板D12,其包括Dl和D2的元数据和数据。例如,D12被显示用于用户预览。在预览之后,在步骤678,用户能够保存仪表板文件。用户可以选择仪表板文件被存储的名称和位置。其后,DM应用的过程可以在步骤580终止。该过程可以重复以合并另外的仪表板。图6b示出了用于合并源仪表板Dl和D2的数据文件的过程638。该过程与解决Dl和D2的数据文件的手动模式相关。例如,该过程描绘了在图6a的步骤638合并数据文件的过程。
[0068]在步骤601,开始合并Dl和D2的数据文件的过程。例如,Dl的xldoc的内容与D2的xldoc的内容合并。在步骤601,基础仪表板数据文件的数据表单被拷贝到合并的仪表板数据文件中。然后过程前进,以便将非基础仪表板数据文件的数据表单合并到合并的仪表板数据文件中。例如,在步骤602,DM应用确定是否有将要合并到合并的仪表板数据文件中的、来自非基础仪表板数据文件的数据表单。在一个实施例中,每次合并非基础仪表板的一个数据表单。可以每次将非基础仪表板数据文件的一个数据表单合并到合并的仪表板数据文件中,例如,从第一个到最后一个。合并非基础仪表板数据文件的数据表单的其它配置也可以是有用的。
[0069]如果存在将要被合并的来自非基础仪表板的数据表单,过程前进到步骤603。在步骤603,DM应用确定要合并的数据表单是否已经存在于合并的仪表板的数据文件中。例如,DM应用确定要合并的数据表单是否已经存在于D12的xldoc中。如果在合并的仪表板数据文件中不存在所要合并的数据表单,则DM应用前进到步骤606。
[0070]另一方面,如果在合并的仪表板数据文件中存在要合并的数据表单,则DM应用前进到步骤604。在步骤604,该过程分析两个数据表单,要合并的一个表单和在合并的仪表板数据文件中的一个表单,以确定是否存在数据冲突。如果在两个数据表单之间不存在数据冲突,则过程返回步骤602,确定是否有更多的数据表单要合并到合并的仪表板数据文件中。由于数据表单已经在合并的仪表板数据文件中,所以不需要在拷贝该数据表单。
[0071]在数据表单冲突的情况下,在步骤605,非基础仪表板数据文件的数据表单被重新命名。该过程继续到步骤606。在步骤606,来自非基础仪表板数据文件的数据表单被拷贝到合并的仪表板数据文件。该过程返回到步骤602,以确定是否有更多的数据表单要合并。如果没有更多的数据表单要合并,则过程前进到步骤575,以显示合并的仪表板D12。
[0072]图6c示出了用于合并源仪表板Dl和D2的数据文件的过程655。该过程与解决Dl和D2的数据文件的自动模式相关。例如,该过程描绘了在图6a的步骤655、660、665和670中合并数据文件的过程。该过程类似于图6b中描述的过程。共同的过程步骤将不会描述或不会具体描述。
[0073]在步骤601,开始自动合并Dl和D2的数据文件的过程。基础仪表板数据文件的数据表单被拷贝到合并的仪表板数据文件中。然后该过程前进,以便将非基础仪表板数据文件的数据表单合并到合并的仪表板数据文件中。例如,在步骤602,DM应用确定是否存在要合并到合并的仪表板数据文件中的、来自非基础仪表板数据文件的数据表单。在一个实施例中,每次将非基础仪表板数据文件的一个数据表单合并到合并的仪表板数据文件中,例如,从第一个到最后一个。合并非基础数据表单的其它配置也是有用的。
[0074]如果存在要合并的来自非基础仪表板的数据表单,则DM应用前进到步骤603。在步骤603,DM应用确定要合并的数据表单是否已经存在于合并的仪表板的数据文件中。如果在合并的仪表板数据文件中不存在所要合并的数据表单,则DM应用前进到步骤606a。在步骤606a,来自非基础仪表板的数据表单被拷贝到合并的仪表板数据文件中。之后,该过程返回步骤602。
[0075]另一方面,如果要合并的数据表单存在于合并的仪表板数据文件中,则DM应用前进到步骤604来分析两个数据表单,要合并的一个数据表单和合并在合并的仪表板数据文件中的一个数据表单,以确定是否存在数据冲突。如果在两个数据表单之间不存在数据冲突,则该过程返回步骤602,以确定是否存在更多要合并到合并的仪表板数据文件中的数据表单。
[0076]在数据表单冲突的情况下,在步骤605,非基础仪表板数据文件的数据表单被重新命名。该过程继续到步骤606b。在步骤606b,来自非基础仪表板的数据表单被拷贝到合并的仪表板数据文件中。该过程继续到步骤607,用于更新数据表单和仪表板组件的数据绑定。之后,该过程返回步骤602以确定是否有更多要合并的数据表单。如果不存在更多要合并的数据表单,则该过程前进到步骤575,以显示合并的仪表板D12。
[0077]如上所述,DM应用可以是基于向导(wizard)的应用。例如,UI向用户展示了对话框序列,引导用户通过合并仪表板的过程。也可以使用其它类型的DM应用。
[0078]图7a-图7f示出了 DM应用的各种对话框。参考图7a,示出了 DM应用的一系列对话框中的第一对话框700”例如,第一对话框是在DM应用启动时显示的对话框。例如,此对话框序列可以对应于在图6a-图6c中描述的过程。如图所示,对话框包括DM应用的描述和一些关于如何进行的指令。对话框包括命令按钮,用于导航通过DM应用的过程。例如,对话框包括返回命令按钮710、下一步命令按钮712和取消命令按钮714。可用的命令被高亮显示,而不可用的命令被虚化(lightened)。在第一对话框的情况下,返回命令不可用。
[0079]图7b不出了用于DM应用的仪表板选择对话框700lt)例如,仪表板选择对话框是用于DM应用的对话框的序列中的第二个。例如,仪表板选择对话框对应于图6a的步骤510。在一个实施例中,仪表板选择对话框包括第一输入722和第二输入724,用于选择用于合并的第一数据库Dl和第二数据库D2。可以向目录搜索按钮728提供输入框,以便导航到源数据库的位置。
[0080]在一个实施例中,仪表板选择对话框包括选项729,用于用户选择是否自动地解决数据冲突。例如,当用户勾选或选择这个选项时,DM应用运用冲突解决的自动模式用于数据冲突。选择如何解决数据冲突的其它配置也可以是有用的。
[0081]在图7c中,示出没有冲突对话框7002。当在源仪表板Dl和D2中没有找到冲突时,DM应用不显示冲突对话框。例如,在步骤540之后,当在源仪表板Dl和D2之间没有冲突时,不显示冲突对话框。用户可以点击下一步命令按钮以合并源仪表板,并显示合并的仪表板用于预览。
[0082]图7d示出了冲突对话框7003。如图所示,冲突对话框包括第一选择器732和第二选择器734,用于选择一个源仪表板作为基础仪表板。例如,用户点击第一选择器或第二选择器,用于选择第一仪表板Dl或第二仪表板D2作为基础仪表板。例如,这对应于步骤630。
[0083]一旦选择了基础仪表板,用户可以点击下一步命令按钮。点击下一步命令按钮使得DM应用将非基础仪表板的信息合并到基础仪表板文件中。在一个实施例中,DM应用将非基础仪表板的元数据合并到基础仪表板中。例如,这对应于步骤635。显示合并的仪表板用于用户预览,对应于步骤575。
[0084]图7e示出预览对话框7004。预览对话框包括合并的仪表板的显示,包括仪表板文件。如图所示,该输出包括合并的仪表板的组件、合并的元数据文件、以及合并的数据文件。在合并两个源仪表板之后,展示预览对话框。例如,预览对话框对应于步骤575。用户可以通过点击下一步命令按钮前进到下一个对话框。
[0085]参考图7f,示出了存储对话框7005。在用户已经预览合并的仪表板并点击下一步命令按钮之后,展示存储对话框。存储对话框包括输入框780,用于输入合并的仪表板的期望的名称以及其存储的位置。可以提供浏览命令按钮782来观看存储合并的仪表板的可用位置。当提供了期望的名称和位置时,用户可以通过点击结束命令按钮716来完成存储过程。例如,存储对话框是该序列的最后一个对话框。
[0086]图8a-图8c不出了合并第一仪表板和第二仪表板的过程的不例。在图8a中不出了第一仪表板800a及其相应的第一元数据文件810a和数据文件820a。第一仪表板包括第一组件Cl和第二组件C2。第一组件是饼形图而第二组件是柱形图。元数据文件包括canvas向导880a,用于第一仪表板和输入项882a。输入项包括仪表板和组件Cl和C2的格式信息。数据文件包括用于行和列的首标信息872a和874a。第一仪表板的数据被提供在第一数据文件的表单890a中。
[0087]对于图Sb,示出了第二仪表板800b及其第二元数据文件810b和数据文件820b。第二仪表板包括第三组件C3和第四组件C4。第三组件是选择器组件而第四组件是柱形图。兀数据文件包括canvas向导880b,用于第二仪表板和输入项882b。输入项包括仪表板和组件C3和C4的格式信息。数据文件包括用于行和列的首标信息872b和874b。第二仪表板的数据被提供在第二数据文件的表单890b中。
[0088]如图所示,在仪表板之间不存在冲突。第一仪表板和第二仪表板的元数据和数据文件不具有任何冲突。例如,在第一元数据和数据文件以及第二元数据和数据文件的组件ID、输入项和表单名称以及单元值之间不存在冲突,如以下表格I中所示:
[0089]表格I
[0090]
【权利要求】
1.一种设计仪表板的计算机实现的方法,包括: 提供第一仪表板和第二仪表板; 对第一仪表板和第二仪表板执行冲突分析; 如果检测到任何冲突,则解决该冲突;并且 如果没有检测到冲突或者在解决该冲突之后,则合并第一仪表板和第二仪表板以形成合并的仪表板。
2.如权利要求1所述的方法,其中, 第一仪表板包括第一仪表板兀数据和第一仪表板数据;以及 第二仪表板包括第二仪表板元数据和第二仪表板数据。
3.如权利要求1所述的方法,其中,第一仪表板和第二仪表板被包含在第一仪表板文件和第二仪表板文件中,其中: 第一仪表板文件包括包含第一仪表板元数据的第一仪表板元数据文件和包含第一仪表板数据的第一仪表板数据文件;以及 第二仪表板文件包括包含第二仪表板元数据的第二仪表板元数据文件和包含第二仪表板数据的第二仪表板数据文件。
4.如权利要求3所述的方法,其中,元数据文件是.xml格式的文件,而数据文件是xldoc格式的文件。
5.如权利要求3所述的方法,其中,冲突分析包括: 比较第一仪表板元数据文件和第二仪表板元数据文件,以确定是否存在任何元数据冲关; 如果检测到元数据冲突,则解决元数据冲突; 在解决元数据冲突之后或者如果不存在元数据冲突,则合并第一仪表板元数据文件和第二仪表板元数据文件的元数据; 比较第一仪表板数据文件和第二仪表板数据文件以确定是否存在任何数据冲突; 如果检测到数据冲突,则解决数据冲突;并且 在解决数据冲突之后或者如果不存在数据冲突,则合并第一仪表板数据文件和第二仪表板数据文件的数据。
6.如权利要求5所述的方法,其中,在比较第一仪表板数据文件和第二仪表板数据文件之前比较第一元数据文件和第二元数据文件。
7.如权利要求5所述的方法,其中,解决冲突包括冲突解决的自动模式或冲突解决的手动1吴式。
8.如权利要求7所述的方法,其中,元数据冲突以手动模式解决,而数据冲突以手动模式或自动模式解决。
9.如权利要求8所述的方法,其中,用户可以选择数据冲突以手动模式还是以自动模式解决。
10.如权利要求9所述的方法,其中,如果存在元数据冲突则以手动模式有效地解决数据冲突,不论用户已经选择了自动模式还是手动模式。
11.如权利要求5所述的方法,其中,元数据冲突通过以下步骤解决: 请求用户从第一仪表板或第二仪表板中选择仪表板成为基础仪表板,其中,第一仪表板或第二仪表板中的未选择的仪表板是非基础仪表板; 使用没有冲突的元数据;并且 对于有冲突的元数据,使用基础仪表板的元数据,而不使用非基础仪表板的元数据。
12.如权利要求11所述的方法,其中: 基础仪表板的元数据被拷贝到合并的元数据文件中; 没有冲突的非基础仪表板的元数据被拷贝到合并的元数据文件中;并且 冲突的非基础仪表板的元数据不被拷贝到合并的元数据文件中。
13.如权利要求8所述的方法,其中,自动模式的数据冲突解决包括: 确定在第一仪表板数据文件和第二仪表板数据文件之间是否存在数据冲突; 如果没有检测到数据冲突,则将第一仪表板数据文件和第二仪表板数据文件的数据合并到合并的仪表板数据文件中;并且 如果检测到数据冲突,则将第一仪表板数据文件和第二仪表板数据文件的数据合并到合并的仪表板数据文件中并更新所述数据的绑定。
14.如权利要求8所述的方法,其中,手动模式的数据冲突解决包括: 请求用户从第一仪表板或第二仪表板中选择仪表板成为基础仪表板,其中,第一仪表板或第二仪表板中未选择的仪表板是非基础仪表板; 基础仪表板的数据被用于合并的仪表板;并且 对于冲突的数据,使用基础仪表板的数据,而不使用非基础仪表板的数据。
15.如权利要求14所述的方法,其中: 基础仪表板的数据被合并到合并的仪表板数据文件中; 冲突的非基础仪表板的数据被拷贝到合并的仪表板数据文件中但不被使用。
16.一种其上存储程序代码的非临时计算机可读介质,该程序代码可由计算机运行以执行以下操作: 选择第一仪表板和第二仪表板; 对第一仪表板和第二仪表板执行冲突分析; 如果检测到任何冲突,则解决冲突;并且 如果没有检测到冲突或者在解决冲突之后,则合并第一仪表板和第二仪表板以形成合并的仪表板。
17.一种用于设计仪表板的系统,包括: 数据源,用于存储仪表板的仪表板文件;以及 处理器,实施仪表板设计模块,其中,该处理器被配置为运行以下处理: 从数据源中选择第一仪表板和第二仪表板的第一源仪表板文件和第二源仪表板文件; 对第一仪表板和第二仪表板执行冲突分析; 如果检测到任何冲突,则解决冲突;并且 如果没有检测到冲突或者在解决冲突之后,则合并第一仪表板和第二仪表板以形成合并的仪表板。
18.如权利要求17所述的系统,其中: 第一仪表板文件包括包含第一仪表板元数据的第一仪表板元数据文件和包含第一仪表板数据的第一仪表板数据文件;以及 第二仪表板文件包括包含第二仪表板元数据的第二仪表板元数据文件和包含第二仪表板数据的第二仪表板数据文件。
19.如权利要求18所述的系统,其中,冲突分析包括: 比较第一元数据文件和第二元数据文件,以确定是否存在任何元数据冲突; 如果检测到元数据冲突,则解决元数据冲突; 在解决元数据冲突之后或者如果不存在元数据冲突,则合并第一仪表板元数据文件和第二仪表板元数据文件的元数据; 比较第一仪表板数据文件和第二仪表板数据文件的数据文件以确定是否存在任何数据冲突; 如果检测到数据冲突,则解决数据冲突;并且 在解决数据冲突之后或者如果不存在数据冲突,则合并第一仪表板数据文件和第二仪表板数据文件 的数据。
20.如权利要求17所述的系统,其中,解决冲突包括自动模式的冲突解决或手动模式的冲突解决。
【文档编号】G06F17/50GK103810314SQ201210457893
【公开日】2014年5月21日 申请日期:2012年11月15日 优先权日:2012年11月15日
【发明者】李资琴, 张锦明, 陈春森 申请人:商业对象软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1