跳转至

半累加指标

Aloudata CAN 支持用户在基础指标中为一个指标开启半累加指标标识。

定义

半累加指标指的是在部分维度上具备累加性(即可以进行求和、平均等聚合操作),而在其他维度上不具备此属性的指标。例如,库存数量可以在产品和地区维度上进行累加,但在时间维度上直接累加则不适用,因为库存通常表示某一特定时点的快照。

半累加指标的应用场景

库存数量

库存数量是典型的半累加度量。在产品和地区维度上,库存可以累加得出总库存。然而在时间维度上,直接累加不同时间点的库存会导致结果失真,因为各时间点的库存数据是相互独立的快照。例如,2023年1月的库存与2023年2月的库存不应直接相加。

银行账户余额

银行账户余额也是半累加度量的例子。在账户类型和地区维度上,余额可以累加。然而,在时间维度上,余额通常仅代表某一时点的状态,无法通过简单累加得到总余额。例如,不同月份的账户余额不应直接相加来反映总余额。

配置半累加指标

半累加指标的配置需要在基础指标的配置中开启半累加指标配置。

image.png

内容 说明
不可累加维度 必选,支持多选。当聚合发生时,指标在哪些字段上无法进行聚合。会在聚合前对不可累加维度进行筛选,选取最小或最大的值用来做聚合。(期末一般选取最大值,期初一般选取最小值)
窗口分组 非必选,支持多选。当聚合发生时,按照窗口分组的维度将数据先进行分组,再选取最小或最大值。
窗口选择 选择使用不可累加维度在窗口分组内的最大/最小值的筛选结果计算出聚合结果。

示例解析

接下来参考一个案例,在 Aloudata CAN 中使用 库存表 来计算 期末库存 指标。指标定义如下:

image.png

对于上述数据集,我们创建指标 [期末库存] ,用户在分析数据时,如果按月查看时,比如 7 月份的数据应只计算 2024-07-31 当日的库存数量进行累加求和,而不能将 2024-07-01 至 2024-07-31 多日的数据加和。但是我们发现在计算指标时,我们对 [仓库编号] 和 [商品编号] 进行了聚合的操作,因为不同的仓库和商品之间他们的库存是可以累加求和的。

说明

所以我们认为,指标 [期末库存] 是半累加指标

指标在 [日期] 维度上无法进行数据的累加,需要指定筛选出期末的数据进行加和。

指标在[product] 和 [region] 维度上可以进行数据的累加。" 所以我们认为,指标 [期末库存] 是半累加指标

使用半累加指标

指标 [期末库存] 开启了半累加指标,并有如下设置

在指标看板中使用指标,我们使用 [指标日期(月)] 维度查看 [期末库存] 时,查询结果将返回 2列。

image.png

其中 2024-07 单元格对应的结果是基于明细中标蓝部分的数据求和计算而得。

image.png