03 · 行集合上的聚合
场景
在数据块下方追加一行合计页脚,对其上方的数据块求和。或者把跨源聚合(例如全公司总和)拉进表头单元格。
裸括号聚合 — 作用于数据块
{{ SUM([续约金额]) }}
{{ COUNT([续约金额]) }}
{{ AVERAGE([续约金额]) }}
{{ MIN([续约金额]) }}
{{ MAX([续约金额]) }}
在数据块里使用时,这些函数会沿正在迭代的源行累加。在页脚行(数据块下方的行,数据块所在的行不含模板块)里使用时,同一表达式指代刚刚展开完成的数据块。
| A1: 客户 | B1: 续约金额 |
| A2: {{ [客户] }}| B2: {{ [续约金额] }} | ← 数据块
| A3: 合计 | B3: {{ SUM([续约金额]) }}| ← 页脚
按 3 条源数据展开后:第 3 行变为第 5 行,B5 显示三个 续约金额 的总和。
源限定聚合 — 作用于整张源
{{ SUM(续约记录[金额]) }} # 整张源,而非活动数据块
{{ COUNT(客户名单[客户]) }}
写成 SUM(SourceName[Column]) 时,xl3 会对整张指定源求和——而不是过滤或连接后的数据块。这种形态适合表头里那种"总合计"单元格,即使数据块被过滤也不应改变其值。
续约记录 是 __sources__ 中声明的名字。参考 Recipe 07。