有关实现的重要事项

更新: 2009-04-30

在计划 PerformancePoint 规划实现时,需要作出一些重要决策。在开始构建应用程序之前,应分析以下几个方面并作出决策。

需要多少应用程序:一个还是多个?

许多规划考虑因素会对您决定创建一个还是多个 Microsoft Office PerformancePoint Server 2007 应用程序产生影响。首要考虑因素是元数据和业务对象定义的共享范围有多大。尽管多个应用程序的可伸缩性更强并且灵活性更高,但每个应用程序都可视为一个独立的数据容器,而且数据在各应用程序之间无法共享。

此外,PerformancePoint Server 仅允许每个应用程序使用一种日历。因此,如果贵公司具有使用不同日历的多种业务,则必须构建两个应用程序以适应您的组织结构。请务必确保您的应用日历与您的业务流程完全匹配。该日历不能修改;必须创建一个新的应用程序。

规划应用程序的模型站点时,需要确定贵组织是否有集中的流程和数据,或者是否有若干个业务类型大相径庭的部门。

如果贵组织是集中型的,则不必使用多个模型站点。即使贵组织是分散型的,但如果流程比较统一,各个业务部门汇报给公司总部的数据也比较规范,则可以使用多个模型站点在公司一级汇总数据。

但如果贵组织不是集中型的并且各个部门的数据并不一致,则可能需要对组织的不同部门采用不同的模型结构。为此,您可能需要创建多个应用程序。

将公司根模型站点与部门或业务部门模型站点分离还可以基于用户和角色来访问数据。在保证公司对规划过程中所使用的假设模型的控制方面,这一点很重要。

安全因素也会影响站点规划决策。如果您想要为建模者角色的成员指定不同的权限,可以通过创建模型子站点并在模型站点级别设置权限来实现。

其他要考虑的事项包括:

  • 不同的项目计划:负责规划、预算、预测或实际处理的人员使用的时间表可能不同,这会使最初在单个应用程序中实施项目比较困难。

  • 考虑启动小型应用程序:开始部署时,最好是启动多个应用程序,而长期目标是将其迁移到一个大型应用程序。这种方法不需要在业务团队之间进行过多协作,每个团队都可以有单独的日程安排。

  • 不同的本地要求:如果某个远程站点或子公司希望跟踪特定于站点或工作的项目,您可能希望将子站点用于该远程位置。这使得该子公司能够使用共享数据,但允许自定义。

  • 处理多个地域:尽管您可以在一个中央位置(如总部)安装 规划服务器以便让远程用户进行远程连接,但可能希望为远程位置创建子站点。这样,远程站点就可以使用 PerformancePoint Server 的数据集成功能定期将其数据移到总部。子站点应负责确保其仍符合公司站点的要求。

  • 可伸缩性:如果所有用户都共享同一应用程序,则可伸缩性应成为项目规划周期中的一项重要考虑因素。

选择模型类型

在 PerformancePoint Server 应用程序中创建模型时,可以从下面五种模型类型中进行选择:全局假设模型、汇率模型、含股份计算的财务模型、不含股份计算的财务模型和泛型模型。

在确定要包含在应用程序中的模型类型时,主要的考虑因素是如何使用模型及其数据,例如是要创建业务模型还是假设模型。此外,您可能还会发现不同的最终用户需要不同级别的数据,因此在最初规划时涵盖广泛的用户群是非常重要的。

例如,对于希望在报表中查看的数据,其建模方式可能应不同于仅用于制作财务报表的数据。主要用于财务报表的模型可能不包含销售人员数据,或者没有位于销售人员级别报表的正确级别,但此数据对于销售记分卡至关重要。在这种情况下,您可能需要将模型设计为提供可针对财务报表进行汇总的详细销售数据。

此外,您还可以创建一个给定类型的模型,或者创建属于同一类型、但用于不同目的的多个模型,使其成为上述方案的替代解决方案。

模型类型

模型类型 说明

泛型

最基本的模型类型。它可用于其他任何所需的模型类型,并且不包含任何用于会计逻辑的预定义规则。

全局假设

用于整个业务都适用的基准数据(如员工总数或价目表信息),或者用于财务模型中的业务驱动因素(如收入和支出假设)。

汇率

一种具有特殊用途的假设模型,用于按期间和换算类型跟踪系统中的所有币种的外汇值。

使用汇率模型时的一项重要考虑因素是:是否希望按多个频率(如每日、每月和每年)跟踪汇率。由于汇率模型不提供聚合功能,因此需要分别为应用程序中使用汇率假设的每个频率使用一个汇率模型。

不含股份计算的财务模型

