使用 OFFSET 引用超级数据块
本主题描述了 OFFSET 函数。它指的是“示例”应用程序中的样本报告 RP006。
OFFSET 函数并非 Application Studio 所特有的函数,但在使用超级数据块时该函数尤为有用。这是因为在“视图”模式下,超级数据块为动态。在“设计”模式下,超级数据块为静态。即,其占据单元格的特定范围。但在“视图”模式下,超级数据块随着其内容展开和折叠,从而使特定单元格参考变得毫无意义。例如,如果在超级数据块的外部有公式,且该公式必须引用超级数据块内部的单元格,则需要一个动态公式。
凭借 OFFSET,可通过指定与初始引用单元格相关的位置来标识单元格。可使用到初始引用单元格的行数和列数,使用表示距离的坐标来指定其位置。
此示例引用单元格 C13:
=OFFSET(F11,2,-3)
即,单元格 F11 是初始引用单元格。第二个参数 2 表示引用的单元格为 F11 下面的两行。第三个参数 3 表示引用的单元格为 F11 左侧的 3 列。
此示例还引用单元格 C13:
=OFFSET(B21,-8,1)
即,单元格 B21 是初始引用单元格。第二个参数 -8 表示引用的单元格为 B21 上面的 8 行。第三个参数 1 表示引用的单元格为 B21 右侧的 1 列。
Application Studio 中 OFFSET 的常见用途是计算在诸如 ABC 分析或 Pareto 图表中所用的累积值。如要计算累积值,可将当前单元格的值加到上面单元格的值上。但在超级数据块的动态环境中,无法使用静态单元格引用指定上面的单元格。
报告 RP006 给出了如何使用 OFFSET 计算累积值的示例。
报告 RP006 有创建于“示例”应用程序“分析”多维数据集的“产品”维度的超级数据块。此超级数据块有两个值单元格。在第一个值单元格中,ROC 公式显示了每组产品的一个值。在第二个值单元格中是 OFFSET 公式。
在“视图”模式下,单元格将重复第一个值单元格中的值。这是因为 OFFSET 公式不正确。
在单元格 E5 中的公式是:
=OFFSET(E5,0,0)+D5
若要更改 OFFSET 公式以便显示累积值: