诊断 Financial Reporting 报表错误和性能问题

Financial Reporting 报表设计不佳可能会生成多个多维表达式 (MDX) 请求或 Essbase 查询,从而消耗大量的 Oracle Enterprise Performance Management Cloud 资源。当多个用户同时访问此类报表时,过度的资源消耗会导致性能下降。

注:

如果问题与报表相关,请参阅“对报表问题进行故障排除”。

报表中存在多个段是生成大量 MDX 请求的关键原因。本节介绍如何通过减少段的数量来提高 Financial Reporting 的效率。

重新设计报表:一个用例

原始报表

下图显示了原始报表设计:
原始报表设计示例
此报表图显示了以下设计元素:
  • 各个实体成员占用多行:100、200、403 和 500。

  • 每个实体成员有 8 行,每行对应一个不同的帐户。

下表显示原始报表设计和优化设计的高级视图:

原始报表设计 优化设计
各个实体成员占用多行:

100

200

300

400

将各实体成员合并成一段:

100, 200, 403, 500

每个实体成员有 8 行,每行对应一个不同的帐户。成员 100 的示例:

100 = Children of 1100

100 = 1100

100= Children of 1200

100=1200

100 = Children of 1300

100 = 1300 100 =Children of 1400

100 = 1400

将所有成员的所有段合并成一段:

Entity members 100,200,403,500=Children of 11

优化报表

下图显示优化后的报表设计,其中减少了段的数量。减少段的数量就可以减少 MDX 请求数,这样报表就会运行得更快:
重新设计的报表示例

其他重要的报表设计注意事项

  • 如果可以,针对 ASO 多维数据集设计报表。仅当 ASO 多维数据集不可用时,才针对 BSO 多维数据集设计报表。
  • 始终选择隐藏下的缺失的块,以确保报表中不包括缺少的块。
  • 最大限度地减少行数和列数。最佳实践:为列使用密集维,为行使用稀疏维。
  • 将报表设计为在所需的子成员级而不是父级进行查询。
  • 如果可能,避免使用具有大量成员组合的关系类型报表(使用函数展开多个行维的报表)。大型报表的执行可能需要大量时间(或可能不会执行)。单元格数超过一万的报表即视为大型报表。这与将 Financial Reporting 视为大规模数据提取工具类似,但事实并非如此。
  • 避免使用包含大量单元格的报表,这些单元格具有从数据源检索其他元数据的文本函数(例如,CellTextPlanningAnnotationsListOfCellDocuments 等)。
  • 使用当前 POV、提示符或帐簿而不是页维;执行报表时将一次检索所有页成员。
  • 考虑并测试条件格式设置和条件隐藏的影响,这可能会影响性能,具体取决于报表的大小。性能取决于在报表中使用的条件的类型和使用频率。属于元数据或数据查询一部分的条件(例如,数据值、成员名称、成员别名或说明)可以快速呈现。对于大型报表,尽量减少使用不属于常规元数据或数据查询的条件。此类条件的示例包括层代、级别、帐户类型和属性值。
  • 考虑维布局。例如,分析可将哪些内容从 POV 或页移动到报表主体。
  • 始终设计对称(与非对称)报表。Essbase 查询可能为对称或非对称。对称查询是指在行或列上查询的成员属于跨维布局的查询。非对称查询是指被查询成员的跨维布局在行或列中发生更改的查询。

    遇到非对称查询时,Essbase 混合查询引擎(仅处理对称网格)会自动将其分解为多个对称网格。一次只能处理一个对称网格,然后再以原始非对称形式将其返回,这使得流程的效率降低。

检查最近的应用程序更改

确定是否是最近的应用程序更改导致了报表生成速度减慢。您可以通过将当前“活动报表”的“应用程序大小”表中的信息与以前某个日期报表正常工作时“活动报表”中的信息进行比较来完成此操作。此外,还要检查最近对报表设计和使用所做的任何更改,以确保这些更改没有影响报表。

如何获取帮助

优化报表以减少 MDX 请求数之后,如果性能没有改进,请向 Oracle 技术支持寻求帮助:

  • 使用提供反馈实用程序收集 Oracle 支持人员在标识和修复问题时需要的一些信息。确保您同意将快照提交给 Oracle。请参阅“创建一个“提供反馈”提交”。
  • 提交一个技术服务请求,指出“提供反馈”实用程序创建的参考编号。请参阅“提交技术服务请求”。

    在服务请求中,回答以下问题:

    1. 第一次发现这个问题是什么时候?
    2. 最近是否进行了一些可能导致此问题的应用程序或用法更改?

    请将以下信息随服务请求一起提供:

    • 上次财务报表工作正常或按预期执行时所处环境的快照(如果有)。
    • 报表或报表帐簿名称。如果是报表帐簿,请确定出现问题的报表。
    • 所有 POV。
    • 正在使用的用户变量和替代变量。
    • 出现问题的行和列。
    • 预期报表生成时间和实际报表生成时间。
    • 您是否处于生产阶段(相对于实施阶段或测试阶段)
    • 此问题是否妨碍您执行关键业务操作;例如,妨碍您结束当前的财务周期或创建紧急报表用于管理。