包含内置逻辑以执行不含股份计算的合并。如果您有一个实体或者多个需要单独分析的实体,请使用这种模型类型。例如,该模型可用于创建公司成本模型或部门模型,例如专门供人力资源部门使用的模型。

含股份计算的财务模型

包含内置逻辑以执行合并(含股份计算)以及计算内部公司抵销。例如,如果您有多个实体并且需要在公司级别提供合并报表,或者如果您有多个并非完全所有的实体,则可使用此模型。此模型类型还可用于创建战略规划模型。

有关维度规划的考虑因素

PerformancePoint 规划提供了两个类别的维度:预定义维度和用户定义的维度。可以照原样使用预定义维度,但通常需要进行一些修改,以适应您当前的数据结构和命名约定。预定义维度的自定义范围比用户定义的维度的自定义范围更加有限。

在规划应用程序时,考虑每个维度中包含的维度成员数也非常重要。对于要包含许多维度成员的维度,您可以创建额外的维度成员集来限制每个模型的科目数,从而提高应用程序性能。

计算

可以使用服务器端计算或客户端计算,在 PerformancePoint 规划中实现业务计算。规划服务器中的服务器端计算显示为业务规则。这些业务规则使用 PerformancePoint Expression 语言 (PEL) 来表示用户要执行的计算。客户端计算通过 PerformancePoint Excel 加载项中嵌入的计算功能来实现。

服务器端计算

服务器业务规则中用 PEL 表示的计算实际上由 Microsoft SQL Server 引擎或 SQL Server 2005 Analysis Services (SSAS) 引擎来执行。若要在 SQL Server 引擎中执行计算,需要将该规则编译成 SQL 存储过程,然后再执行该存储过程以进行计算。若要在 Analysis Services 引擎中执行计算,需要将该规则编译成 MDX 查询语句或 MDX 计算脚本,然后再将其发送给 SSAS 引擎去执行。

通常,规则可以由上述三个平台(SQL Server 引擎、使用 MDX 查询的 SSAS 引擎或使用 MDX 脚本的 SQL Server Analysis Services 引擎)中的任何一个来执行。每个计算平台的性能和行为特征各不相同。下表概括介绍了这些特征。

执行平台 行为特征 性能特征 建议

SQL Server 引擎

计算由最终用户显式调用或由重新处理事件调用。

计算的数据会被具体化并写回到事实数据表。

不支持某些复杂的表达式。

计算会很好地处理数据稀疏度,即执行时间与事实数据大小而不是计算范围成比例。

在大多数情况下,如果计算可以按需调用或由重新处理事件触发,则这是理想选择。

需要注意超出 SQL Server 处理能力的数据爆炸和复杂的表达式。

使用 MDX 查询的 SQL Server Analysis Services 引擎

计算由最终用户显式调用或由重新处理事件调用。

计算的数据会被具体化并写回到事实数据表。

支持全部 PEL 表达式。

计算不能很好地处理某些类型的稀疏度。如果计算覆盖的范围很大,则性能可能会下降,即使实际的(非空)计算结果相对较小也是如此。

它适用于范围较小的计算。这是测试和调试计算的最简单的方法。表达式的功能比 SQL Server 引擎更强大。

需要注意较大的计算范围、数据爆炸和性能较低的问题。

使用 MDX 脚本的 SQL Server Analysis Services 引擎

计算由 SSAS 引擎自动调用和维护。无需任何用户调用或 Microsoft Office PerformancePoint Server 2007 触发事件即可执行计算。

计算结果不具体化,因此后端不存在任何数据爆炸问题。

计算的稀疏度处理能力较差。如果有多个计算并且其中一个触发了较大的计算范围,则性能将会非常低下。

如果希望计算实时并且自动进行,可使用此平台。

如果使用此类计算,则应注意其查询性能较低下。

简单的比率计算可通过 SQL Server 引擎或使用 MDX 脚本的 SSAS 引擎轻松完成。两者之间的差异在于数据扩展与运行时查询性能较低中间的均衡。

在使用 MDX 脚本的 SSAS 引擎中执行仅限叶级别的大范围计算的效率很低。这是因为每次发出此类查询时更高聚合级别的简单查询都会触发一个大范围的自动计算。这可能会对整个查询性能产生巨大影响。

客户端计算

规划服务器用户可在创作期间在工作簿的矩阵单元格中输入公式。规划使用“设计时公式”一词来指代这些公式。设计时公式使用 Microsoft Office Excel 中丰富的计算功能来支持客户端计算。可以在根级别定义设计时公式,而会在较低级别自动继承该公式。设计时公式是在创作表单时实现业务规则的简便方法。

注意注意:

过度使用设计时公式可能会降低表单呈现和数据提交的速度。

使用 Excel 公式使公司能够利用已在现有电子表格中定义的现有业务规则。公司可以采用增量方式将重要公式迁移到规划服务器,以便对其进行集中管理。

在输入数据时,用户还可以在可写区域中输入公式。规划服务器使用“运行时公式”一词来指代这些公式。运行时公式可用于强制实施业务规则并保证数据完整性。

Analysis Services 写回

规划使用 Analysis Services“写回”功能来预测性能效果。如果建议的性能效果不够好,我们建议您使用本地分配来减少 SSAS 服务器上的负载。有关详细信息,请参阅下一节“本地多维数据集(脱机分配)”。

本地多维数据集(脱机分配)

可以将PerformancePoint 规划配置为允许用户在执行数据输入任务时在联机、脱机或混合模式下工作。配置可以在每个模型级别或每个用户级别进行设置。

规划建模者可以在规划业务建模器中设置“AllowOffline”模型标志,以便为较大模型或含有敏感数据的模型启用脱机缓存。

规划参与者可以在 PerformancePoint Excel 加载项中设置“自动缓存分配”选项,以便在运行时环境中打开或关闭脱机缓存。默认情况下,这两个选项都是打开的。

联机模式:如果任一选项设置为“关”,则规划用户将在联机模式下工作。此时,数据不会下载到用户的计算机上。

本地模式:如果两个选项都设置为“开”,则在数据成功下载到用户的计算机之后,系统会自动将规划用户切换到本地模式(混合模式)。此时,用户的计算速度比在联机模式下时更快,因为计算是基于本地计算机上缓存的信息。

脱机模式:在将数据成功下载到用户的计算机之后,用户可能会选择完全脱机工作(即,没有到规划服务器的活动连接)。请在以下情况下使用此模式:

  • 不在办公室且无法连接到运行规划服务器的计算机。

  • 运行规划服务器的计算机因维护而不可用。

  • 在用户返回到联机模式并提交表单之前,所做更改不会保存到规划服务器数据库。

子多维数据集

报表作者在创建报表和表单时应考虑使用子多维数据集。因为整个数据集可能较大,所以下载脱机数据不但费时,而且还会增加 SSAS 服务器的负担。报表作者可在设计报表时为脱机分配定义子多维数据集。通过这种方式,当用户下载要脱机工作的分配时,只会将数据库的相关部分下载到用户的计算机。

有关数据加载的注意事项

规划服务器并非完整的提取、转换和加载 (ETL) 过程,不能用来构造从多个数据源提取、转换和加载数据的作业。

您需要定义自己的数据源以及源数据到规划模型的映射。维度和成员类型需要与规划类型相匹配(例如,必须映射科目成员的科目类型)。此外,您还需要确定是否可以执行任何转换、指定 ETL 过程的负责人员并制定移动数据的时间表。

数据集成涉及以下几个步骤:

  • 需要创建规划临时数据库。(此步骤只需执行一次)。

  • 规划临时数据库需要与 PerformancePoint 规划进行同步。每次结构发生更改时都需要执行这一步骤。

  • 必须使用外部 ETL 工具将数据从数据源加载到规划临时数据库。

  • 必须验证引用(维度和层次结构)数据和事实数据,并更正其中的错误。

  • 将数据从规划临时数据库加载到规划应用数据库。

此过程可使用 PPSCmd 和脚本自动完成。

规划将科目的数据在本地存储为借方和贷方。例如,将有贷方余额的贷方科目存储为正值,而将有借方余额的贷方科目存储为负值。将有借方余额的借方科目存储为正值,而将有贷方余额的借方科目存储为负值。

这意味着如果源系统根据数据的类型存储带符号的数据,则在加载该数据之前,必须先更改这些科目的符号。规划数据集成具有在加载数据时处理此问题的功能,但只能处理存储为负数的源贷方类型科目。如果您的系统使用不同的约定,则用于将数据从源系统传输到规划临时数据库的 ETL 过程需要负责更改符号。

仔细规划数据加载过程非常重要,因为如果规划不当,将导致模型、维度和相关成员集之间的数据不一致。

有关数据加载的一些重要考虑因素包括:数据加载频率、执行完全数据加载还是增量数据加载、涉及的数据量以及性能。

此外,您还需要考虑数据加载的时间和频率,以及由哪些用户负责完成这些过程。对于包含多个站点、多个模型的实施方案,这些问题尤其重要。

有关业务流程的注意事项

为了协调数据参与者、审阅者和审批者在业务流程中的合作,规划服务器使用了流程周期和数据输入表单。流程管理通过规划业务建模器来执行,而表单创作和数据提交通过 PerformancePoint Excel 加载项来执行。

除了业务和流程规划注意事项之外,数据协作规划还包括系统和工作流程规划。

系统考虑因素和工作流程

在规划 PerformancePoint Server 应用程序时,应该考虑用户所在地域的物流状况。例如,数据的参与者、审阅者和审批者是否遍布全球各地?

若要处理这种情况,您必须在设置分配截止时间时考虑时差,在多个地域的用户同时使用系统时考虑系统带宽,另外还要考虑多种货币的规划问题。

业务和流程规划考虑因素

当开始规划业务流程实施时,您需要考虑数据流。一个比较有用的规划步骤是对整个流程、用户及其在流程中的角色,以及数据流进行记录。

另一个重要考虑因素是流程类型。规划服务器中常用的一些业务流程类型包括:

  • 滚动或重复流程,如每季度的预测

  • 自上而下或自下而上的目标设置,如预算流程

  • 大型财务流程中的步骤,如合并

  • 用于支持其他流程的常规数据提交

在实现业务流程时,数据安全性也是一个重要的考虑事项。规划服务器按用户保护数据,并将其作为流程周期的一部分,因此确定哪些用户需要查看、编辑、审阅和审批数据是业务流程规划的重要组成部分。

特定于区域设置的会计规则可能会影响业务流程(如币种转换或财务合并),在规划过程中也应加以考虑。

当您计划要在业务流程中使用的数据输入表单时,应考虑以下事项:

  • 在表单中使用计算

  • 创建按用户每月自动更新的动态表单

  • 用户的技能集

  • 表单的复杂度

此外,任何涉及复杂计算或许多用户的流程都可能影响性能。如果对表单配置、计算定义、模型设计和数据流进行认真规划,则可以提高性能。利用 PerformancePoint Excel 加载项脱机功能也有助于提高性能和可伸缩性。

在规划要在应用程序中创建的表单数量时,还应考虑数据的生命周期,因为您可以在一个数据输入表单中查看多个模型中的数据,但表单的数据输入部分只能链接到一个模型。如果需要输入多个模型的数据,您必须创建多个模型站点或创建多个表单。

值得注意的是,规划服务器提供了数据审阅和审批流程,并且此功能可满足审阅和审批工作流程的基本要求。对于更复杂的协作,我们建议您在部署中集成 Windows SharePoint Services Web 部件。

安全注意事项

规划服务器的安全模型基于角色。用户被分配给各个角色,而用户在规划服务器系统中的权限级别由其所属的角色决定。角色分为以下两类:管理角色和业务角色。

业务角色

业务角色是为使用实际业务数据的用户定义的。请注意,数据管理员和建模者角色的成员可以不受限制地访问相应模型站点中的所有业务数据,即使他们属于具有受限设置的业务角色也是如此。

除非指定显式权限,否则默认权限适用于模型站点中的所有成员集以及业务角色中的所有用户。

显式权限将代替默认权限。您可以显式指定特定成员集或成员的读取或写入访问权限。

默认情况下,属于同一业务角色的所有用户都继承相同的权限。如果为成员集启用了自定义用户权限功能,则可以限制权限。使用此选项时,必须单独为需要具有对成员集的读取或写入权限的每位用户配置权限。

为需要业务数据的类似访问权限的用户设计业务角色。在创建角色之前,请确定角色成员的共享权限集,并选择最符合常见访问权限要求的默认权限级别以及显式权限。如果使用此设置作为起始点来定义数据的显式权限,则可以尽量减少必须对角色定义所做的修改。最佳安全做法是使用限制最多的适用设置。

为了获得最佳性能,在定义业务角色时,请尝试将对自定义用户权限的需要降到最低。当自定义用户的权限时,将创建一个新的 Analysis Services 角色。角色的数量会影响执行某些任务(如部署模型站点)所需的时间。

使用业务角色使得流程管理更加多变,也更易于设置,因为可以将角色用作分配定义的用户组。在将用户添加到分配定义中使用的角色时,会将该用户同时添加到适用的流程管理任务中。

管理角色

管理角色有全局管理员、用户管理员、数据管理员和建模者。除非全局管理员同时属于另一管理角色,否则他们不能连接到规划业务建模器中的服务器。用户管理员不具有对业务数据的读取或写入访问权限。建模者和数据管理员可以不受限制地对相应模型站点中的所有业务数据进行读写访问,即使他们属于具有受限设置的业务角色也是如此。

部署帐户

