跳转到内容

使用自定义函数构建报表

PlaidXL 报表是一个普通的 Excel 网格:一个维度的节点排在左侧,另一个维度的节点排在顶部,每个交叉点上用一个 PLAIDXL.CELL 公式从 PlaidCloud 表中汇总一个度量值。由于数值是公式,报表会根据当前数据重新计算,而无需每月重新构建。

来自 PLAIDXL.DRILL 的行区域FY2025FY2026总计EMEAAPACAmericas=CELL(…)PLAIDXL.CELL 结合了TABLE_REPR(“Sales”)MEASURE(“revenue”)MEASURE_TYPE(“sum”)DIMENSION_REPR(“Region”, row)DIMENSION_REPR(“Period”, column)→ EMEA 在 FY2026 的收入
每个单元格取其所在行的节点和所在列的节点,并按这两个节点汇总度量值。
  • 登录并选择包含数据的项目。
  • 需要一个带有数值列(例如 revenue)的表,以及每个报表维度各一列(例如 Region 和 Period),并且这些列已在 PlaidCloud 中链接到相应维度。CELL 按列名筛选,并且仅在已链接的列上通过其维度汇总节点。请参阅值。
  • 不确定确切名称?可在临时工作表上使用 =PLAIDXL.TABLE.TBL_LIST()、=PLAIDXL.TABLE.GET_COLUMNS("Sales") 和 =PLAIDXL.DIMENSION.DIM_LIST() 列出它们。

这些步骤使用名为 Sales 的表,其中度量列为 revenue,维度列为 Region(行)和 Period(列),并链接到同名维度。请替换为您自己的名称:在 DRILL 中使用维度名称,在 DIMENSION_REPR 中使用表的列名。

  1. 描述要度量的内容。 在工作表顶部的三个单元格中输入:

    B1 =PLAIDXL.REPR.TABLE_REPR("Sales")
    B2 =PLAIDXL.REPR.MEASURE("revenue")
    B3 =PLAIDXL.REPR.MEASURE_TYPE("sum")

    报表中的每个值都引用这些单元格,因此修改其中一个(例如用 "mean" 代替 "sum")会改变整个报表。

  2. 排布行。 在 A6 中,从行维度的顶层节点开始向下钻取:

    A6 =PLAIDXL.DRILL("Region", "Total", PLAIDXL.REPR.DRILL_KEY("1 level"))

    Total 及其子节点会向下溢出到 A 列,在其父节点下缩进并分组,便于折叠。使用 "all" 表示所有层级,或使用 "leaves" 仅表示最底层。如果想自己输入行节点,请在每个单元格中放入一个节点名称。

  3. 排布列。 从 B5 开始,在第 5 行中依次输入列节点,例如 FY2025 和 FY2026。

  4. 填充第一个值。 在 B6 中输入:

    =PLAIDXL.CELL($B$1, $B$2, $B$3, PLAIDXL.REPR.DIMENSION_REPR("Region", $A6), PLAIDXL.REPR.DIMENSION_REPR("Period", B$5))

    $ 符号固定了表、度量值和类型,固定了 A 列中的行节点,以及第 5 行中的列节点。DRILL 添加到节点名称的缩进会被忽略。

  5. 填充网格。 将 B6 向右复制到最后一个期间,再向下复制到最后一行。每个单元格显示其所在行的区域在其所在列的期间的收入。

若要添加适用于整个报表的筛选器(例如某一条产品线),请在顶部的单元格中再添加一个 DIMENSION_REPR,如 B4 =PLAIDXL.REPR.DIMENSION_REPR("Product", "Hardware"),并将 $B$4 传递给每个 CELL。

若要为每一行显示多个度量值,请将 PLAIDXL.CELLS 与 PLAIDXL.REPR.MEASURES 配合使用。

  • 强制完全重新计算以将当前值拉取到每个 PlaidXL 公式中:在 Windows 上,按 Ctrl+Alt+F9。除非公式的参数发生变化,否则普通的重新计算不会再次获取数据。
  • 更改范围:编辑构建块单元格,例如换用另一个表、度量值或聚合方式,或另一个顶层筛选节点。使用该单元格的公式会立即更新。
  • 对另一个项目生成报表:在任务窗格中选择该项目,然后强制完全重新计算。公式会读取当前所选项目的数据,因此同一个工作簿可以用于每个具有相同表名、列名和维度名的项目。

没有 PlaidXL 或无权访问该项目的人会在 PlaidXL 公式的位置看到错误。若要向他们发送数字,请先将公式替换为其值:

  1. 保存报表,然后另存一个新名称的副本用于发送。
  2. 在副本中,单击 PlaidCloud → Sanitize Workbook。
  3. 发送该副本。

Sanitize Workbook 会将工作簿中的每个公式替换为其当前值。Restore Workbook 会恢复公式,但无法完好恢复结果会溢出的公式(例如 DRILL),并且会覆盖您在清理之后所做的任何更改。请保留原始文件,这是找回实时报表的可靠方式。请参阅清理与恢复。