报表设计注意事项

下面是您在设计报表时要注意的一些事项。

报表和网格数据限制

EPM 云数据源限定了网格可以返回的最大单元格数量,此最大数量也适用于表单和即席网格。最大单元格数量会根据 EPM 云业务流程而有所不同。如果在预览网格或报表时达到此限制,您将收到以下错误:"Error executing query.The number of cells exceeds the maximum of <maximum amount>."(执行查询时出错。单元格数超出了最大值 <maximum amount>。)

如果报表结果太大,无法在浏览器中呈现(HTML 的网格单元格数限制为 180000,PDF 大小限制为 10MB),系统会提示用户下载 PDF 格式的报表,此时您可以选择 OK(确定) 进行下载,或选择 Cancel(取消)退出操作。

图表对象的数据集上限

图表数据集上限为 50 行乘 25 列(或者 1,250 个值)。

在查询中使用扩展数据段还是单个数据段

数据段是指从数据库中检索数据的行或列。扩展数据段是指可以扩展的行或列,这样在查看生成的网格时将扩展为两个或更多个行或列。通常,扩展数据段使用 Children OfDescendants Of 等函数。单个数据段是指在查看器中显示时仍为单行或单列的行或列。

尽管一般来说在同一网格中使用扩展数据段和单个数据段是有效的,但是在设计包含大量数据的网格时,应考虑使用扩展数据段而不是单个数据段。扩展数据段较之单个数据段具有一些性能优势;但是,要在不同的数据行或列上进行具体的格式设置,应使用单个数据段。

隐藏缺少的块

注:

只有 EPM 云产品支持隐藏缺少的块。

当行或列包含稀疏维时,您可以隐藏缺少的块来提高性能。隐藏缺少的块时,您可以将大型稀疏维放置在行中,同时在查询密度较低时可以实现较短的响应时间。只会检索包含数据的块。例如,如果将由数千个成员组成的员工维放置在行中,并将实体放置在页或 POV 中,则只会检索选定实体的员工。

当大量的行(例如 90% 或更多)处于隐藏状态时,隐藏缺少的块有助于隐藏缺少的数据。但是,在只有少数几行或没有行包含会隐藏的缺少的块时,选择隐藏缺少的块会降低性能。此外,某些隐藏的块可能会忽略动态计算成员。

重命名维和成员

如果重命名数据源中的维或成员,必须在 Reports(报表)中手动更新每个报表以反映这些更改。

性能注意事项

  • 尝试避免编写关系类型的报表

    • 关系类型报表的一个明显标志是,报表具有多个行维,这些维使用返回大量成员的成员选择函数(例如 Descendants 或 Bottom 函数)展开。

    • 执行大型报表需要大量时间。当报表单元格数量达到上万个时,报表就被视为大型报表。

    • 报表不应用作提取大量数据的工具。

  • 尽管对 BSO 多维数据集数据源中的稀疏维父代使用动态计算存储会提高计算和聚合性能,但这会对检索性能产生不利影响,尤其是在用于多个维时。如果您在数据源级别实施了这些存储设置,且报表检索用时较长,建议您重新检查使用的这些存储设置。

其他设计注意事项

设计报表时:

  • 使用扩展数据段以获得最佳性能:

    • 对不放置在单独的行或列中的扩展数据段使用函数。

    • 对不放置在单独的行或列中的扩展数据段使用多个成员选择。

    • 仅当格式设置或计算需要时使用单个数据段。

  • 编写高效的公式:

    • 在可能的情况下,使用行或列公式而不是单元格公式。

    • 使用引用属性。

    • 使用单元格引用而不是跨轴引用。

    • 从公式中删除不必要的圆括号。

  • 不要将报表限定于网格对象:

    • 在文本框中添加函数来突出显示特定区域。

    • 在报表中隐藏数据网格来仅突出显示图形。

在报表中进行舍入和总计操作

概览

在报表网格中显示数据值时,数据值显示为缩放值(例如,按“千”缩放的 173,545,723 舍入并显示为 173,546),这可能会导致缩放的余额明细总计结果不等于报表中的舍入小计和合计。可以修改网格设计以更正由舍入值导致的任何总计差异,方法是使用行或列公式来确定差异,并将其包含在“插入”数量中。

本主题提供了对一个简单网格需要进行的更新示例,在此网格中,缩放和舍入的 Current Assets 累计到 Total Current Assets 成员中。该示例使用 Narrative Reporting 示例应用程序。

报表中的问题

请注意以下网格设计,此时在单独的行中选择了单个 Current AssetsTotal Current Assets

  • 第一列为 Q2 的原始(或未缩放的)数据值。

  • 第二列为按单元格格式设置中的“千”缩放的 Q2 数据值。


解释报表中面临的问题

下面是网格预览,注意第二列中的缩放值。另请注意,第二列值总和为 904,569,这与显示的缩放合计 904,570 存在缩放差异 "1"。


预览报表

针对报表的解决方案

解决方案是在网格中创建一个用于计算差异的公式行,并将差异作为“插入”数量应用于行中的现有帐户之一(在我们的示例中为 Prepaid Expenses)。表示插入数量的行公式将替换 Prepaid Expenses 数据行,此行将不会显示出来。

该报表网格公式利用底层未缩放数据值,而不是显示的缩放值(例如,利用第一个单元格中未缩放的 173,545,723,而不是按千缩放的 173,546),在应用表示插入数量的行公式之前,需要先通过公式列对数据值应用舍入。原始数据列将不显示出来。

请注意,在下面修改后的设计中,第一列仍包含未缩放的数据值,第二列是公式列,此列使用以下列公式将数据列中的值舍入三位:ROUND([A],-3)。另请注意,公式列中使用了一个文本函数,用于显示第一个数据列中的成员名称。


解决报表中的问题

在(成员名称 114000)下面插入了一个公式行 - Prepaid Expenses 数据行,此行保存 Total Current Assets 成员 (110000) 和 Current Assets 帐户(第 5 行中的 Prepaid Expenses 数据值除外)总和之间的差异:[7] - SUM([2:4])。使用了一个“自定义”公式,该公式仅应用于所选单元格,而不是整个列或行。


在报表中添加公式

此外,为公式行标题指定了自定义标题 "Prepaid Expenses":


公式行标题

接下来,将 A 列和第 5 行隐藏:


行和列显示

在网格预览中,请注意,原始差异 "1" 插入原始 Prepaid Expenses124,569 中,从而得到值 124,570,此值现在正确计入 Total Current Assets 数量:


在舍入后查看报表