部署 PerformancePoint Server 时需要考虑下面两个帐户:规划服务器服务标识 (SI) 帐户和数据库管理员使用的帐户。SI 帐户用于与系统数据库和源数据进行通信。数据库管理员是创建并配置规划服务器数据库的人员。有关详细信息,请参阅《PerformancePoint Server 2007 部署指南》。

注意注意:

对于许多概念证明系统,可以很方便地使用单台服务器安装来实现一切,也可以很方便地将用户帐户添加到计算机中。但是,如果将规划的用户添加到安装了 Analysis Services 的计算机的管理员角色中,则默认情况下将向这些用户授予对 Analysis Services 数据库(包括规划服务器创建的数据库)中所有数据的完全访问权限。因此,在将用户帐户添加到计算机时应遵循最小特权原则。

有关设置管理角色和业务角色的其他信息,可查看规划业务建模器联机帮助。

其他注意事项

  • 成员集与成员视图的性能联系:成员集可转换成 Analysis Services 中的父子层次结构;成员视图可转换成分级层次结构。与处理父子层次结构相比,Analysis Services 处理分级层次结构的效率更高,因为它会预先聚合成员。如果成员集非常大或层次非常深,可能会出现性能问题。在这种情况下,您在设计报表时应考虑使用成员视图。

  • Analysis Services:如果您确定 Analysis Services 是性能瓶颈,请参阅 SQL Server 2005 Analysis Services Performance Guide(网址为 https://go.microsoft.com/fwlink/?LinkId=103090&clcid=0x804,此链接指向英文页面),以获取有关如何群集 SSAS 服务器的说明。

  • **层次结构:**如果您的层次结构会随时间变化或者已被修改,则可以创建多个成员集并在不同的模型中加以使用。

自定义扩展

PPSCMD

规划命令实用程序 (PPSCmd.exe) 是一种有助于管理规划服务器并可对其进行有限修改的工具。该工具包含十二个命令,可用来对规划服务器执行可编写脚本的操作。例如,PPSCMD 使您能够自动执行数据加载过程。

有关 PPSCMD 的详细信息,请参阅《PerformancePoint Server 2007 操作指南》。

客户端宏

在 PerformancePoint Excel 加载项中,您可以使用 Excel 宏功能来创建并运行宏。创建宏时,可以使用 Visual Basic for Applications (VBA) 来指定模块中存储的命令和函数。

注意注意:

如果希望通过 PerformancePoint Excel 加载项中的事件调用模块,则此模块的标题必须为“PerformancePoint”。

您可以使用下列 PerformancePoint Excel 加载项事件来调用 PerformancePoint 模块:

  • AfterRefresh:此宏在刷新任何工作表、工作簿或矩阵之后,或者在更改页面筛选器之后运行。

  • BeforeAssignmentAction:此宏在单击“转到”按钮(“操作”下拉列表旁边的箭头按钮)时(但在运行指定的分配操作之前)运行。

默认情况下,禁止通过 AfterRefreshBeforeAssignmentAction 事件运行宏。此选项可由规划管理控制台中的系统管理员加以启用或禁用;请与系统管理员联系以获得帮助。此外,对于这些事件,PerformancePoint Excel 加载项通过仅允许运行签名的宏来使用 Excel 宏安全模型。

Analysis Services 中的自定义

您可以直接向 Analysis Services 多维数据集添加自定义的 MDX 或计算度量值。每次部署该模型站点时都需要重新应用这些自定义更改。

自定义 SQL 存储过程和 MDX 脚本(本机规则)

如果 PerformancePoint Expression 语言 (PEL) 的限制对高级用户而言过于严格,规划允许您编写自定义本机 SQL 或 MDX 脚本。由于这些实现可能带来安全风险,因此规划要求必须审批这些规则。Microsoft Office PerformancePoint Server 2007 以低特权用户身份运行这些规则。

有关如何启用这些类型的规则的信息,请参阅《PerformancePoint Server 2007 操作指南》。

示例应用程序

在规划 PerformancePoint Server 应用程序时,另一可用资源是《Alpine Ski House (ASH) 示例应用程序指南》。《ASH 示例应用程序指南》提供了虚构的 Alpine Ski House 公司的情况,并说明了 ASH 决定转而使用 PerformancePoint Server 解决方案背后的动因以及 ASH 决定在创建示例应用程序时使用的结构。该指南还概括介绍了 ASH 所使用的应用程序实现流程,并包含一个使用 ASH 示例应用程序的示例预算流程。有关指向《ASH 示例应用程序指南》的链接,请参阅 Documentation map for Microsoft Office PerformancePoint Server 2007(网址为 https://go.microsoft.com/fwlink/?LinkId=103091&clcid=0x804,此链接指向英文页面)。