CN104598216A - 用于实现业务智能报告的虚拟数据写回的方法和系统 - Google Patents

用于实现业务智能报告的虚拟数据写回的方法和系统 Download PDF

Info

Publication number
CN104598216A
CN104598216A CN201410596823.5A CN201410596823A CN104598216A CN 104598216 A CN104598216 A CN 104598216A CN 201410596823 A CN201410596823 A CN 201410596823A CN 104598216 A CN104598216 A CN 104598216A
Authority
CN
China
Prior art keywords
data
report
data item
source
modification
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
CN201410596823.5A
Other languages
English (en)
Other versions
CN104598216B (zh
Inventor
许冀江
吴旭
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.)
Core Usa Second LLC
GlobalFoundries Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104598216A publication Critical patent/CN104598216A/zh
Application granted granted Critical
Publication of CN104598216B publication Critical patent/CN104598216B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及用于实现业务智能(BI)报告的虚拟数据写回的方法和系统。所述方法包括输出业务智能(BI)报告的初始版本,其中所述BI报告包括第一字段和第一BI报告元素。第一字段显示来自第一数据源的第一数据项。第一BI报告元素至少部分地基于第一数据项。所述方法包括接收指示第一数据项的修改形式的输入。所述方法包括部分地基于第一数据项的修改形式产生第一BI报告元素的修正形式。所述方法包括输出BI报告的修正版本,所述BI报告的修正版本包括第一字段中的第一数据项的修改形式和第一BI报告元素的修正形式。

Description

用于实现业务智能报告的虚拟数据写回的方法和系统
技术领域
本公开涉及业务智能系统,更具体地,涉及输入用于业务智能报告的数据。
背景技术
企业软件系统通常是支持很多(例如成百上千的)并发用户的复杂的、大规模的系统。企业软件系统的例子包括财务规划系统、预算规划系统、订单管理系统、库存管理系统、销售力量管理系统、业务智能工具、企业报告工具、项目和资源管理系统、以及其它企业软件系统。
很多企业绩效管理和业务规划应用需要大量用户输入数据,然后软件将所述数据积累到组织中的责任的更高级别区域中。此外,一旦数据已经被输入,就需要通过检索来利用。系统可以对数据执行数学计算,组合由很多用户提交的数据。利用这些计算的结果,系统可以产生报告以供更高的管理层审查。通常,这些复杂系统使用多维数据源,所述多维数据源利用被称为数据立方体(data cube)的数据结构来组织和操纵非常大量的数据。每个数据立方体例如包括具有用于存储多维数据的层次和成员的多个分层维度。
业务智能(BI)系统可以用于提供对这样的企业数据集合的了解。用户可以使用报告工具来基于企业数据集合产生BI报告。产生的报告通常可以包括纸件格式或各种电子格式中的任意一种的大量聚合信息。用户随后可以在下层数据源之中增加或者修正数据,例如,通过可应用数据源的提取-转换-加载(extract-transform-load,ETL)处理,或者通过可应用数据源的应用用户接口。
发明内容
总的来说,此处公开的例子涉及用于实现业务智能(BI)报告中的虚拟数据写回(write-back)的技术。在一个例子中,一种用于在BI报告工具中实现虚拟数据写回的方法,所述方法包括输出业务智能(BI)报告的初始版本,其中所述BI报告包括第一字段和第一BI报告元素,使得第一字段显示来自第一数据源的第一数据项,并且第一BI报告元素至少部分地基于第一数据项。所述方法还包括接收指示第一数据项的修改形式的输入。所述方法还包括至少部分地基于第一数据项的修改形式产生第一BI报告元素的修正形式。所述方法还包括输出BI报告的修正版本,所述BI报告的修正版本包括第一字段中的第一数据项的修改形式和第一BI报告元素的修正形式。
在另一个例子中,一种用于实现业务智能(BI)报告中的虚拟数据写回的计算机程序产品,所述计算机程序产品包括具有随其实施的程序代码的计算机可读存储介质。所述程序代码可由计算装置执行以输出业务智能(BI)报告的初始版本,其中所述BI报告包括第一字段和第一BI报告元素,使得第一字段显示来自第一数据源的第一数据项,并且第一BI报告元素至少部分地基于第一数据项。所述程序代码还可由计算装置执行以接收指示第一数据项的修改形式的输入。所述程序代码还可由计算装置执行以至少部分地基于第一数据项的修改形式产生第一BI报告元素的修正形式。所述程序代码还可由计算装置执行以输出BI报告的修正版本,所述BI报告的修正版本包括第一字段中的第一数据项的修改形式和第一BI报告元素的修正形式。
在另一个例子中,一种用于实现业务智能(BI)报告中的虚拟数据写回的计算机系统,所述计算机系统包括一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读有形存储装置。所述计算机系统还包括程序指令,所述程序指令存储在所述一个或多个存储装置中的至少一个上,用于经由所述一个或多个存储器中的至少一个由所述一个或多个处理器中的至少一个执行,以输出业务智能(BI)报告的初始版本,其中所述BI报告包括第一字段和第一BI报告元素,使得第一字段显示来自第一数据源的第一数据项,并且第一BI报告元素至少部分地基于第一数据项。所述计算机系统还包括程序指令,所述程序指令存储在所述一个或多个存储装置中的至少一个上,用于经由所述一个或多个存储器中的至少一个由所述一个或多个处理器中的至少一个执行,以接收指示第一数据项的修改形式的输入。所述计算机系统还包括程序指令,所述程序指令存储在所述一个或多个存储装置中的至少一个上,用于经由所述一个或多个存储器中的至少一个由所述一个或多个处理器中的至少一个执行,以至少部分地基于第一数据项的修改形式产生第一BI报告元素的修正形式。所述计算机系统还包括程序指令,所述程序指令存储在所述一个或多个存储装置中的至少一个上,用于经由所述一个或多个存储器中的至少一个由所述一个或多个处理器中的至少一个执行,以输出BI报告的修正版本,所述BI报告的修正版本包括第一字段中的第一数据项的修改形式和第一BI报告元素的修正形式。
在下面的描述和附图中阐述了本发明的一个或多个实施例的细节。从所述描述和附图中以及从权利要求中,本发明的其它特征、目的和优点将变得明显。
附图说明
图1是说明具有计算环境的示例性企业的框图,用户在该计算环境中与在公用网络上可访问的数据源以及企业业务智能(BI)系统交互。
图2是说明企业业务智能计算环境的一个实施例的框图,所述企业业务智能计算环境包括用于实现BI报告中的虚拟数据写回的系统(作为BI计算系统的一部分)。
图3是在一个例子中的工作在设计模式中的BI报告工具的BI报告用户接口(UI)的屏幕截图。
图4是根据一个例子的工作在运行时模式中的BI报告工具的BI报告用户接口(UI)的屏幕截图。
图5描绘了根据一个例子的作为BI报告工具可以工作的上下文的BI元数据模型的概念图。
图6描绘了根据一个例子的BI报告工具执行BI报告的操作环境的概念图。
图7描绘了根据一个例子的BI报告工具执行BI报告的操作环境的概念图。
图8描绘了根据一个例子的本公开的用于数据写回服务的数据结构示图。
图9描绘了用于在BI系统中实现BI报告中的虚拟数据写回的示例性总体处理的流程图。
图10是可以执行用于实现BI报告中的虚拟数据写回的系统(作为BI计算系统的一部分)的示例性计算装置的框图。
具体实施方式
此处公开了用于实现业务智能(BI)报告中的虚拟数据写回的各种例子。在各种例子中,BI报告工具可以使得BI报告中的数据字段成为用户可编辑的,并且可以存储用户修改数据和基于用户修改数据输入重新运行BI报告,而不更改下层数据源中的原始数据。总的来说,本公开的BI报告工具可以被修改以增加能够保持虚拟数据写回的增强的查询属性。增强的查询属性能够接受和保持用户对BI报告中包含的任意数据输入的增加或者修正。本公开的BI报告工具然后能够从增强的查询属性使BI报告中包含的数据受到这些增加或者修正,就像增加的或者修正的数据被包含在下层数据源中。
本公开的BI报告工具可以提供这样的现象:更新BI报告中的数据源,而不需要承担实际地定位并且更改下层数据源中的数据并且然后从这些数据源中检索新更改的数据的复杂性。本公开的BI报告工具还可以实现BI报告中的数据的更新,而不需要经由单独的可应用数据源的分离的提取-转换-加载(ETL)处理或者应用用户接口的数据输入。本公开的BI报告工具还可以实现保存和分享更新的BI报告,其中所述BI报告在BI报告工具的查询属性层内持久地保持更新的数据,好像对下层数据源做出了数据的更改。
图1说明了可以使用本公开的系统的示例性上下文。图1是说明具有计算环境10的示例性企业4的框图,在计算环境10中多个用户12A-12N(统一称为“用户12”)可以与企业BI系统14交互。在图1中示出的系统中,企业业务智能系统14通过企业网络18通信地耦接到多个客户端计算装置16A-16N(统一称为“客户端计算装置16”或者“计算装置16”)。用户12与他们各自的计算装置交互来访问企业业务智能系统14。在不同的例子中,用户12、计算装置16A-16N、企业网络18、以及企业业务智能系统14可以都在单个设施中或者广泛地分散在世界上任意地方的两个或更多个分离位置。
为了示例性的目的,本公开的技术的各种例子可以被容易地应用于各种软件系统,所述各种软件系统包括企业业务智能系统或者其它大规模企业软件系统。企业软件系统的例子包括企业财务或预算规划系统、订单管理系统、库存管理系统、销售力量管理系统、业务智能工具、企业报告工具、项目和资源管理系统、以及其它企业软件系统。
在这个例子中,企业BI系统14包括运行BI仪表板web应用和可以提供业务分析软件的服务器。用户12可以经由他们各自的计算装置16使用客户端计算装置16上的BI门户来观看和操纵信息,诸如业务智能报告(“BI报告”)以及数据的其它集合和可视化。这可以包括来自广泛多样的源中的任意一个的数据,包括来自企业4内的关系数据库和多维数据结构的数据、以及来自在公用网络15上可访问的各种外部源的数据。
用户12可以使用各种不同类型的计算装置16经由企业网络18与企业业务智能系统14交互以及访问数据可视化工具以及其它资源。例如,企业用户12可以使用可以运行web浏览器的膝上型计算机、台式计算机等来与企业业务智能系统14交互和运行业务智能(BI)门户(例如业务智能仪表板)。替代地,企业用户可以使用智能电话、平板计算机或者类似装置,在用于与企业业务智能系统14交互的web浏览器、专用移动应用或者其它装置中运行业务智能仪表板。
企业网络18和公用网络15可以代表任意通信网络,并且可以包括基于分组的数字网络,诸如专用企业内联网或者像互联网一样的公用网络。用这种方式,计算环境10能够容易地调整以适合大企业。企业用户12可以经由局域网直接访问企业业务智能系统14,或者可以经由虚拟专用网、远程拨号或者类似的远程访问通信机制来远程访问企业业务智能系统14。
图2是更详细地说明企业业务智能(BI)系统14的一个实施例的各部分的框图。在这个示例性实现中,为了举例示出了单个客户端计算装置16A,所述单个客户端计算装置16A包括BI门户24以及可以使用和操纵多维数据(包括用BI门户24观看数据可视化和分析工具)的一个或多个客户端侧企业软件应用26。可以在一般的web浏览器应用内、在本地容纳的应用或者移动应用内、或者在其它用户接口内提供BI门户24。可以使用应用软件和数据的任意组合来产生或者提供BI门户24,所述应用软件和数据是在产生BI门户的计算装置的本地和/或被远程容纳在一个或多个应用服务器或者其它远程资源中。
根据在下面更详细地描述的各种技术,BI门户24可以输出数据可视化以供用户观看和操纵。例如,BI门户24可以以用户可以操纵的图表或曲线图的形式呈现数据。BI门户24可以基于来自诸如(例如,用企业业务智能系统14或者其它BI仪表板产生的)BI报告的源的数据、以及通过公用网络15源自外部资源的其它类型的数据呈现数据的可视化。BI门户24可以基于可以源自企业内或企业外的数据来呈现数据的可视化。
图2描绘了企业业务智能系统14的另外的细节,以及如何通过与用于描绘和提供业务数据的可视化的BI门户24的交互来访问它。BI门户24可以提供数据的可视化,所述数据的可视化代表、提供来自或者链接到各种类型的资源中的任意一种的数据,所述各种类型的资源诸如为BI报告、软件应用、数据库、电子表格(spread sheet)、数据结构、平面文件、可扩展标记语言(“XML”)数据、逗号分隔值(CSV)文件、数据流、未组织的文本或数据、或者其它类型的文件或资源。例如,BI门户24还可以提供在实现了由BI报告工具22操作的虚拟数据写回的具有可编辑数据字段的BI报告中的数据的可视化。
如在图2描绘的例子中,BI报告工具22可以被容纳在企业应用25之中,或者可以被容纳在其它地方,在一些例子中,所述其它地方包括在客户端计算装置16A上,或者分布在企业业务智能系统14中的各种计算资源之中。BI报告工具22可以被实现为或者采取单机应用的形式、较大应用的一部分或者附加件(add-on)的形式、应用代码的库的形式、多个应用和/或应用的多个部分的集合的形式、或者其它形式,并且可以由任意一个或多个服务器、客户端计算装置、处理器或处理单元、或者其它类型的计算装置执行。
如图2描绘的,根据三层架构实现企业业务智能系统14:(1)提供具有用户接口功能的web应用23的一个或多个web服务器14A,所述web应用23包括服务器侧BI门户应用21;(2)提供用于企业软件应用25和数据访问服务20的操作环境的一个或多个应用服务器14B;以及(3)提供一个或多个数据源38A、38B、…、38N(“数据源38”)的数据库服务器14C。企业软件应用25可以包括BI报告工具22作为企业软件应用25中的一个或者作为企业软件应用25中的一个或多个的一部分或多部分。数据源38可以包括二维数据库和/或多维数据库或者数据立方体。可以使用各种供应商平台来实现数据源,并且所述数据源可以遍及企业地分布。作为一个例子,数据源38可以是为联机分析处理(OLAP)配置的多维数据库。作为另一个例子,数据源38可以是被配置为接收和执行某任意级别的复杂度的多维表达式(MDX)查询的多维数据库。作为另一个例子,数据源38可以是被配置为接收和执行也具有任意级别的复杂度的SQL查询的二维关系数据库。数据源38还可以包括一组或多组操作数据36(例如业务数据或者专有数据)以及一组或多组地理数据37(例如,公共地理数据、定制业务地理数据)。
多维数据结构是“多维的”,因为每个多维数据元素由多个不同对象类型定义,其中每个对象与一个不同维度关联。客户端计算装置16A上的企业应用26可以向企业业务智能系统14发出业务查询来建立报告。企业业务智能系统14包括提供到数据源38的逻辑接口的数据访问服务20。客户端计算装置16A可以通过企业网络18向数据访问服务20发送查询请求。数据访问服务20可以例如在企业软件应用25和数据库服务器14C中的下层数据源之间在应用服务器上执行。数据访问服务20根据查询规范从下层数据源检索查询结果集合。数据访问服务20可以例如通过提供给企业应用26的API来拦截或者接收查询。数据访问服务20可以然后将此结果集合返回给企业应用26作为BI报告、其它BI对象和/或对客户端计算装置16A上的BI门户24可访问的数据的其它源。这些可以包括由BI报告工具22产生的包括来自一个或多个下层数据源的数据的BI报告。BI报告工具22可以使得BI报告的一个或多个字段成为用户可编辑的,从而使得BI报告工具22在虚拟数据写回位置保存用户修改的数据条目,而不影响下层数据源中的原始数据,如下面进一步描述的。
诸如图2中描绘的BI报告工具22的本公开的示例性实施例可以实现BI报告中的虚拟数据写回。如上所述以及如下面进一步描述的,BI报告工具22可以被实现在一个或多个计算装置中,并且可以包括可以在一个或多个处理器上执行的一个或多个应用或者其它软件模块。根据下面描述的各种例子中的BI报告工具22的例子,可以说明性地描述本公开的示例性实施例。BI报告工具22可以使得BI报告的一个或多个字段成为用户可编辑的,在虚拟数据写回层保存用户修改的数据,并且根据用户修改的数据在BI报告中重新产生数据可视化。
本公开的BI报告工具22的各种实现可以具有下面的示例性优点。BI报告工具22可以是完全动态的,从而使得设计模式中的BI报告工具22的用户能够容易地指定BI报告中的单元作为能够数据写回的。BI报告工具22可以包括鲁棒的内置数据写回逻辑。例如,该数据写回逻辑可以使得应用开发者免于获取另外领域的知识,诸如数据过程编程、软件开发工具包(SDK)开发、或者数据输入表单开发。BI报告工具22可以使得客户免于必须为数据输入或更改建立分离的系统。对于BI报告的一个实例中的数据写回修改,BI报告工具22还可以实现在其他用户之间共享的相同的BI报告的其它实例之中的实时更新。
例如,BI报告工具22还可以一致地在其它平台特征和性质的上下文内实现虚拟数据写回,所述其它平台特征和性质包括安全环境、内置可伸缩性特征、以及对广泛多样的BI报告格式的支持。例如,用于BI报告工具22的安全环境可以包括用户认证和访问控制。例如,用于BI报告工具22的内置可伸缩性特征可以包括具有分布式服务的故障切换和负载平衡。例如,BI报告工具22支持的BI报告格式可以包括可移植文档格式(PDF)、超文本标记语言(HTML)、逗号分隔值(CSV)、以及电子表格文件格式。出于本公开的目的,BI报告的单元可以被称为是“数据可写的”,因为BI报告工具22实现了此单元中的虚拟数据写回功能。这样的单元也可以被类似地描述为“数据可更新的”、“数据可编辑的”以及“能够数据写回的”。
BI报告工具22可以在用于设计BI报告的设计模式和用于消耗BI报告的运行时模式两者中工作。图3和图4中分别描绘了在设计模式和运行时模式中工作的BI报告工具22的例子。
图3是根据一个例子的在设计模式中工作的BI报告工具22的BI报告用户接口(UI)44的屏幕截图。如图3所示,BI报告工具22的设计模式UI可以包括BI报告规范的布局。在各种例子中,BI报告工具22可以在浏览器应用中或者在专用报告工具应用中提供设计模式UI。BI报告工具22的UI 44可以包括数据写回表46、48以规定唯一键来指定特定数据字段成为用户可编辑的,以及接收用户修改的输入以存储在虚拟数据写回位置。在设计模式中,用作BI报告作者的用户可以在报告规范中规定对特定数据项实现数据写回所需要的上下文。根据一个例子,报告提供服务组件可以读取所述规范并且在报告输出中产生事件(诸如通过使用JavaScript)。可以根据使用JavaScript事件的BI报告工具22描述进一步的示例性实现,但要理解可以在其它例子中使用其它技术来实现类似功能。
当用户在BI报告设计模式UI中做出修改时,BI报告工具22可以使用JavaScript事件来跟踪客户端侧的用户修改,并且在本地存储器块中存储所述修改。在一些例子中,当用户输入保存命令(例如,点击保存按钮)时,BI报告工具22可以将用户修改发送给负责将用户修改提交到数据库或者其它数据源中的数据更新服务。如图3所示,BI报告工具22可以在设计模式UI中的报告规范的布局中包括用于一个或多个可编辑数据项的性质。在此例中,BI报告工具22包括性质“唯一键”和“写回查询项”。唯一键识别可编辑的数据,因此唯一地定义了数据应该如何被写回数据库。写回查询项识别写回到哪个调用目的地。图3还示出了其它帮助性质,诸如事务类型、输入类型和背景颜色。如果它是下拉列表,分离的查询将会被提供有“显示值”和“使用值”。
图4是根据一个例子的在运行时模式中工作的BI报告工具22的BI报告用户接口(UI)的屏幕截图。当数据项被定义为能够数据写回时,在HTML中用“可编辑”来标记它。如图4所示,用户能够从下拉列表的形式的数据字段52中选择数据或者更改数据。下拉列表52是用户可编辑数据字段的一个例子。在其它例子中,BI报告中的任意类型的数据字段还可以是由BI报告工具22实现的用户可编辑的数据字段以接收数据的用户修改。BI报告工具22可以使用附接到这些可编辑字段的JavaScript事件以跟踪用户做出的更改。当用户输入保存命令(例如,点击保存按钮54)时,BI报告工具22可以将收集的更改发送给数据更新服务以进行数据库提交。
图5描绘了根据一个例子的作为BI报告工具22可以工作的上下文的BI元数据模型60的概念图。BI元数据模型具有三层抽象层,业务层62由下层转换层64服务,并且转换层64由下层物理层66服务。BI元数据模型还具有引用业务层62的报告规范68。
物理层66可以代表数据库物理布局,诸如数据库表名和列名。转换层64可以将物理表和列转换成数据仓库形式,诸如度量和维度。业务层62可以隐藏物理表和列名并且向报告作者呈现更加人类可读的名字。报告规范68可以具有诸如布局、提示和查询等的信息。报告规范68的这些组件中的每一个可以具有对业务层62中的对象的引用,而不具有对物理层的直接引用。
图6描绘了根据一个例子的BI报告工具22执行BI报告的操作环境70的概念图。当用户从浏览器72运行报告时,BI报告工具客户端侧接口74可以向负载平衡分配器76发送请求,所述负载平衡分配器76将所述请求路由到BI报告工具22的报告提供服务78。BI报告工具22的报告提供服务78可以使用相关的元数据服务80和报告数据源38(如图2所示)来产生报告输出并且将报告输出发送回浏览器72。
如在下面的例子中,BI报告工具22可以使用数据写回处理流程。运行能够数据写回的BI报告与运行传统的只读BI报告可以在某些方式上具有类似的处理,但是报告提供服务还可以用数据写回特征来增强。如图7所示,基于报告规范,数据写回报告提供服务可以产生具有JavaScript和内置事件的报告输出以跟踪用户输入的对数据字段的更改。
图7描绘了根据一个例子的BI报告工具22执行BI报告的操作环境120的概念图。当BI报告工具22从浏览器72接收到“保存”指令122时,负载平衡器76可以将请求重定向到数据写回服务126。数据写回服务126可以利用元数据服务128分析基于业务层查询的更改上下文来产生SQL查询。数据写回服务126可以然后将SQL更新发送给数据访问组件124(例如,数据访问应用编程接口(API))以提交更改。一旦数据被写回,数据写回服务126可以将BI报告运行请求74发送给报告提供服务78。报告提供服务78可以根据报告查询项表达式用数据源38中的新数据或者来自替代数据源的新数据来产生输出,并且将输出发送回浏览器72。本公开的BI报告工具22从而可以包括数据写回报告规范、能够数据写回的报告输出和数据写回服务。
如下进一步描述本公开的数据写回报告规范的例子。如上所述,本公开的BI报告工具22可以在报告规范中包括唯一键和目标数据列。数据项中的这两个性质可以帮助识别数据更改,以及在何处将数据更改写回到数据源中。唯一键可以用作能够数据写回的报告的指示。当报告提供服务接收到具有唯一键的运行报告请求时,报告提供服务可以产生能够数据写回的报告输出。下面进一步描述报告输出的内容。唯一键具有包括源主键和目标主键的属性。所述键用于唯一地识别数据库中的行。源键说明在何处获得键值。因目标主键与数据库表和列关联,所以目标主键暗示在何处存储数据。目标数据列定义了要写回的数据列。
当源和目标键相同时,暗示数据要被写回到由源键定义的相同的表。当源和目标键不同时,来自源列的键值可以用于更新与目标主键关联的表中的行。目标数据项可以与当前数据项相同,或者可以是未定义的。数据然后可以被写回到与当前数据项关联的表列。当目标数据项与当前数据项不同时,数据可以被写回到不同位置,并且目标数据项可以与该不同位置关联,保持虚拟写回。数据建模器可以选择用于虚拟写回的位置,但是不同虚拟写回位置可以不必对报告作者显而易见。
在下面的例子中,主键值来自源主键,例如[Query1].[Order(订单)ID]和[Query1].[Order Item(订单项目)ID]。这些值被用作数据写回的主键。对于这些键值,BI报告工具22可以使用唯一表达式来解析数据在数据源(诸如数据库列、数据立方体、作为服务的储存器等)中的位置。在数据库例子中,BI报告工具22可以从查询项[Query1].[Aux Order(辅助订单)ID]、[Query1].[Aux OrderItem(辅助订单项目)ID]中解析数据库列。在维度模型中,BI报告工具22可以使用成员唯一名称(MUN)来解析数据源位置。BI报告工具22可以将用户对可编辑报告字段的修改写到与[Query1].[AUX Order Method Code(辅助订单方法代码)]关联的数据库列。源被暗示为[Query1].[Order Method Code(订单方法代码)],正如它是数据项。
表1
由于定义是基于查询的,它可以与物理数据库字段唯一地关联,或者从表达式导出。这可应用于源数据和目标数据两者。如下描述了另外的使用例子。下面在表2中说明了虚拟数据写回的一个示例性用例。
表2
在这个例子中,数据写回源来自[Query1].[Order Method Code],其基于表达式并且能够来自于两个位置。写回目标是[Query1].[AUXOrder Method Code]。当用户首次运行报告时,[AUX Order MethodCode]是空的,并且从[Order Method Code]读取数据。在用户对可编辑报告字段做出更改并且保存所述更改之后,BI报告工具22写数据[AUX Order Method Code]。当用户再次运行报告时,源现在来自[AUX Order Method Code],而不是[Order Method Code]。此后,将总是针对[AUX Order Method Code]而不是[Order Method Code]进行更改。在此处理中,[Order Method Code]只用于读取。本公开的BI报告工具22从而可以提供数据写回,而不将数据实际地写回原始源,或者换句话说,提供的是虚拟数据写回。在一些例子中,元数据建模器能够将表达式内置到元数据模型中,由此使得报告作者在不需要理解查询表达式的情况下执行虚拟数据写回。
下面在表3中说明了虚拟数据写回的另一个示例性用例。此用例包括写入不同目标表结构,这可以被称为虚拟结构写回。在此例中,BI报告工具22不要求数据写目标表具有与源数据表一样的结构。目标数据列可以如下面在表3中定义:
表3
在此例中,目标表只有一个键,所述键是来自源的两个键的串联。在各种例子中,目标表键可以是来自第一或原始数据源、或者来自包括第一数据源的多个数据源的任意数量的键的串联。
下面在表4中说明了虚拟数据写回的另一个示例性用例。在此例中,写回目标可以是基于部门或地理位置代码的不同位置。此用例可以被称为分布式数据写回。表4示出了此例的目标定义:
表4
目标数据项是由两个查询项组成的数据表达式。每个查询项可以代表在分离的数据库中的一个不同位置。
下面在表5中说明了虚拟数据写回的另一个示例性用例。此例包括业务事件驱动的数据写回。在一些例子中,BI报告工具22可以不限制源和目标逻辑。反而,BI报告工具22可以使得源和目标逻辑能成为业务驱动的,并且具有一组业务规则,例如由函数(例如,此例中的函数“Foo”)实现。在此例中,BI报告工具因此使得用户能编辑或修改数据字段以包括实现或执行算法或指令集的函数,而不是使得用户能修改数据字段只是来输入静态数据的修改项。所述函数可以实现算法或者其它可执行指令集,并且还可以包括一个或多个数据项,通过算法或指令可以对其起作用。虽然这里讨论了函数的例子,所述函数可以采用任意其它形式的可执行指令(诸如处理、方法、子程序、(功能编程中的)可执行数据、或者任意其它类型的指令,为了本公开的目的,其中的任意一种可以被一般地称为“函数”)的形式,或者由任意其它形式的可执行指令替代。例如,所述函数可以包括指令以根据一个或多个定义的业务规则至少部分地基于原始数据源中的原始数据项来处理或者产生输出。
表5
在一些例子中,BI报告工具22还可以用HTML输出实现数据写回。来自HTML格式的报告输出的示例性HTML片段可以是如下的片段:
BI报告工具22还可以使用应用编程接口(API)来帮助在BI报告中实现虚拟数据写回。表6中示出了名称为“AddChange”的API的用于支持BI报告中的虚拟数据写回的示例性API规范。
表6
在此例中,AddChange API可以跟踪用户输入的更改,并且将用户更改放入本地缓存(诸如本地JavaScript缓存)中。当用户输入保存命令(例如,点击保存按钮)时,BI报告工具22可以将缓存发送给服务器作为POST表单HTTP变量。在此例中,如果用户在没有输入保存命令的情况下离开BI报告的当前页面(以及如果自动保存特征不是活动的),则BI报告工具22可以清除缓存,有效地对任意输入的用户更改执行取消。同样,如果用户在没有首先保存任意更改的值的情况下输入命令以重新运行报告,则BI报告工具22可以清除本地缓存。
BI报告工具22可以使用当前值来跟踪在数据被检索之后用户是否输入了更改。如果当前值在数据库中被更改了,则可以执行数据库回滚。此技术可以保证数据事务的安全。
图8描绘了根据一个例子的用于本公开的数据写回服务的数据结构示图110。上面描述了如何识别唯一键组和数据列以将更改写回到数据库中。但是,这些表达式来自报告规范,并且可以被转换到物理层以产生本地数据库查询(例如以SQL)。BI报告工具22可以将这些业务层术语转换为物理数据库表名和列名。BI报告工具22可以使用能够从报告表达式返回数据库表达式的API请求来查询数据源。BI报告工具22可以例如使用SOAP消息(即,符合万维网联盟SOAP协议的消息)形式的API请求,如在下面的例子中:
此SOAP消息可以返回下面的表达式:
#'[gosales].[ORDER_METHOD].[ORDER_METHOD_'+$Language_lookup{$runLocale}+']'#
此表达式可以传达下面的信息:
[ORDER_METHOD]    表名
[ORDER_METHOD_'+$Language_lookup{$runLocale}+']    列名
利用此信息,在此例中,可以产生如下面在表7中示出的物理表列和查询项关系:
表7
利用适当的数据库锁定,BI报告工具22可以发出下面的数据库查询(例如以SQL),以检查要潜在更改的值是否已经由先前的用户更改。
SELECT COUNT(*)FROM ORDER_DETAIL
WHERE ORDER_ID='2110'and ORDER_ITEM='999'
and ORDER_METHOD_ID=3(3是原始值)
如果count返回为0,这意味着数据已经更改。BI报告工具22然后可以通过回滚更新请求和通知用户来响应。如果返回为1,这表明order method仍未更改,以及进行更新是安全的。BI报告工具22然后可以发出下面的数据库输入(例如以SQL):
UPDATE ORDER_DETAIL
SET ORDER_METHOD_CD=this.value(这是我们刚更改的新值)
WHERE ORDER_ID='2110'and ORDER_ITEM='999'
当需要时,BI报告工具22可以释放数据库锁定。BI报告工具22可以包括使得BI报告作者能实现基于查询的虚拟数据写回的服务器侧组件和客户端侧/UI组件中的一个或者两者。这可以包括在BI报告工具22使用的BI报告规范中定义的现有查询上增加数据写回属性的BI报告工具22。源信息可以包括一个或多个源唯一键表达式和源数据表达式,并且目的地信息可以包括一个或多个唯一键表达式和目标源数据表达式。所述表达式可以是基于元数据模型之上的查询、独立于物理数据库的查询,并且可以基于运行时信息评价所述表达式。
BI报告工具22可以因此根据条件实现向不同数据源的数据写回。即,BI报告工具22可以在BI报告数据源只读的情况下首次运行BI报告,并且在随后的运行中,BI报告工具22可以使用数据表达式来使得BI报告数据源成为可写的。BI报告工具22还可以基于用户在制作BI报告规范和在BI报告规范中指定实现写回的字段时可以选择的选项来实现不同数据写回目的地。
BI报告工具22因此可以在BI报告数据源是只读时或者在不允许用户更改源数据时实现虚拟数据写回体验。如果需要,BI报告工具22能够执行向多个数据库服务器位置的虚拟数据写回,例如这可以是基于地理代码的。此虚拟数据写回能力能够使得BI报告成为交互式的,并且使得用户能够分析修改BI报告中的数据的结果,或者探索对BI报告中的数据的计划或者假设更改的结果。
BI报告工具22可以使得用户能够使BI报告在只读和实现数据写回之间交替。BI报告工具22还可以提供一组键来唯一地识别BI报告中的数据更改项,以加强报告的只读形式和报告的数据写回修改形式之间的区别。BI报告工具22还实现了数据源和虚拟写回目标(作为原始数据源的替代数据储存库)之间的分离,使得数据项能够被写到虚拟数据写回目标并且在没有改动下层数据源的情况下好像修改了BI报告中的数据。在不同的例子中,BI报告工具22还可以使用数据储存库之间的一对一关系或者多对多关系,并且在设计时或在运行时动态地确定数据源和虚拟数据目标位置。
图9描绘了在一个例子中的在一个或多个计算装置(例如服务器、计算机、处理器等)上执行的BI报告工具22可以执行的示例性总体处理200的流程图。为了说明的目的,图9的描述涉及特定元素和图,并且不限于任意一个特定例子。BI报告工具22可以输出业务智能(BI)报告的初始版本,其中BI报告包括第一字段和第一BI报告元素,使得第一字段显示来自第一数据源的第一数据项,并且第一BI报告元素至少部分地基于第一数据项(例如,图4的BI报告UI50中的数据字段52)(202)。BI报告工具22可以接收指示第一数据项的修改形式的输入(例如,对数据字段52的用户输入,或者对数据字段52的例如来自其它应用或服务的计算机产生的输入)(204)。BI报告工具22可以至少部分地基于第一数据项的修改形式来产生第一BI报告元素的修正形式(206)。BI报告工具22可以输出BI报告的修正版本,所述BI报告的修正版本包括第一字段中的第一数据项的修改形式和第一BI报告元素的修正形式(208)。
图10是根据说明性例子的可以用于执行BI报告工具22的示例性计算装置80的框图。计算装置80可以是诸如图2中描绘的web服务器14A或应用服务器14B中的一个的服务器。在各种例子中,计算装置80还可以是用于提供企业业务智能应用的任意服务器,包括从任意数量的计算装置运行或者合并任意数量的计算装置的虚拟服务器。计算装置可以作为真实或虚拟服务器的全部或者部分来运行,并且可以是或者包括工作站、服务器、主机计算机、笔记本或膝上型计算机、台式计算机、平板、智能电话、功能电话或者任意种类的其它可编程数据处理设备。计算装置80的其它实现可以包括具有除此处描述的设备之外或者超过此处描述的设备的能力或者格式的计算机。
在图10的说明性例子中,计算装置80包括通信结构82,所述通信结构82提供处理器单元84、存储器86、持久性数据存储器88、通信单元90以及输入/输出(I/O)单元92之间的通信。通信结构82可以包括专用系统总线、通用系统总线、以分层形式布置的多条总线、任意其它类型的总线、总线网络、交换结构或者其它互连技术。通信结构82支持计算装置80的各种子系统之间的数据、命令和其它信息的传送。
处理器单元84可以是为执行存储器86中存储的编程指令而配置的可编程中央处理单元(CPU)。在另一个说明性例子中,可以使用主处理器与次处理器被提供在单个芯片上的一个或多个异构处理器系统来实现处理器单元84。在又一个说明性例子中,处理器单元84可以是包括相同类型的多个处理器的对称多处理器系统。处理器单元84可以是精简指令集(RISC)微处理器(诸如来自公司的处理器)、x86兼容处理器(诸如来自公司的处理器)、来自超微半导体(Advanced Micro)公司的处理器、或者任意其它合适的处理器。在各种例子中,例如,处理器单元84可以包括多核处理器(诸如双核或四核处理器)。例如,处理器单元84可以包括在一个封装或基底上的一个裸片和/或多个裸片上的多个处理器芯片。例如,处理器单元84还可以包括一级或多级集成缓存存储器。在各种例子中,处理器单元84可以包括跨越一个或多个位置分布的一个或多个CPU。
数据存储器96包括通过通信结构82与处理器单元84通信的存储器86和持久性数据存储器88。存储器86可以包括用于存储用于处理的应用数据(即,计算机程序数据)的随机存取半导体存储器(RAM)。虽然存储器86被概念地描绘为单个单片实体,但是在各种例子中,存储器86可以被布置在缓存的层级中和在其他存储器装置中、在单个物理位置中、或者跨越各种形式的多个物理系统分布。虽然存储器86被描绘为与计算装置80的处理器单元84以及其它元件物理地分离,但是存储器86可以同等地指的是在遍及计算装置80的任意位置处的任意中间或缓存存储器,包括接近处理器单元84或与处理器单元84集成的缓存存储器、或者处理器单元84的单独的核。
持久性数据存储器88可以包括一个或多个硬盘驱动器、固态驱动器、闪存驱动器、可重写光盘驱动器、磁带驱动器或者这些或其它数据存储介质的任意组合。持久性数据存储器88可以存储用于操作系统的计算机可读程序代码或计算机可执行指令、应用文件(包括程序代码、数据结构或数据文件)、以及任意其它类型的数据。这些计算机可执行指令可以从持久性数据存储器88被加载到存储器86以供处理器单元84或其它处理器读取和执行。数据存储器96还可以包括能够临时地和/或永久地存储信息(诸如,例如并且不限于数据、函数形式的程序代码、和/或其他合适的信息)的任意其它硬件元件。
持久性数据存储器88和存储器86是物理的、有形的、非暂态计算机可读数据存储装置的例子。数据存储器96可以包括要求被周期性地电刷新以在存储器中保持数据的各种形式的易失性存储器中的任意一种,然而本领域技术人员将认识到这也构成了物理的、有形的非暂态计算机可读数据存储装置的例子。当程序代码在非暂态物理介质或装置上被加载、存储、中继、缓冲或缓存时(包括如果只是为了仅仅短时段或仅仅以易失性存储格式),可执行指令可以被存储在非暂态介质上。
处理器单元84还可以被适当地编程为读取、加载和执行用于BI报告工具22的计算机可执行指令或者计算机可读程序代码,如上面更详细地描述的。此程序代码可以被存储在计算装置80中的存储器86、持久性数据存储器88或其它地方。此程序代码还可以采用在包括在计算机程序产品100中的计算机可读介质102上存储的程序代码104的形式,并且可以通过各种本地或远程装置中的任意一种从计算机程序产品100被传送或传输到计算装置80,以使其能够被处理器单元84执行,如下面进一步说明的。
操作系统可以提供诸如装置接口管理、存储器管理和多任务管理的功能。操作系统可以是基于Unix的操作系统(诸如来自公司的操作系统)、基于非Unix的操作系统(诸如来自公司的操作系统的家族)、网络操作系统(诸如来自公司的)、或者任意其它合适的操作系统。处理器单元84能够被适当地编程为读取、加载和执行操作系统的指令。
在此例中,通信单元90提供与其它计算或通信系统或装置的通信。通信单元90可以通过使用物理和/或无线通信链路提供通信。通信单元90可以包括用于与LAN 16对接的网络接口卡、以太网适配器、令牌环适配器、用于连接到诸如电话线的传输系统的调制解调器、或者任意其它类型的通信接口。通信单元90可以用于将很多类型的外围计算装置(诸如打印机、总线适配器和其它计算机)操作地连接到计算装置80。例如,通信单元90可以被实现为扩展卡或者被内置到主板中。
输入/输出单元92能够支持适于与可以连接到计算装置80的其它装置的数据的输入和输出的装置,诸如键盘、鼠标或其它指示器、触摸屏接口、用于打印机或者任意其它外围装置的接口、可移除磁或光盘驱动器(包括CD-ROM、DVD-ROM或蓝光(Blu-Ray))、通用串行总线(USB)插口、或者任意其它类型的输入和/或输出装置。在各种例子中,输入/输出单元92还可以包括用于任意类型的视频输出协议的视频输出和任意类型的监视器或其它视频显示技术的任意类型的接口。将理解,这些例子中的一些可以互相重叠,或者与通信单元90或数据存储器96的示例性组件重叠。输入/输出单元92还可以包括用于任意类型的外部装置的合适的装置驱动软件,或者在合适时这样的装置驱动软件可以存在于计算装置80上的其它地方。
在此说明性例子中,计算装置80还包括显示适配器94,所述显示适配器94提供用于一个或多个显示装置(诸如可以包括各种类型的显示装置中的任意一种的显示装置98)的一个或多个连接。将理解,这些例子中的一些可以与通信单元90或输入/输出单元92的示例性组件重叠。输入/输出单元92还可以包括用于任意类型的外部装置的合适的装置驱动软件,或者在合适时这样的装置驱动软件可以存在于计算装置80上的其它地方。在各种例子中,显示适配器94可以包括一个或多个视频卡、一个或多个图形处理单元(GPU)、一个或多个支持视频的连接端口、或者能够传输视频数据的任意其它类型的数据连接器。在各种例子中,显示装置98可以是任意种类的视频显示装置,诸如监视器、电视机或投影仪。
输入/输出单元92可以包括用于接收计算机程序产品100的驱动器、插座(socket)或者引出线(outlet),所述计算机程序产品100包括存储了计算机程序代码104的计算机可读介质102。例如,计算机程序产品100可以是CD-ROM、DVD-ROM、蓝光盘、磁盘、USB棒、闪存驱动器或者外部硬盘驱动器(作为说明性例子)或者任意其它合适的数据存储技术。
计算机可读介质102可以包括任意类型的光介质、磁介质或者其它物理介质,所述介质物理地编码程序代码104作为存储器的每个单元中的不同物理状态的二进制序列,当所述二进制序列由计算装置80读取时,诱导由处理器84读取的对应于存储介质102的基本数据存储元素的物理状态的物理信号,并且诱导处理器单元84的物理状态的对应的改变。该物理程序代码信号可以在各种抽象层次(诸如高级编程语言、汇编语言或者机器语言)中的任意一种处被建模或者概念化为计算机可读指令,但是最终构成一系列物理电气和/或磁相互作用,所述相互作用物理地诱导处理器单元84的物理状态的改变,由此以引起计算装置80物理地假设新能力的方式物理地引起或者配置处理器单元84来产生对应于计算机可执行指令的物理输出,所述新能力为直到通过加载包含在程序代码104中的可执行指令而改变它的物理状态时才具有的新能力。
在一些说明性例子中,程序代码104可以从其它装置或计算机系统通过网络被下载到数据存储器96以在计算装置80内使用。包括计算机可执行指令的程序代码104可以从计算机可读介质102通过到通信单元90的无线通信链路或者硬线,和/或通过到输入/输出单元92的连接,被传输或者传送到计算装置80。包括程序代码104的计算机可读介质102可以被定位在与计算装置80分离的位置或者远程位置,并且可以被定位在任意地方(包括在世界上任意地方的任意远程地理位置),并且可以在任意类型的一个或多个通信链路(诸如互联网和/或其它分组数据网络)上将程序代码104中继到计算装置80。例如,程序代码104可以在无线互联网连接上或者在短距离直接无线连接(诸如无线LAN、蓝牙TM、WiFiTM或者红外连接)上传输。在其它实现中还可以使用任意其它无线或者远程通信协议。
在各种说明性例子中,通信链路和/或连接可以包括有线和/或无线连接,并且程序代码104可以从源计算机可读介质102通过无形介质(诸如包含程序代码104的通信链路或者无线传输)被传输。程序代码104可以被更加或者不那么短暂或持久地存储在任意数量的中间的有形的物理计算机可读装置和介质上,诸如在从它的原始源介质到计算装置80途中的服务器、网关、网络节点、移动性管理实体或者其它网络资产的任意数量的物理缓冲器、缓存、主存储器或者数据存储组件。
如将被本领域技术人员所理解的,例如,本公开的各方面可以被实施为方法、装置、系统或者计算机程序产品。因此,本公开的各方面可以采取完全硬件实施例的形式、完全软件实施例的形式(包括固件、驻留软件、微代码等)或者组合软件和硬件方面的实施例的形式,在此都可以被统称为“电路”、“模块”或者“系统”。此外,本公开的各方面可以采取在一个或多个计算机可读数据存储装置或者计算机可读数据存储组件(包括其上实施了计算机可读程序代码的计算机可读介质)中实施的计算机程序产品的形式。例如,计算机可读数据存储装置可以被实施为可以包括有形数据存储介质(在一些例子中可以是非暂态的)的有形装置以及控制器,所述控制器被配置为接收来自诸如中央处理单元(CPU)的资源的指令以检索存储在有形、非暂态数据存储介质中的一个或多个特定地址处的信息,并且所述控制器被配置为检索和提供存储在数据存储介质中的这些特定的一个或多个地址处的信息。
例如,数据存储装置可以存储编码指令和数据两者的信息,并且例如,可以检索编码指令和/或数据的信息,以及将编码指令和/或数据的信息传输到诸如CPU的其它资源。例如,在各种实施例中,数据存储装置可以采取主存储器组件(诸如硬盘驱动器或者闪存驱动器)的形式。在各种实施例中,数据存储装置还可以采取其它存储器组件(诸如各种形式中的任意一种的本地缓存或者RAM集成电路或者缓冲器)的形式。作为各种说明性例子,这可以包括与控制器集成的缓存、与图形处理单元(GPU)集成的缓存、与系统总线集成的缓存、与多芯片裸片集成的缓存、集成在CPU内的缓存、或者CPU内的处理器寄存器。在各种实施例中,数据存储设备或者数据存储系统还可以采取分布式形式,诸如独立盘冗余阵列(RAID)系统或者基于云的数据存储服务,并且仍然被认为是作为本公开的系统的实施例的一部分或者组件的数据存储组件或者数据存储系统。
可以使用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质可以是,例如但不限于,用于存储数据的系统、设备或者装置,但不包括计算机可读信号介质。这样的系统、设备或者装置可以是这样的类型:包括但不限于电、磁、光、电磁、红外、电光、热辅助磁或者半导体系统、设备或装置,或者上述的任意合适的组合。计算机可读存储介质的另外的具体例子的非穷举列表包括:具有一根或多根导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存存储器)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储装置、磁存储装置或者上述的任意合适的组合。在本文档的上下文中,计算机可读存储介质可以是能够包含或者存储程序的任意有形介质,所述程序由指令执行系统、设备或者装置使用或者与其结合使用。
可以使用任意合适的介质(包括但不限于射频(RF)或者其它无线、有线线路、光缆等,或者上述的任意合适的组合)传输在计算机可读介质上实施的程序代码。在各种说明性例子之中,可以用一种或多种编程语言的任意组合来编写用于执行本公开的各方面的操作的计算机程序代码,所述编程语言包括面向对象的编程语言(诸如Java、Smalltack、C++等)、或者其它命令式编程语言(诸如C)、或者函数式语言(诸如Common Lisp、Haskell或者Clojure)、或者多范式语言(诸如C#、Phython或者Ruby)。在各种例子之中,一组或多组可应用程序代码可以部分地或者全部地在用户的台式或膝上型计算机、智能电话、平板或者其它计算装置上执行;作为单机软件包执行,部分地在用户的计算装置上并且部分地在远程计算装置上执行;或者全部在一个或多个远程服务器或其它计算装置上执行。在后一情况下,远程计算装置可以通过任意类型的网络(包括局域网(LAN)或者广域网(WAN))连接到用户的计算装置,或者可以连接到外部计算机(例如,利用互联网服务提供商通过诸如互联网的公用网络连接),对于所述网络还可以可选地使用虚拟专用网(VPN)。
在各种说明性实施例中,可以与在客户端计算装置上执行的一个或多个用户接口相关联地执行各种计算机程序、软件应用、模块或者其它软件元素,所述一个或多个用户接口可以与一个或多个web服务器应用交互,所述一个或多个web服务器应用可以在一个或多个服务器或者其它分离的计算装置上运行,并且可以执行或者访问其它计算机程序、软件应用、模块、数据库、数据存储或者其它软件元素或数据结构。例如,图形用户接口可以在客户端计算装置上执行,并且可以访问来自一个或多个web服务器应用的应用。可以使用HTML、CSS、JavaScript以及各种其他语言或技术的任何发布版本的任意组合,在web浏览器中或者与web浏览器相关联地提供或者执行浏览器或者专用应用图形用户接口内的各种内容。在各种说明性实施例中,可以由在一个或多个web服务器上执行并且以任意编程语言编写的计算机程序、软件应用、模块或者其它元素,和/或通过使用或者访问任意计算机程序、软件元素、数据结构或者技术来提供其它内容。
计算机可读信号介质可以包括其中实施了计算机可读程序代码的传播数据信号,例如,在基带中或者作为载波的一部分。这样的传播信号可以采取各种形式中的任意一种,包括但不限于电磁、光、或者它们的任意合适的组合。计算机可读信号介质可以是任意计算机可读介质,所述计算机可读介质不是计算机可读存储介质并且能够传输、传播或者传送程序,所述程序由指令执行系统、设备或者装置使用或者与其结合使用。
在此参考根据本公开的实施例的方法、设备、系统和计算机程序产品的流程图和/或框图描述了本公开的各方面。将理解,框图和/或流程图的每个方框,以及框图和/或流程图中的方框的组合,能够由计算机程序指令实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或者其它可编程数据处理设备的处理器,以产生一机器,使得通过计算机或者其它可编程数据处理设备执行的指令可以创建用于实现在流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
能够指导计算机、其它可编程数据处理设备或者其它装置以特定方式运行的这些计算机程序指令还可以被存储在计算机可读介质中,使得存储在计算机可读介质中的指令产生包括实现在流程图和/或框图中的一个或多个方框中规定的功能/作用的指令的制造品(articleof manufacture)。计算机程序指令还可以被加载到计算机、其它可编程数据处理设备或者其它装置上,以引起在计算机、其它可编程设备或其它装置上执行一系列操作步骤,以产生计算机实现处理,使得在计算机或其它可编程设备上执行的指令提供或者实施用于实现在流程图和/或框图中的一个或多个方框中规定的功能或者动作的处理。
附图中的流程图和框图说明了根据本公开的各种实施例的装置、方法和计算机程序产品的可能的实现的架构、功能和操作。关于这一点,框图或者流程图中的每个方框可以代表代码的一部分、模块或者片段,其包括用于实现规定逻辑功能的一个或多个可执行指令。应当注意,在一些实现中,方框中记录的功能可以不以附图中记录的顺序发生。例如,根据所涉及的功能,连续示出的两个方框实际上可以基本上并发地执行,或者所述方框可以以不同顺序执行,或者不同方框中的功能可以在不同但并行的处理线程中处理。流程图和/或框图中的每个方框以及流程图和/或框图中的方框的组合可以由专用基于硬件的系统、专用软件和通用处理硬件实现,所述专用基于硬件的系统执行规定的功能或动作或者可执行指令的组合。
为了说明和描述的目的已经提供了本公开的描述,并且本公开的描述不被视为穷举的或者限于公开的形式的公开。基于此处公开的概念,很多修改和改变将被本领域普通技术人员理解。为了解释示例性实际应用和本公开的原理,并且为了使得本领域其他普通技术人员能够理解对于具有各种修改(适合于考虑的特定用法)的各种实施例的公开,选择并且公开了所描述的特定例子。此处描述的各种例子和其它实施例在下面的权利要求的范围内。

Claims (17)

1.一种用于在业务智能(BI)报告工具中实现虚拟数据写回的方法,所述方法包括:
输出业务智能(BI)报告的初始版本,其中所述BI报告包括第一字段和第一BI报告元素,使得第一字段显示来自第一数据源的第一数据项,并且第一BI报告元素至少部分地基于第一数据项;
接收指示第一数据项的修改形式的输入;
至少部分地基于第一数据项的修改形式产生第一BI报告元素的修正形式;以及
输出BI报告的修正版本,所述BI报告的修正版本包括第一字段中的第一数据项的修改形式和第一BI报告元素的修正形式。
2.根据权利要求1所述的方法,还包括:
在与第一数据源分离的数据写回位置存储第一数据项的修改形式。
3.根据权利要求2所述的方法,其中所述数据写回位置是与第一数据源分离的一个或多个数据写回位置中的一个,所述方法还包括:
至少部分地基于目标数据表达式将第一数据项的修改形式存储在所述一个或多个数据写回位置。
4.根据权利要求1所述的方法,还包括:
将唯一源键与第一数据源中的第一数据项关联;以及
将唯一目标键与和第一数据源分离的数据写回位置的第一数据项的修改形式关联。
5.根据权利要求4所述的方法,
其中输出BI报告的初始版本包括引用所述唯一源键以在第一字段中显示来自第一数据源的第一数据项。
6.根据权利要求4所述的方法,
其中输出BI报告的修正版本包括引用所述唯一目标键以在第一字段中显示来自数据写回位置的第一数据项的修改形式。
7.根据权利要求1所述的方法,还包括:
将唯一源键与第一数据源中的第一数据项关联;以及
将唯一目标键与数据写回位置的第一数据项的修改形式关联,其中所述唯一目标键包括第一数据源中的两个或更多个唯一源键的串联。
8.根据权利要求1所述的方法,还包括:
在数据写回源中存储第一数据项的修改形式,其中所述数据写回源包括数据源查询表达式,所述数据源查询表达式可以解析成虚拟写回数据源或者第一数据源中的位置。
9.根据权利要求1所述的方法,还包括:
在虚拟写回数据源中存储第一数据项的修改形式,所述虚拟写回数据源包括在应用层中执行的元数据模型。
10.根据权利要求1所述的方法,还包括:
在包括函数的虚拟写回数据源中存储第一数据项的修改形式,所述函数可以包括指令以至少部分地基于原始数据源中的原始数据项产生输出。
11.根据权利要求1所述的方法,还包括,响应于选择存储选项的输入,存储BI报告的修正版本和唯一源键,所述BI报告的修正版本包括第一字段中的第一数据项的修改形式和第一BI报告元素的修正形式,所述唯一源键将来自第一数据源的第一数据项与用户可选择的选项关联以将来自第一数据源的第一数据项恢复到第一字段。
12.根据权利要求1所述的方法,其中所述BI报告包括一个或多个另外的字段,所述一个或多个另外的字段显示来自一个或多个数据源的一个或多个相应的另外的数据项,并且第一BI报告元素还至少部分地基于所述一个或多个相应的另外的数据项,所述方法还包括:
接收指示所述一个或多个相应的另外的数据项的修改形式的一个或多个输入;
至少部分地基于所述一个或多个相应的另外的数据项的修改形式产生第一BI报告元素的修正形式;以及
输出BI报告的修正版本,所述BI报告的修正版本包括第一字段中的第一数据项的修改形式和第一BI报告元素的修正形式。
13.根据权利要求12所述的方法,其中所述BI报告包括至少部分地基于所述一个或多个相应的另外的数据项的一个或多个另外的BI报告元素,所述方法还包括:
至少部分地基于所述一个或多个相应的另外的数据项的修改形式产生所述一个或多个另外的BI报告元素的修正形式,
其中所述BI报告的修正版本包括所述一个或多个另外的BI报告元素的修正形式。
14.根据权利要求1所述的方法,还包括:
接收指示第一数据项的随后修改形式的随后输入;
至少部分地基于第一数据项的随后修改形式产生第一BI报告元素的随后修正形式;以及
输出BI报告的随后修正版本,所述BI报告的随后修正版本包括第一字段中的第一数据项的随后修改形式和第一BI报告元素的随后修正形式。
15.根据权利要求1所述的方法,其中接收指示第一数据项的修改形式的输入包括经由用户接口接收用户输入。
16.一种用于实现业务智能(BI)报告中的虚拟数据写回的计算机系统,所述计算机系统包括:
一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读有形存储装置;
存储在所述一个或多个存储装置中的至少一个上的程序指令,用于经由所述一个或多个存储器中的至少一个由所述一个或多个处理器中的至少一个执行,以输出业务智能(BI)报告的初始版本,其中所述BI报告包括第一字段和第一BI报告元素,使得第一字段显示来自第一数据源的第一数据项,并且第一BI报告元素至少部分地基于第一数据项;
存储在所述一个或多个存储装置中的至少一个上的程序指令,用于经由所述一个或多个存储器中的至少一个由所述一个或多个处理器中的至少一个执行,以接收指示第一数据项的修改形式的输入;
存储在所述一个或多个存储装置中的至少一个上的程序指令,用于经由所述一个或多个存储器中的至少一个由所述一个或多个处理器中的至少一个执行,以至少部分地基于第一数据项的修改形式产生第一BI报告元素的修正形式;以及
存储在所述一个或多个存储装置中的至少一个上的程序指令,用于经由所述一个或多个存储器中的至少一个由所述一个或多个处理器中的至少一个执行,以输出BI报告的修正版本,所述BI报告的修正版本包括第一字段中的第一数据项的修改形式和第一BI报告元素的修正形式。
17.根据权利要求16所述的计算机系统,还包括:
存储在所述一个或多个存储装置中的至少一个上的程序指令,用于经由所述一个或多个存储器中的至少一个由所述一个或多个处理器中的至少一个执行,以将唯一源键与第一数据源中的第一数据项关联;以及
存储在所述一个或多个存储装置中的至少一个上的程序指令,用于经由所述一个或多个存储器中的至少一个由所述一个或多个处理器中的至少一个执行,以将唯一目标键与和第一数据源分离的数据写回位置的第一数据项的修改形式关联,
其中输出BI报告的初始版本包括引用所述唯一源键以在第一字段中显示来自第一数据源的第一数据项,并且
其中输出BI报告的修正版本包括引用所述唯一目标键以在第一字段显示来自数据写回位置的第一数据项的修改形式。
CN201410596823.5A 2013-10-31 2014-10-30 用于实现业务智能报告的虚拟数据写回的方法和系统 Expired - Fee Related CN104598216B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/069,055 2013-10-31
US14/069,055 US20150120604A1 (en) 2013-10-31 2013-10-31 Virtual data write-back for business intelligence reporting

Publications (2)

Publication Number Publication Date
CN104598216A true CN104598216A (zh) 2015-05-06
CN104598216B CN104598216B (zh) 2018-09-04

Family

ID=52996575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410596823.5A Expired - Fee Related CN104598216B (zh) 2013-10-31 2014-10-30 用于实现业务智能报告的虚拟数据写回的方法和系统

Country Status (3)

Country Link
US (2) US20150120604A1 (zh)
CN (1) CN104598216B (zh)
CA (1) CA2864914A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10565172B2 (en) 2017-02-24 2020-02-18 International Business Machines Corporation Adjusting application of a set of data quality rules based on data analysis
US11170117B2 (en) 2018-06-08 2021-11-09 Bmc Software, Inc. Rapid content deployment on a publication platform

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239508A1 (en) * 2006-04-07 2007-10-11 Cognos Incorporated Report management system
US20070266088A1 (en) * 2006-03-31 2007-11-15 Business Objects, S.A. Apparatus and method for report sharing within an instant messaging framework
US20090099881A1 (en) * 2007-10-12 2009-04-16 Business Objects, S.A. Apparatus and method for distribution of a report with dynamic write-back to a data source
US20110040802A1 (en) * 2009-08-11 2011-02-17 Alain Bonatti Shared business intelligence elements
CN102043594A (zh) * 2010-12-31 2011-05-04 中科海量存储技术(北京)有限公司 分布式环境下实现输入输出踪迹收集回放的系统和方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292822B2 (en) * 2006-01-03 2016-03-22 Motio, Inc. Supplemental system for business intelligence systems
US7885929B2 (en) * 2006-01-03 2011-02-08 Motio, Inc. Continuous integration of business intelligence software
US8090658B2 (en) * 2006-06-23 2012-01-03 International Business Machines Corporation System and method of member unique names
US7984115B2 (en) * 2006-12-08 2011-07-19 Microsoft Corporation Extensible application platform
CA2694874A1 (en) * 2007-07-27 2009-02-05 Dexton Software Corporation Sarl Actionable business intelligence system and method
US7945589B1 (en) * 2009-02-11 2011-05-17 Bsp Software Llc Integrated change management in a business intelligence environment
US9754230B2 (en) * 2010-11-29 2017-09-05 International Business Machines Corporation Deployment of a business intelligence (BI) meta model and a BI report specification for use in presenting data mining and predictive insights using BI tools
US9053440B2 (en) * 2011-12-30 2015-06-09 International Business Machines Corporation Adaptive customized presentation of business intelligence information
US9372596B2 (en) * 2013-01-28 2016-06-21 International Business Machines Corporation Assistive overlay for report generation
US9715331B2 (en) * 2013-03-15 2017-07-25 International Business Machines Corporation Generating an insight view while maintaining report context
US9792566B2 (en) * 2013-08-02 2017-10-17 International Business Machines Corporation Modeling hierarchical information from a data source

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070266088A1 (en) * 2006-03-31 2007-11-15 Business Objects, S.A. Apparatus and method for report sharing within an instant messaging framework
US20070239508A1 (en) * 2006-04-07 2007-10-11 Cognos Incorporated Report management system
US20090099881A1 (en) * 2007-10-12 2009-04-16 Business Objects, S.A. Apparatus and method for distribution of a report with dynamic write-back to a data source
US20110040802A1 (en) * 2009-08-11 2011-02-17 Alain Bonatti Shared business intelligence elements
CN102043594A (zh) * 2010-12-31 2011-05-04 中科海量存储技术(北京)有限公司 分布式环境下实现输入输出踪迹收集回放的系统和方法

Also Published As

Publication number Publication date
CA2864914A1 (en) 2015-04-30
CN104598216B (zh) 2018-09-04
US20150120605A1 (en) 2015-04-30
US20150120604A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
US10140737B2 (en) Dimension reducing visual representation method
JP2021511582A (ja) Sqlクエリプランを最適化するための次元コンテキスト伝搬技術
KR101033446B1 (ko) 데이터 통합 시스템의 사용자 인터페이스
US8788928B2 (en) System and methodology for development of stream processing applications utilizing spreadsheet interface
CN103970527B (zh) 为报表生成提供辅助覆盖的方法和系统
US9805145B2 (en) Composite simulation modeling and analysis
CN104699742A (zh) 使能扩展大型数据集的极端可视化
Pettit et al. The online what if? Planning support system
CN102725745B (zh) 用于移动业务对象的动态数据绑定
Deka Big data predictive and prescriptive analytics
Palmer et al. GridPACKTM: A framework for developing power grid simulations on high-performance computing platforms
Powell Mastering Microsoft Power BI: expert techniques for effective data analytics and business intelligence
Harinath et al. Professional Microsoft SQL server analysis services 2008 with MDX
Vermeulen Practical Data Science: A Guide to Building the Technology Stack for Turning Data Lakes into Business Assets
Nadipalli Effective business intelligence with QuickSight
US20170124455A1 (en) Generating business intelligence analytics data visualizations with genomically defined genetic selection
Barrasa et al. Building Knowledge Graphs
CN104598216A (zh) 用于实现业务智能报告的虚拟数据写回的方法和系统
Krishnan Building big data applications
Jackson et al. Distributed data management with ogsa–dai
Wickham Practical Java Machine Learning
Wei et al. Design thinking and cloud manufacturing: a study of cloud model sharing platform based on separated data log
US20140136257A1 (en) In-memory analysis scenario builder
US10255564B2 (en) Context specific resource editors
Kerzner et al. Big Data in Oil & Gas and Petrophysics

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20171123

Address after: Grand Cayman, Cayman Islands

Applicant after: GLOBALFOUNDRIES INC.

Address before: American New York

Applicant before: Core USA second LLC

Effective date of registration: 20171123

Address after: American New York

Applicant after: Core USA second LLC

Address before: American New York

Applicant before: International Business Machines Corp.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180904

Termination date: 20191030