发明内容
概括地说,本发明涉及企业规划技术,该技术通过使机构能够使公司财务模型和机构目标与具体预测实时一致,来提高大型机构内部预算规划的精确性和可预测性。具体而言,该技术使用一种企业规划数据库系统,该系统具有用于和企业用户进行实时交互的事务数据区、以及用于具体的统计分析和报告生成的关系数据区。
根据该技术,企业规划系统使企业的自顶向下目标和具体的自底向上预测的一致被实现,并使该一致自动化。通常,企业规划系统提供企业规划的三个阶段:(1)建模阶段、(2)贡献(contribution)阶段、以及(3)一致(reconciliation)阶段。在建模阶段,被称为分析师的高层企业管理人员或执行者定义机构目标,并为企业创建规划模型。接着,在贡献阶段,一组被定义的贡献者(contributor)与企业规划系统交互,并以贡献数据的形式提供具体预测。企业规划系统将贡献数据存储在一个多维数据存储器内,比如,一个或多个多维数据立方体(cube)内。在一致阶段,企业规划系统使存储在多维数据存储器内的预测数据与机构目标自动一致。
在这个过程中,企业规划系统根据所定义的模型运行,以提供具有多个一致级别的分级规划过程。在每一个级别,企业规划系统向如分级模型所定义的企业审阅者(reviewer)提供贡献数据,并且要求审阅者使目标数据和预测数据一致。每个审阅者例如,可根据分析师所提供的公司目标拒绝或接受贡献数据。
当贡献者提供贡献数据时,企业规划系统自动地实时聚集整个企业的多维数据存储器中的贡献数据,并将所聚集的数据提供给审阅者供拒绝或接受。该过程一直持续到与机构分级结构的最高级别相关联的审阅者最终认可贡献数据为止,从而确保来自贡献者的贡献数据与公司目标一致。
如下文将要描述的,与企业用户相关联的计算装置给用户提供接口,以使用户可以在电子表格环境中和与企业规划会话相关联的多维数据存储器交互。概括地说,常规的电子表格应用程序如此处所述被扩展,以提供用于与企业规划系统所维护的多维数据存储器交互的功能性(functionality)。具体而言,扩展的电子表格应用程序的实例在计算装置上执行,并将多维数据存储器的一部分的二维表示提供给用户。比如,扩展的电子表格应用程序可给用户提供包括一个或多个工作表的工作薄。如此,扩展的电子表格应用程序起计算装置所维护的二维工作表和企业规划系统所维护的多维数据存储器之间的接口的作用。
企业规划系统可以利用“裁减(cutdown)”过程,通过该过程多维数据存储器被根据所定义的企业模型“切片(slice)”给每个用户。在该过程中,企业规划系统识别所定义的模型的、用户被分配给其作为贡献者或审阅者的区域,并根据分配将数据存储器“切片”。当给定用户登录并进行企业规划活动时,企业规划系统将相应的数据切片传送给相应的计算装置供通过扩展的电子表格应用程序向用户显示。
扩展的电子表格应用程序允许用户将多维数据格式化供显示在工作表内,从而利用电子表格应用程序所提供的功能性。比如,电子表格应用程序可构造具有控制“区域”的工作表并将其提供给用户。在一个实施方案中,扩展的电子表格应用程序所提供的工作表可以将一个工作表分成多个区域。第一区域可以包括和常规工作表数据相关联的数据单元。这些数据单元可以被视为存储或引用工作表内维护的“本地”数据。第二区域可以包括用于提供从企业规划系统接收的多维数据的数据单元。扩展的电子表格应用程序可以使用视觉提示,如单元阴影或文本颜色,向用户显示这些区域。而且,扩展的电子表格应用程序控制这些区域以确保企业规划系统所维护的多维数据的完整性。
如下文将要进一步详细描述的,扩展的电子表格应用程序允许用户操作电子表格应用程序来控制对存储在企业规划系统的多维数据存储器中的数据的检索。具体而言,扩展的电子表格应用程序支持一种绝对引用的形式,即,指定沿着用于他或她的特定数据存储器“切片”的数据存储器的维(dimension)的一个特定位置(location),并支持一种间接引用的形式,即,指定数据存储器的维内的一个特定位置,而无关于特定的模型切片,也就是说,无关于特定节点。因此,工作表模板,例如,可以利用间接引用功能性创建,并可在不同的企业用户间互换。由于使用扩展的电子表格应用程序所支持的间接引用功能,从企业规划系统接收并由模板提供的数据会随与当前工作薄相关联的特定节点变化。
此外,扩展的电子表格应用程序提供这样一种功能性,利用该功能性用户可以创建除常规的电子表格输出公式以外还利用输入公式填充一个或多个多维数据单元的电子表格。被输入到公式工具栏中的输入公式可以引用工作薄、其他电子表格工作薄、第三方系统或其他外部数据源中的常规数据单元。而且,用户可以将公式嵌入工作表中,以便扩展的电子表格应用程序确保企业规划系统所维护的数据的完整性。
在一个实施方案中,一种方法包括:从由企业规划系统维护的多维数据存储器下载多维数据以及企业规划模型的至少一部分;根据企业规划模型的被下载部分生成电子表格,用于提供所下载的多维数据;以及用电子表格应用程序向用户显示电子表格和多维数据。
在另一个实施方案中,一种系统包括:根据企业模型维护与企业规划会话相关联的多维数据的企业规划系统、以及通过网络连接到企业规划系统的计算装置。在计算装置上执行的电子表格应用程序包括:与企业规划会话通信并在计算装置上装入多维数据的一部分和企业规划模型的至少一部分的引擎;和文档管理模块,该模块基于企业规划模型的被下载部分提供数据表格的结构化表示,用于向用户提供多维数据的被下载部分。
在另一个实施方案中,一种计算机可读介质包括指令,该指令使计算装置的处理器:从由企业规划系统维护的多维数据存储器下载多维数据以及企业规划模型的至少一部分;根据企业规划模型的被下载部分生成电子表格,用于提供所下载的多维数据;以及用电子表格应用程序向用户显示电子表格和多维数据。
这里所描述的技术通过使机构能够使公司模型和机构目标与具体预测实时一致,可以提高企业规划的精确性和可预测性。该技术可提供一个实现协作、实时规划能力的平台,而不需要作预测的脱机合并和聚集。由于企业规划系统可以实时聚集贡献数据,所以所有用户都可以被提供精确的、最新的数值综览(view)。不管参与规划的企业用户的数目有多少,系统都提供快速的响应,因此提供了精确的规划信息。
而且,此处所描述的体系结构可容易地扩展至数千个用户,并可根据最佳规划实践进行设计。如此,系统可用来集中管理企业内部各个业务单元和系统的所有规划信息,从而创建一个“规划集线器”。因此,用户能根据单个规划数据池工作,并能确信数据的完整性。
此外,该技术促进了整个企业内的高度用户参与,使规划周期缩短,比如,从几个月缩短到几星期,并使诸如滚动预测之类的最佳实践得以快速实现。
而且,由企业规划系统提供的电子表格接口使用户在与复杂的多维数据存储器交互时可以利用(leverage)已有的电子表格功能性,比如,格式化、绘图、以及其他功能。
本发明的一个或多个实施方案的具体内容将结合附图和下文的描述给出。根据说明书、附图和权利要求书,本发明的其它特征、目的以及优点将是显而易见的。
具体实施方式
图1是图解使用户12A-12E(统称“用户12”)可以根据本发明的技术与企业规划系统14交互的系统10的方块图。在图1所示的系统中,企业规划系统14通过网络18通信地连接到多个计算装置16A-16E(统称“计算装置16”)。在整个规划过程中,用户12与它们相应的计算装置交互来访问企业规划系统14。
通常,企业规划过程可被分成三个阶段:(1)建模阶段、(2)贡献阶段、和(3)一致阶段。在建模阶段,被称为分析师的高层企业管理人员或执行者定义机构目标,并为企业创建规划模型。分析师可以包括,例如,财务分析师,如首席财务官、高级财务分析师或产品及销售分析师等。更确切地说,分析师设计一种具有分级设置的多个节点的模型,这些节点代表机构中的各个成本中心,如业务单元或部门。
在建模阶段,分析师还为机构分级结构的每个节点建立公司目标。然后分析师给每个节点分配一个或多个企业用户,如管理人员、监督人员、销售代表、实验室管理员等,该一个或多个企业用户负责该节点所对应的成本中心的企业规划。每个企业用户可以被指定为提供规划数据给企业规划系统14的贡献者、接受或拒绝来自贡献者的贡献的审阅者、或者两者。贡献者和审阅者可以是企业内部或其他连接到网络18的实体内部的授权用户,所述实体如供应商或客户。
最后,分析师可以定义多个模板,用来收集来自贡献者的企业预测数据。在一个实施例中,分析师可采用下文将作详细描述的电子表格应用程序定义模板。分析师将公司目标数据包括在模板或公司目标数据的引用(reference)中,以便于与预测数据的一致。公司目标和预测数据可以包括财务数据、收入数据、订单数据、库存数据等,取决于企业所实施的具体企业规划活动。
接下来,企业规划系统14进入贡献阶段,在该阶段,被指定为贡献者的企业用户12通过电子表格应用程序与企业规划系统14交互,以将具体预测以贡献数据的形式输入。如上文所述,企业用户12可以提供具体的财务预测、收入预测、订单预测、库存预测、估计资源需求等,取决于企业所实施的具体企业规划活动。
在一致阶段,企业规划系统14使预测数据和分析师所提供的公司目标数据自动一致。具体而言,企业规划系统14根据所定义的模型,即分析师所创建的企业规划模型,运行,以提供具有多个一致级别的分级规划过程。当每个贡献者提供他或她的贡献数据时,企业规划系统14自动地实时聚集整个企业的贡献数据,并向被指定为与企业的更高级别相关联的审阅者的企业用户12提供对所聚集的数据的访问。具体而言,接收到来自贡献者的贡献数据后,企业规划系统14识别机构模型的、所有受最新接收到的贡献数据影响的更高级别,并在每一级别实时计算新的聚集总计。
接着,审阅者在企业规划会话中实时查看整个企业的所聚集的数据。如下文将要描述的,审阅者可以使用下文将要详述的扩展的电子表格应用程序查看所聚集的数据。在每一个级别,企业规划系统14确保如企业模型的节点所定义的审阅者使目标数据和预测数据一致。每一个审阅者可以,比如,根据分析师所提供的公司目标拒绝或接受贡献数据。该过程一直持续到机构分级结构的最高级别最终认可贡献数据为止,从而确保来自贡献者的贡献数据与分析师所提供的公司目标一致。
如此,企业规划系统14可提供比常规技术更精确的企业规划。比如,企业规划系统14通过使机构能够使公司模型和机构目标与具体预测一致,可提高企业规划的精确性和可预测性。该技术可提供一个实现协作、实时规划能力的平台,而不需要作预测的脱机合并和聚集。由于企业规划系统14可以实时聚集贡献数据,所以所有用户12都可以被提供精确的、最新的数值综览。此外,企业规划系统14的体系结构可容易地扩展至数千个用户,并可以根据最佳规划实践进行设计。此外,该技术使企业用户12,即,贡献者和审阅者,的高度参与得以实现,使精确规划的周期缩短。
企业用户12可以使用各种计算装置通过网络18与企业规划系统14交互。比如,企业用户可以通过使用膝上型电脑、台式计算机等,运行万维网浏览器,如位于华盛顿州雷德蒙的微软公司的IE浏览器TM,来与企业规划系统14交互。或者,企业用户可以使用个人数字助理(PDA),如来自加利福尼亚的Santa Clara的Palm股份有限公司的PalmTM管理器,或者使用可上网(web-enabled)的蜂窝式电话、或类似装置。
网络18代表任何通信网络,如类似于因特网的基于包的数字网络。如此,系统10可被容易地扩展来适应大型企业。企业用户12可以通过局域网直接访问企业规划系统14,或者可以通过虚拟专用网、远程拨号、或类似的远程访问通信机制远程访问企业规划系统14。
如在这里将要详细描述的,计算装置16提供给用户12用户接口,以使用户可以在电子表格环境中和与企业规划会话相关联的多维数据存储器交互。概括来说,常规的电子表格应用程序如此处所述被扩展,以提供用于与企业规划系统14所维护的多维数据存储器交互的功能性。具体而言,扩展的电子表格应用程序的实例在计算装置16上执行,并将多维数据存储器的一部分的二维表示提供给用户12。比如,扩展的电子表格应用程序可以将包括一个或多个工作表的工作薄提供给用户12。每个工作表可以对应于多维数据存储器的不同“切片”,下文将进一步详细描述。如此,扩展的电子表格应用程序起计算装置16所维护的二维工作表和企业规划系统14所维护的多维数据存储器之间的接口的作用。多维数据存储器包括与规划过程的不同方面相关联的一个或多个数据立方体。比如,企业规划系统14可以维护与收益表相关联的第一数据立方体、以及与费用表相关联的第二数据立方体。
在规划过程的所有阶段,用户12可以与计算装置16交互以使用扩展的电子表格应用程序。比如,分析师可以使用扩展的电子表格应用程序为贡献者和/或审阅者定义模板。而且,贡献者和审阅者可以使用电子表格应用程序的扩展功能性查看和编辑与企业规划会话相关联的贡献数据。
比如,在一个实施方案中,扩展的电子表格应用程序包括与企业规划会话相关联的主菜单、以及在企业规划会话中帮助用户12的新工具栏。主菜单和工具栏为用户提供参与规划会话的功能性。比如,在主菜单项和工具栏上提供的功能性使用户12可以登录企业规划系统14。
企业规划系统14可以利用“裁减”过程,通过该过程多维数据存储器被根据所定义的企业模型“切片”给每个用户12。在这个过程中,企业规划系统14识别所定义的模型的、用户12被分配给其作为贡献者或审阅者的区域,并根据上述分配将数据存储器“切片”。当给定用户12登录并进行企业规划活动时,企业规划系统14将相应的数据切片传送到相应的计算装置16中,供通过扩展的电子表格应用程序显示给用户。如此,企业规划系统14不需要将整个模型传送给用户12中的每一个,从而减少了通信时间并降低了资源需求。而每个用户12只接收有关的信息。用户12与扩展的电子表格应用程序交互以捕获贡献数据,并使贡献数据和机构目标一致。
扩展的电子表格应用程序允许用户12将多维数据格式化供在工作表内显示,从而利用电子表格应用程序所提供的功能性。比如,电子表格应用程序可构造具有控制“区域”的工作表并将其提供给用户12。在一个实施方案中,扩展的电子表格应用程序所提供的工作表可以将一个工作表分成多个区域。第一区域可以包括与常规的工作表数据相关联的数据单元。这些数据单元可被看作是存储或引用该工作表内维护的“本地”数据。第二区域可包括用于提供从企业规划系统14接收的多维数据的数据单元。扩展的电子表格应用程序可以使用视觉提示,如单元阴影或文本颜色,向用户显示这些区域。而且,扩展的电子表格应用程序控制这些区域,以确保由企业规划系统14维护的多维数据的完整性。
如下文将要进一步详细描述的,扩展的电子表格应用程序允许用户12操作电子表格应用程序来引用存储在企业规划系统14的多维数据存储器中的数据。具体而言,扩展的电子表格应用程序支持一种绝对引用的形式以及一种间接引用的形式。
这种绝对引用功能性允许用户12中的一个特定用户指定沿着他或她的特定数据存储器“切片”的数据存储器的维的一个特定位置。更确切地说,扩展的电子表格应用程序所支持的该绝对引用功能性允许用户12与电子表格交互,并允许用户规定给定的数据单元引用沿着与该特定用户相关联的数据切片的维的特定位置。因此,扩展的电子表格应用程序只把与该特定用户12相关联的数据显示在工作表数据单元中。
相反,扩展的电子表格应用程序所支持的间接引用功能性允许用户12指定数据存储器的维内的一个特定位置,而无关于特定的模型切片,也就是说,无关于特定节点。换句话说,工作薄里的特定的多维数据单元可以引用沿着企业规划系统14所维护的数据立方体的维的位置,但不将该单元与特定节点相关联。因此,工作表模板,例如,可以利用该间接引用功能性创建,并可用于不同的节点。比如,用户可以使用该模板创建工作薄,用于操作与该用户被授权访问的不同节点相关联的数据。再如,用户可以与其他用户12互换模板,供用户用来操作与他们被授权访问的节点相关联的数据。由于使用扩展的电子表格应用程序所支持的间接引用功能,接收自企业规划系统14并由模板提供的数据随与使用该模板的用户12中的一个相关联的特定节点而变化。如此,公式和图表(graph)可被创建,并可在用户12之间共享,并且扩展的电子表格应用程序自动显示各个节点的正确数据。
另外,扩展的电子表格应用程序提供这样一种功能性,利用该功能性用户12可以创建除常规的电子表格输出公式以外还利用输入公式填充一个或多个多维数据单元的电子表格。比如,在一个实施方案中,扩展的电子表格应用程序提供公式工具栏,用户12利用该工具栏在多维数据单元中的一个中输入公式。被输入到公式工具栏中的公式可以引用工作薄、其他电子表格工作薄、第三方系统或者其他数据源中的常规数据单元,以将数据导入企业规划系统14。而且,用户12可以将公式嵌入到工作表中,以便扩展的电子表格应用程序确保企业规划系统14所维护的数据的完整性。
图2是更详细地图解一个计算装置16的示例实施方案的方框图。在图示的实施方案中,计算装置16包括电子表格应用程序22。电子表格应用程序22代表任何常规的电子表格数据分析软件应用程序,如由微软公司提供的Microsoft ExcelTM、Corel的QuattroTM Pro以及IBM的Lotus 1-2-3TM。在这里,将根据Microsoft Excel从示例的角度对本发明进行描述。根据本发明,电子表格应用程序22的功能性如此处所述被扩展,以给用户12提供在电子工作表环境中查看和编辑多维数据的能力,所述数据例如,位于企业规划系统14所维护的多维数据存储器内的数据。这允许用户12在与复杂的多维数据存储器交互时利用已有的电子表格功能性,比如,格式化、绘图、以及其他功能。
电子表格应用程序22包括控制模块24、运行引擎26、文档对象模块(DOM)组件28、以及COM接口30,它们可以包括可由处理器执行的指令。控制模块24可以是,比如,电子表格应用程序22在被用户12启动时装入或者以其他方式调用的软件模块。控制模块24包含软件代码,比如应用程序用的Visual Basic程序设计语言(VBA)代码,它将附加的功能性添加到电子表格应用程序22中,以为常规的电子工作表环境提供附加的功能性,用以使用户12可以在二维环境中查看和操作多维数据存储器的数据。如此,控制模块24扩展了电子表格应用程序22的功能性,以在二维工作表环境和企业规划系统14所维护的多维数据存储器之间提供接口。
运行引擎26封装和与企业规划系统14相关联的万维网服务器的通信,并且在一个实施方案中,是一组组件对象模型(COM)组件。运行引擎26可以,比如,响应来自控制模块24的指令,和与企业规划系统14相关联的万维网服务器协商,使用户12登录到企业规划系统14中,从多维数据存储器检索数据,并执行其他与企业规划系统14有关的操作。比如,在一个实施方案中,运行引擎26可以通过超文本传输协议(HTTP)和与企业规划系统14相关联的万维网服务器通信。
文档对象模型(DOM)组件28是一个提供电子表格工作薄31中元素的结构化表示的文档管理模块。具体而言,DOM组件28提供电子表格工作薄31中的各个元素和内容的结构化、面向对象的表示,以及检索和设置那些对象的属性的方法。DOM组件28还提供增加或移去上述对象的方法。
在用户12打开电子表格应用程序22时,电子表格应用程序22装入控制模块24以提供此处所描述的扩展的功能性。控制模块24可以,比如,增加与企业规划会话相关联的一个或多个用户定义的主菜单项,增加一个或多个用户定义的工具栏以帮助用户12参与企业规划会话,或者增加其他供与企业规划系统14所维护的多维数据存储器交互的用户定义的项。在一个实施方案中,控制模块24增加主菜单项,该主菜单项包括子项,比如使用户12可以登录到企业规划系统14的“登录”子项。替代地,或者额外地,控制模块24增加工具栏,该工具栏为用户12提供供使用电子表格应用程序24的附加功能性的按钮。新工具栏中的按钮可以包括,比如,使企业规划会话的节点离线的按钮、使该节点重新上线的按钮、选择工作薄31中工作表的维的按钮等。
用户12首先通过与企业规划会话相关联的新主菜单项的“登录”子项选择登录企业规划系统14。电子表格应用程序22可以要求用户12输入识别信息,比如用户名和密码。控制模块24命令运行引擎26与万维网服务器协商,并使用用户12输入的识别信息使用户12登录到企业规划系统14中。如此,控制模块24使用运行引擎26与企业规划系统14通信。控制模块24可以进一步命令运行引擎26下载计算引擎32并从企业规划系统14下载一个或多个数据立方体36。
计算引擎32是包(wrap)在用基于数组的语言(array-basedlanguage)构建的Active X控件中的前向计算引擎。数据立方体36是企业规划系统14所维护的多维数据存储器的“切片”,且与用户12相关联。具体而言,数据立方体36包含所定义的规划模型中、用户12所被分配到的区域的目标数据和预测数据。因此,电子表格应用程序22所下载的多维数据存储器的切片随使用电子表格应用程序22的用户12的身份而改变。
电子表格应用程序22可以本地存储数据立方体36,这样,所有计算可以在计算装置16内部本地执行,因此,下载完成后,用户12能在电子表格应用程序22内查看和修改预测数据,并通过COM接口30与计算引擎32通信以执行计算,而无需访问企业规划系统14。如此,用户12可以“离线”工作,并且将只经历数据立方体36最初被下载时的网络延迟、以及在会话结束时更新的数据立方体被保存时的网络延迟。替代地,电子表格应用程序22可以不下载数据立方体36,而是通过网络18访问与用户12相关联的多维数据存储器的切片。
当创建新的“规划激活(planning-enabled)”工作表时,电子表格应用程序22提供给用户12可供用户12访问的节点的列表。用户12可以为企业规划模型中该用户可以访问的每个节点创建一个或多个电子表格工作薄。每个工作薄只与一个节点相关联,但可以为企业规划模型中的每一个节点创建多个工作薄。
每个工作薄包括一个或多个工作表。一部分工作表是用户12可以与之交互以查看和操作数据的可视工作表。每个可视工作表对应于一个不同的数据立方体36。特别地,每个工作表根据用户12所指定的立方体维提供对其相应数据立方体的综览。除了一个或多个可视工作表外,工作薄还维护对用户12隐藏的一个或多个工作表。这些隐藏的工作表用以维护与综览有关的信息,比如格式化信息、以及用于多维数据单元的输入公式。
用户12从列表中选择一个电子表格工作薄以后,电子表格应用程序22将所选择的电子表格工作薄提供给用户12。在图2所示的实施例中,电子表格应用程序22将电子表格工作薄31显示给用户12。电子表格工作薄31是与用户12相关联的多维数据存储器的一部分的二维表示,所述一部分比如数据立方体36。
特别地,电子表格应用程序22在文档对象模型(DOM)组件28的帮助下,构造电子表格工作薄31并用数据填充电子表格工作薄31的工作表。该数据可以是电子表格工作薄31内维护的常规工作表数据与数据立方体36中维护的数据的组合。电子表格应用程序22用工作表内维护的“本地”数据填充常规工作表数据单元。
电子表格应用程序22填充多维数据单元,即,利用上面简要描述的引用技术引用远程多维数据存储器的数据单元。具体而言,电子表格应用程序用用户的数据填充使用绝对引用的多维数据单元,该用户的数据来自包含该用户的数据的指定的模型切片。在这种情况下,电子表格应用程序22从企业规划系统14所维护的多维数据存储器内的该指定的模型切片检索适当的数据。
电子表格应用程序22用沿着与用户12相关联的数据切片的维的数据填充使用间接引用的多维数据单元。电子表格应用程序可以,比如,从本地存储在计算装置16内的数据立方体36检索用于填充上述数据单元的信息。因此,提供给用户的、用于使用间接引用的多维数据单元的数据随当前工作薄所访问的特定节点而变化。
如上文中简要提到的,电子表格应用程序提供这样一种功能性,通过该功能性工作薄可以利用输入公式填充一个或多个多维数据单元。输入公式覆盖(override)用上文所述的引用技术填充的数据。在填充每个多维数据单元时,控制模块24访问工作薄31中的隐藏页面,以确定是否存在与该多维数据单元相关联的输入公式。如果没有,电子表格应用程序22根据上文描述的引用技术填充该多维数据单元。但是,如果控制模块24识别出与该多维数据单元相关联的输入公式,控制模块24就执行输入公式,并且用输入公式的结果填充该多维数据单元。如上文所述,输入公式可以引用电子表格工作薄31、其他电子表格工作薄、第三方系统等中的常规数据单元作为公式变量的输入值。比如,公式可以引用一个库存管理系统作为它的一个变量。在一个实施方案中,直到用户12输入执行工作薄31的输入公式的命令,输入公式才被执行。
在一种示例性实现中,电子表格应用程序22构造具有“区域”的工作薄31的工作表,并将其提供给用户12。比如,DOM组件28可以将工作表构造成第一区域和第二区域,该第一区域包括与常规工作表数据相关联的数据单元,该常规工作表数据比如由工作薄31所维护的数据,该第二区域包括与接收自企业规划系统14的多维数据相关联的数据单元。DOM组件28可以使用视觉提示向用户12显示这些区域。比如,当第一区域的数据单元具有普通的白色背景时,位于第二区域——即,与多维数据相关联的区域——内的数据单元可以具有灰色背景。替代地,或者额外地,可以使用其他视觉提示,如与数据单元相关联的文本颜色或者边框,区分不同的区域。
另外,控制模块24可以控制上述区域,以确保数据立方体36的多维数据的完整性。为此,控制模块24可以维护一套控制规则,用于控制用户与每个区域内的数据单元的交互。此外,控制规则可以规定电子表格应用程序22使模型变化一致的方式(比如,省略的项或增加的项)。举例来说,用户12可能不能操作通过绝对引用填充到数据单元内的信息,比如,由分析师输入的目标信息。
图3是图解企业规划系统14的一个实施例的方块图。企业规划系统14包括数据库服务器42。尽管仅根据单个数据库服务器对企业规划系统14进行了描述,但是企业规划系统14可以包括多个数据库服务器。
计算装置16与数据库服务器42交互,以访问包括用户数据54和模型数据56的企业数据53。企业数据53可以以多种不同形式存储,所述不同形式包括一个或多个数据存储文件(比如,数据立方体),或者在一个或多个数据库服务器上执行的一个或多个数据库管理系统(DBMS)。该数据库管理系统可以是关系数据库管理系统(RDBMS)、层次数据库管理系统(HDBMS)、多维数据库管理系统(MDBMS)、面向对象数据库管理系统(ODBMS或OODBMS)或对象关系数据库管理系统(ORDBMS)。另外,尽管企业数据56是被独立示出的,但是,它可以被合并到单个数据库或其他数据存储结构中。用户数据54和模型数据56可以,比如,被实现为单个关系数据库。
用户数据54存储每个企业用户12的信息,包括姓名、电子邮件(email)地址、以及其他联系信息。模型数据56存储由一组分析师定义的企业规划模型。模型数据56可以包括,比如,定义由分析师设计的一致过程的信息,包括多个一致级别、企业分级结构中的各个节点以及与节点相关联的企业用户12。此外,模型数据56存储用于捕获来自企业用户12的贡献和审阅数据的相应的电子表格工作薄模板。
电子表格应用程序22与数据库服务器42交互,以从模型数据56获取填充工作薄内的数据单元所需的数据。比如,电子表格应用程序22可以与数据库服务器42交互,以下载图2所述的示例实施方案中的数据立方体36。
图4是图解Pizza Palace股份有限公司——一个假想的比萨连锁店——的示例性分级企业规划模型60的示意图。模型60在水平方向上围绕被特权(franchise)占领的不同地理区域——区域1至区域5——构造,在竖直方向上被安排成三个一致级别。公司目的和目标由分析师设置,并且向下分配到分级结构的各个“节点”。被称为出口的各个特许店占据最低级别,级别I。费用预测数据在最低级别接收,并在每一个级别被调整成与目标一致。
每个节点对应一个或多个用户,该一个或多个用户负责输入预测数据或根据公司目标审阅预测数据。图4图解了三个贡献者:Guy、Peter和Andy。Guy是Pizza Palace股份有限公司的首席财务官,负责监督所有区域。因此,Guy被列为根节点62的“所有者”以及所有区域的“审阅者”。Peter是负责监督区域1的中层管理人员。因此,Peter被列为区域1的所有者以及出口A的审阅者。Andy,一个本地比萨店的管理人员,被列为出口A的所有者。
对于模型60的每个节点,对应的用户可以与一个或多个工作薄相关联。比如,级别I中的每个出口代表一个不同的节点,并且与一个或多个用户相关联。每个用户可以选择将一个或多个电子表格工作薄与他们各自的模型切片相关联,用以捕获预测信息和执行规划会话。在级别II,每个区域可类似地与一个或多个用户相关联,该一个或多个用户可创建工作薄。模型60的根节点62类似地与用户(Guy)相关联,该用户可以使用一个或多个规划激活工作薄作为其规划会话的接口。
图5是图解提供给用户12的、具有控制区域的示例性电子表格工作薄70的方块图。特别地,电子表格工作薄70包括第一区域72A以及第二区域72B,该第一区域72A包括至少一个多维数据单元74,该第二区域72B包括至少一个常规数据单元76。如上文所述,区域72可以使用视觉提示,如阴影、文本颜色和单元边框,向用户12进行显示。在图5所示的实施例中,区域72A被阴影处理成灰色,而区域72B为白色。
电子表格应用程序22可以控制区域72A,以确保与工作薄相关联的多维数据存储器的完整性。比如,电子表格应用程序可以维护一套控制规则,用于控制用户与区域72A内的多维数据单元的交互以及电子表格应用程序22与模型变化一致的方式。
作为第一实施例,电子表格应用程序可以控制数据单元74支持的引用类型。电子表格应用程序22可以支持多维数据单元74中的多种类型的多维数据引用。比如,多维数据单元74可以包括对企业规划系统14所维护的数据的绝对引用或间接引用,如上文所详述的。
此外,根据本发明,多维数据单元74可以包括输入公式。该输入公式可以存储在工作薄70的隐藏页面上,并且可以引用工作薄70、其他工作薄、第三方系统等中的其他数据单元作为公式变量的值。比如,公式可以引用库存管理系统作为它的一个变量。
图6是图解提供二维工作表环境的扩展的电子表格应用程序22的示例性操作的流程图,用户12可与该扩展的电子表格应用程序22交互以查看和操作企业规划系统14所维护的多维数据存储器。首先,用户12打开电子表格应用程序22(79)。如果用户12打开一个已经“规划激活”的工作薄(80),那么,用户能与该工作薄交互,以执行企业规划会话(81)。比如,用户可以与该工作薄交互,以输入或查看用于与该工作薄相关联的节点的贡献数据。如此处提到的,工作薄在下面的意义上来说是“规划激活”的,即电子表格工作薄已经与企业规划模型的节点相关联,并且定义模型的相关部分的数据和对应的规划数据已经以其本来的多维格式嵌入该模型内。
用户12结束她当前的规划会话后,用户可以本地保存她的工作(即,通过保存工作薄本身),或者可选择登录到企业规划系统12(81)并将数据保存到企业规划系统(83)。这样,用户12可以将工作薄内的规划数据和企业规划系统12所存储的对应节点的数据同步。在这个过程中,用户也可以选择“提交”规划数据,即,将数据标记为只读的(锁定的)及随时可审阅的。
但是,如果用户启动电子表格应用程序,而没有打开一个“规划激活”工作薄(79,80),则用户能从工作薄的主菜单工具栏选择“登录”子项。电子表格应用程序22接收来自用户12的登录命令,提示用户12输入登录信息,并使用户12登录到企业规划系统14(84)。控制模块24可以,比如,发送一条命令给运行引擎26,以和与企业规划系统14相关联的万维网服务器协商,并利用用户12输入的识别信息使用户12登录到企业规划系统14。如上文所述,运行引擎26可以通过超文本传输协议(HTTP)与万维网服务器通信。
在将用户12登录到企业规划系统14后,电子表格应用程序22将一个列有可能节点的工作流程对话框提供给用户12(86),该可能节点是指用户可以将其关联到当前工作薄的节点。如上文所述,规划激活电子表格工作薄可以与企业规划模型中的单个节点相关联(图5)。电子表格应用程序22从用户12接收识别节点的输入,并下载所选择的节点的相应模型切片和数据(88)。电子表格应用程序在工作薄内生成适当的工作表,以嵌入所下载的模型切片和数据,进而保存其本来的多维格式(90)。
然后,用户12可以与新工作薄交互,以执行企业规划会话(92)。如上所述,用户12结束她当前的规划会话后,用户可以本地保存她的工作,将工作薄内的规划数据和企业规划系统12所存储的对应节点的数据同步,和/或提交规划数据供审阅(95)。
图7是图解电子表格应用程序22填充工作薄的每个数据单元的示例性操作的流程图。首先,电子表格应用程序确定数据单元是常规数据单元还是多维数据单元(96)。电子表格应用程序22可以根据引用确定数据单元的类型。比如,如果数据单元引用存储在工作表内的数据,电子表格应用程序22可以确定该数据单元是常规电子表格数据单元。如果数据单元不是多维数据单元,电子表格应用程序22用工作薄内维护的数据填充数据单元(98)。
但是,如果数据单元是多维数据单元,电子表格应用程序确定是否存在与该多维数据单元相关联的输入公式(100)。电子表格应用程序22可以,比如,访问其中维护有输入公式的隐藏工作表,并确定是否有公式与该特定的数据单元对应。如果电子表格应用程序22识别出与该数据单元相关联的公式,电子表格应用程序自动检索公式变量的值(100),并运用公式获取结果(101)。电子表格应用程序可以,比如,从工作薄内的其他数据单元、从其他工作薄的数据单元、从企业规划系统14或者从第三方系统检索公式变量的值。电子表格应用程序22将输入公式的结果显示在数据单元中(107)。在一个实施方案中,直到用户命令电子表格应用程序22计算公式,公式才被计算。在这种情况下,数据单元可以利用接着要描述的技术来填充。公式一被计算,数据就被计算结果覆盖。
如果没有输入公式与数据单元相关联,电子表格应用程序22确定数据单元是否使用绝对引用(102)。如果数据单元使用绝对引用,电子表格应用程序22使用绝对引用检索数据(104),并将数据显示在数据单元中(107)。如上文所述,绝对引用可以指向与不同节点相关联的数据存储器的位置。这种情况下,电子表格应用程序22可以与企业规划系统14通信,以检索出合适的信息。替代地,如果用户是作出绝对引用的那个用户,该引用可以指向他或她的数据存储器“切片”,该切片可以被本地存储在他或她的计算装置16上。
如果数据单元没有使用绝对引用,而是使用间接引用,电子表格应用程序22从沿着与用户相关联的数据存储器的维的位置检索数据(106),并将数据显示在数据单元中(107)。
图8是打开电子表格应用程序22时提供给用户12的用户界面108的屏幕快照。如图8所示,典型的Excel用户界面被扩展以创建用户界面108。在被用户12打开时,电子表格应用程序22装入插件24来扩展Excel的常规功能性,以提供上文所述的附加功能性。特别地,用户界面108包括位于Excel的主菜单中的新菜单109。在图8所示的屏幕快照中,新菜单109被正好插入到数据(Data)菜单的右边,并被标为“贡献者(Contri butor)”。新菜单项109包括多个子项,包括登录子项在内,该多个子项使用户12可以,比如,使用用户名和密码连接到企业规划系统12。
图9是用户12登录到企业规划系统14后提供给用户12的用户界面110的屏幕快照。用户界面110提供给用户12工作流图112,其上列出由企业规划系统12确定的可由用户12访问的节点。在图9所示的实施例中,用户12可以访问两个节点:B1和B2。节点B1和B2是企业规划模型内用户被授权访问的节点,并且在该实施例中,节点B1和B2与不同的利润中心相关联。用户12选择一个能够被装入当前电子表格工作薄的节点。工作流图112还可以包括含有注释或说明的细节部分。在图9所示的实施例中,详细资料部分包括指示计划在星期五到期的用户说明。
图10是将所选择的节点装入到当前工作薄中后提供给用户12的用户界面120的屏幕快照。用户界面120向用户12提供Excel工作薄,用于查看和编辑图2中数据立方体36内的多维数据。用户界面120包括新的用户定义的工具栏122A-122C(统称为“工具栏122”)。工具栏122A提供给用户12多个用于执行功能的按钮,如,用于本地保存工作薄和将工作薄内的多维数据回存到企业规划系统14中的“保存(Save)”按钮;用于将多维数据提交给企业规划系统14和锁定多维数据以供审阅的“提交(Submit)”按钮;使节点离线的“离线工作(WorkOffline)”按钮;以及执行多维打印的“打印(Print)”按钮。
工具栏122B提供多个用于执行定位功能的按钮,所述功能如切换成本中心、工作薄形式以及工作表查看维。工具栏122C是一个公式工具栏,该公式工具栏给用户12提供用于创建和编辑多维单元的输入公式的界面。工具栏122C包括用来显示相关联的多维单元的公式的公式显示器、多个用于执行多维公式的按钮、以及多个用于删除多维公式的按钮。用户12可以使用工具栏122C执行单个多维公式、立方体中的所有多维公式、或者模型(比如,所有立方体)的所有多维公式。
用户界面120包括多个靠近工作薄的底部的工作表选项卡124。在图10所示的实施例中,工作表选项卡包括“产品价格和成本(Product Price and Cost)”工作表选项卡、“收益表(IncomeStatement)”工作表选项卡——即正在查看的当前工作表、“费用(Expense)”工作表选项、以及许多其他工作表选项。如上文所述,每个工作表选项卡对应一个与不同的数据立方体36相关联的工作表。尽管没有在图10中示出,但是存在多个对用户12隐藏的工作表。隐藏的工作表没有相关联的工作表选项卡,而且是不可由典型用户12访问的。如上所述,隐藏的工作表用来存储输入公式以及提供对Excel工作薄的工作表的格式编排。
图10所示的“收益表”工作表被构造并在区域126A和126B(统称“区域126”)中被显示给用户。区域126A包括包含多个多维数据单元的多维区域,区域126B包括包含多个常规Excel单元的Excel区域。区域126被使用视觉提示提供给用户12。在图10所示的实施例中,区域126被使用阴影、文本颜色、边框等向用户示出。特别地,多维信息区域,即,区域126A,包括具有灰色背景的多个多维数据单元。另一方面,区域126B的Excel数据单元具有白色背景。如此,界面120以一种使用户12可以轻易地把区域区分开的方式向用户12显示工作表。如上所述,对于每个区域126,电子表格应用程序22(图1)可以具有一套不同的控制规则,如关于模型变化(比如,省略的项目或增加的项目)及与区域126的单元的其他交互的不同控制规则。
图11是响应扩展的电子表格应用程序22内的鼠标右击提供给用户12的用户界面130的屏幕快照。如图11所示,用户界面130包括被称为“贡献者”的右击功能集中的用户定义的选项。在一些实施方案中,同样的功能集也可见于不同的菜单位置,如新的主菜单项102(图8)。右击功能集包括“复制位置(Copy Location)”和“复制相对位置(Copy Relative Location)”子项。这些子项对应于特定类型的多维引用。比如,“复制位置”对应于绝对引用,而“复制相对位置”对应于间接引用。
图12是用户界面140的屏幕快照,该界面包括并显示了与多维数据单元相关联的多维引用142。在图12所示的实施例中,多维引用是一个绝对引用,该绝对引用确定在位于第A列第2行的数据单元中显示的值。多维引用142从C单元(CCell)开始,它将该数据单元识别成多维数据单元。多维引用142引用为当前节点“B1利润中心”的数据立方体“收益表”。接着,该引用指定参数对。每对参数分别分别描述维以及沿着该维的项。在该实施例中,多维引用142所引用的维包括“月(Month)”和“版本(Version)”。所选择的月是“1月3日”,所选择的版本是“预算版本1”。
如上文所述,电子表格应用程序22还支持间接引用,该间接引用依赖于使用电子表格应用程序的特定用户。间接引用看上去类似于绝对多维引用142,只是用于指定节点的参数被留为空白,即“”,这表示引用还没有与特定的模型节点关联上。结果,从任何一个与工作薄相关联的节点检索数据。
图13是用户界面150的屏幕快照,在该界面中提供给用户12多个更新选项152。更新选项152包括手动刷新对多维数据的屏外(off-screen)Excel引用的功能、以及手动同步共有页面维的功能。
已描述了本发明的多种实施方案。这些及其他实施方案落入下面的权利要求书的范围内。