Spotfire® 用户指南

综合年增长率

“综合年增长率 (CAGR)”表达式快捷方式计算给定时间段内平滑的年增长率。

要比较两种投资,您可以计算一段时间内的增长率,例如收入、生产水平或已注册用户的数量等。

使用的公式是



其中, 表示结束值, 表示起始值, 表示时间段内的年数。

示例

起点使用下方的条形图。其中显示了三年的季度销售额。



在下一个条形图中,快捷表达式“综合年增长率”已应用于值轴。



以下表达式用于值轴。

Sum([Sales]) THEN (Real([Value]/Sum([Value]) OVER (NavigatePeriod([Axis.X],"Year",-1)))^ (1/([X.Year] - First([X.Year])OVER (NavigatePeriod([Axis.X],"Year",-1)))))-1

此默认表达式计算从一年到下一年的增长率,而不是多年的增长率。要计算诸如两年内的年增长率,请使用以下表达式

Sum([Sales]) THEN (Real([Value]/Sum([Value]) OVER (NavigatePeriod([Axis.X],"Year",-2)))^ (1/([X.Year] - First([X.Year])OVER (NavigatePeriod([Axis.X],"Year",-2)))))-1

如果两年中每一年的增长率都一样,则此表达式会显示增长率。条形图将更改为以下外观。(箭头指向一个条形,用于解释下面表达式中计算的内容。)



表达式的第一部分指定将 [Sales] 列累加求和。这部分的结果进入 [Value] 列,在 THEN 后面的表达式中使用。

在 THEN 之后,首先转换为 Real 数据类型,以确保 ^(幂函数)适用于所有列类型,例如 Currency。

然后将每个节点除以两年前的相应节点,再将这个比值提高到 ½。(½ 是因为年数是两年。如果年数为三年,则将该比值提高到 ⅓。)然后将结果减去 1 以获得百分比。

由于在 OVER 关键字之前需要使用聚合,因此刚刚使用了聚合 First()。这会使您得到要减去的节点的第一个值,但是由于每个节点仅有一个值,因此这与选取节点的值相对应。

例如,计算 2021 年第二季度的“综合年增长率”:



这意味着平滑的年增长率为 22%,即两年后,金额为 200*1.22*1.22300。

(见下面的矩形。)



另请参见 NavigatePeriod()

展开模式下的列选择器

在已安装的客户端中,展开的列选择器提供了可以轻松更改表达式快捷方式中各种参数的控件:



显示名称 指定不同的显示名,而不是默认的“Compound Annual Growth Rate ([Column Name])”(可选)。
指定计算节点所在的轴。

只有执行某种分组的分类轴才会在下拉列表中显示。这意味着,如果在 X 轴上仅有一个分组,则这是唯一可用的轴,但是如果同时也根据类别列进行着色,则颜色轴也同时可用,诸如此类等等。

步数 定义要比较的节点间的步数。如果步数为 -1,则将计算当前节点和其前节点间的差异。如果步数为 1,则将计算当前节点和其后节点间的差异。
格式 更改轴的格式。例如,更改为“数字”可以数字而非百分比的形式显示值。
隐藏空值 创建“显示/隐藏”规则,可隐藏所有空值。单击属性符号 可访问“显示/隐藏”属性以编辑或删除规则。